backend: use latest go plugin sdk (0.74.0) to sort wide frames (#26207)
This makes it so results are more stable between refreshes of data and fixes sorting issues with Azure Application Insights service as well as the two Azure Analytics services.
fixes #22937
(cherry picked from commit c1ede4fc71)
This commit is contained in:
committed by
Dominik Prokop
parent
56a0b90559
commit
28978db293
@@ -106,6 +106,11 @@ func InsightsMetricsResultToFrame(mr MetricsResult, metric, agg string, dimensio
|
||||
}
|
||||
rowCounter++
|
||||
}
|
||||
|
||||
if err := data.SortWideFrameFields(frame, dimensions...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return frame, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ func TestInsightsMetricsResultToFrame(t *testing.T) {
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "segmented series",
|
||||
name: "multi segmented series",
|
||||
testFile: "applicationinsights/4-application-insights-response-metrics-multi-segmented.json",
|
||||
metric: "traces/count",
|
||||
agg: "sum",
|
||||
@@ -78,12 +78,8 @@ func TestInsightsMetricsResultToFrame(t *testing.T) {
|
||||
time.Date(2020, 6, 25, 16, 15, 32, 14e7, time.UTC),
|
||||
time.Date(2020, 6, 25, 16, 16, 0, 0, time.UTC),
|
||||
}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Washington", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Tokyo", "client/countryOrRegion": "Japan"}, []*float64{
|
||||
nil,
|
||||
}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Des Moines", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
pointer.Float64(1),
|
||||
}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "", "client/countryOrRegion": "United States"}, []*float64{
|
||||
@@ -94,10 +90,14 @@ func TestInsightsMetricsResultToFrame(t *testing.T) {
|
||||
nil,
|
||||
pointer.Float64(3),
|
||||
}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Tokyo", "client/countryOrRegion": "Japan"}, []*float64{
|
||||
nil,
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Des Moines", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
pointer.Float64(1),
|
||||
}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Washington", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
nil,
|
||||
}),
|
||||
)
|
||||
|
||||
return frame
|
||||
@@ -116,31 +116,28 @@ func TestInsightsMetricsResultToFrame(t *testing.T) {
|
||||
time.Date(2020, 6, 25, 16, 15, 32, 14e7, time.UTC),
|
||||
time.Date(2020, 6, 25, 16, 16, 0, 0, time.UTC),
|
||||
}),
|
||||
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Washington", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Tokyo", "client/countryOrRegion": "Japan"}, []*float64{
|
||||
nil,
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,Washington"}),
|
||||
pointer.Float64(1),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: Japan,Tokyo"}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "", "client/countryOrRegion": "United States"}, []*float64{
|
||||
nil,
|
||||
pointer.Float64(11),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,"}),
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Chicago", "client/countryOrRegion": "United States"}, []*float64{
|
||||
nil,
|
||||
pointer.Float64(3),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,Chicago"}),
|
||||
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Des Moines", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
pointer.Float64(1),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,Des Moines"}),
|
||||
|
||||
data.NewField("traces/count", data.Labels{"client/city": "", "client/countryOrRegion": "United States"}, []*float64{
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Washington", "client/countryOrRegion": "United States"}, []*float64{
|
||||
pointer.Float64(2),
|
||||
nil,
|
||||
pointer.Float64(11),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,"}),
|
||||
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Chicago", "client/countryOrRegion": "United States"}, []*float64{
|
||||
nil,
|
||||
pointer.Float64(3),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,Chicago"}),
|
||||
|
||||
data.NewField("traces/count", data.Labels{"client/city": "Tokyo", "client/countryOrRegion": "Japan"}, []*float64{
|
||||
nil,
|
||||
pointer.Float64(1),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: Japan,Tokyo"}),
|
||||
}).SetConfig(&data.FieldConfig{DisplayName: "traces/count: Country,City: United States,Washington"}),
|
||||
)
|
||||
|
||||
return frame
|
||||
|
||||
@@ -99,14 +99,6 @@ func TestFrameToSeriesSlice(t *testing.T) {
|
||||
TimePoint{null.FloatFrom(3), null.FloatFrom(1577934270000)},
|
||||
},
|
||||
},
|
||||
&TimeSeries{
|
||||
Name: "Values Int64",
|
||||
Tags: map[string]string{"Animal Factor": "cat", "Location": "Florida"},
|
||||
Points: TimeSeriesPoints{
|
||||
TimePoint{null.FloatFrom(1), null.FloatFrom(1577934240000)},
|
||||
TimePoint{null.FloatFrom(3), null.FloatFrom(1577934270000)},
|
||||
},
|
||||
},
|
||||
&TimeSeries{
|
||||
Name: "Values Floats",
|
||||
Tags: map[string]string{"Animal Factor": "sloth", "Location": "Central & South America"},
|
||||
@@ -115,6 +107,14 @@ func TestFrameToSeriesSlice(t *testing.T) {
|
||||
TimePoint{null.FloatFrom(4), null.FloatFrom(1577934270000)},
|
||||
},
|
||||
},
|
||||
&TimeSeries{
|
||||
Name: "Values Int64",
|
||||
Tags: map[string]string{"Animal Factor": "cat", "Location": "Florida"},
|
||||
Points: TimeSeriesPoints{
|
||||
TimePoint{null.FloatFrom(1), null.FloatFrom(1577934240000)},
|
||||
TimePoint{null.FloatFrom(3), null.FloatFrom(1577934270000)},
|
||||
},
|
||||
},
|
||||
&TimeSeries{
|
||||
Name: "Values Int64",
|
||||
Tags: map[string]string{"Animal Factor": "sloth", "Location": "Central & South America"},
|
||||
|
||||
Reference in New Issue
Block a user