Browse Source

promql: Remove unused Point.MarshalJSON method (#9860)

JSON marshaling is only needed for the HTTP API. Since Point is such a
frequently marshaled type, it gets an optimized treatment directly in
web/api/v1/api.go. The MarshalJSON method still provided in the promql
package is therefore unused and its existence is confusing.

Signed-off-by: beorn7 <beorn@grafana.com>
pull/9864/head
Björn Rabenstein 3 years ago committed by GitHub
parent
commit
427425cc9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      promql/value.go

9
promql/value.go

@ -77,6 +77,9 @@ func (s Series) String() string {
} }
// Point represents a single data point for a given timestamp. // Point represents a single data point for a given timestamp.
//
// Note that Point's JSON marshaling is done in an optimized fashion in
// web/api/v1/api.go. Therefore, no MarshalJSON method is provided here.
type Point struct { type Point struct {
T int64 T int64
V float64 V float64
@ -87,12 +90,6 @@ func (p Point) String() string {
return fmt.Sprintf("%v @[%v]", v, p.T) return fmt.Sprintf("%v @[%v]", v, p.T)
} }
// MarshalJSON implements json.Marshaler.
func (p Point) MarshalJSON() ([]byte, error) {
v := strconv.FormatFloat(p.V, 'f', -1, 64)
return json.Marshal([...]interface{}{float64(p.T) / 1000, v})
}
// Sample is a single sample belonging to a metric. // Sample is a single sample belonging to a metric.
type Sample struct { type Sample struct {
Point Point

Loading…
Cancel
Save