Skip to content

Commit

Permalink
Fixed qfe
Browse files Browse the repository at this point in the history
  • Loading branch information
rabenhorst committed Feb 14, 2023
1 parent 5a3c9a6 commit 0d24219
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 34 deletions.
10 changes: 5 additions & 5 deletions internal/cortex/querier/queryrange/compat.go
Expand Up @@ -21,7 +21,7 @@ func toModelSampleHistogramPair(s SampleHistogramPair) model.SampleHistogramPair
func fromModelSampleHistogramPair(modelSampleHistogram model.SampleHistogramPair) (s SampleHistogramPair) {
return SampleHistogramPair{
Timestamp: int64(modelSampleHistogram.Timestamp),
Histogram: fromModelSampleHistogram(&modelSampleHistogram.Histogram),
Histogram: fromModelSampleHistogram(modelSampleHistogram.Histogram),
}
}

Expand All @@ -33,7 +33,7 @@ func fromModelSampleHistogram(modelSampleHistogram *model.SampleHistogram) (s Sa
Lower: float64(b.Lower),
Upper: float64(b.Upper),
Count: float64(b.Count),
Boundaries: int64(b.Boundaries),
Boundaries: b.Boundaries,
}
}

Expand All @@ -44,19 +44,19 @@ func fromModelSampleHistogram(modelSampleHistogram *model.SampleHistogram) (s Sa
}
}

func toModelSampleHistogram(s SampleHistogram) model.SampleHistogram {
func toModelSampleHistogram(s SampleHistogram) *model.SampleHistogram {
modelBuckets := make([]*model.HistogramBucket, len(s.Buckets))

for i, b := range s.Buckets {
modelBuckets[i] = &model.HistogramBucket{
Lower: model.FloatString(b.Lower),
Upper: model.FloatString(b.Upper),
Count: model.FloatString(b.Count),
Boundaries: int(b.Boundaries),
Boundaries: b.Boundaries,
}
}

return model.SampleHistogram{
return &model.SampleHistogram{
Count: model.FloatString(s.Count),
Sum: model.FloatString(s.Sum),
Buckets: modelBuckets,
Expand Down
3 changes: 1 addition & 2 deletions internal/cortex/querier/queryrange/query_range.go
Expand Up @@ -476,8 +476,7 @@ func (s *Sample) MarshalJSON() ([]byte, error) {
sample.Value = model.SampleValue(s.SampleValue)
sample.Timestamp = model.Time(s.Timestamp)
if s.Histogram != nil {
msh := toModelSampleHistogram(*s.Histogram)
sample.Histogram = &msh
sample.Histogram = toModelSampleHistogram(*s.Histogram)
}
return json.Marshal(sample)
}
Expand Down
36 changes: 18 additions & 18 deletions internal/cortex/querier/queryrange/queryrange.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/cortex/querier/queryrange/queryrange.proto
Expand Up @@ -125,7 +125,7 @@ message SampleHistogram {
}

message HistogramBucket {
int64 boundaries = 1;
int32 boundaries = 1;
double lower = 2;
double upper = 3;
double count = 4;
Expand Down
19 changes: 11 additions & 8 deletions test/e2e/native_histograms_test.go
Expand Up @@ -68,7 +68,7 @@ func TestQueryNativeHistograms(t *testing.T) {
t.Run("query histogram using histogram_count fn and deduplication", func(t *testing.T) {
queryAndAssert(t, ctx, querier.Endpoint("http"), func() string { return fmt.Sprintf("histogram_count(%v)", testHistogramMetricName) }, ts, promclient.QueryOptions{Deduplicate: true}, model.Vector{
&model.Sample{
Value: 17,
Value: 34,
Metric: model.Metric{
"foo": "bar",
"prometheus": "prom-ha",
Expand Down Expand Up @@ -341,12 +341,10 @@ func expectedHistogramModelVector(histogram *histogram.Histogram, externalLabels
metrics[model.LabelName(labelKey)] = model.LabelValue(labelValue)
}

sh := histogramToSampleHistogram(histogram)

return model.Vector{
&model.Sample{
Metric: metrics,
Histogram: &sh,
Histogram: histogramToSampleHistogram(histogram),
},
}
}
Expand Down Expand Up @@ -377,17 +375,22 @@ func expectedHistogramModelMatrix(histograms []*histogram.Histogram, startTime t
}
}

func histogramToSampleHistogram(h *histogram.Histogram) model.SampleHistogram {
func histogramToSampleHistogram(h *histogram.Histogram) *model.SampleHistogram {
var buckets []*model.HistogramBucket

it := h.NegativeBucketIterator()
for it.Next() {
buckets = append([]*model.HistogramBucket{bucketToSampleHistogramBucket(it.At())}, buckets...)
}

buckets = append(buckets, bucketToSampleHistogramBucket(h.ZeroBucket()))

it := h.PositiveBucketIterator()
it = h.PositiveBucketIterator()
for it.Next() {
buckets = append(buckets, bucketToSampleHistogramBucket(it.At()))
}

return model.SampleHistogram{
return &model.SampleHistogram{
Count: model.FloatString(h.Count),
Sum: model.FloatString(h.Sum),
Buckets: buckets,
Expand All @@ -403,7 +406,7 @@ func bucketToSampleHistogramBucket(bucket histogram.Bucket[uint64]) *model.Histo
}
}

func boundaries(bucket histogram.Bucket[uint64]) int {
func boundaries(bucket histogram.Bucket[uint64]) int32 {
switch {
case bucket.UpperInclusive && !bucket.LowerInclusive:
return 0
Expand Down

0 comments on commit 0d24219

Please sign in to comment.