mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Serialization/Deserialization
Signed-off-by: Vanshikav123 <vanshikav928@gmail.com>
This commit is contained in:
parent
b5c5565ddf
commit
83eb216986
|
@ -132,6 +132,7 @@ func ToQueryResult(ss storage.SeriesSet, sampleLimit int) (*prompb.QueryResult,
|
||||||
var (
|
var (
|
||||||
samples []prompb.Sample
|
samples []prompb.Sample
|
||||||
histograms []prompb.Histogram
|
histograms []prompb.Histogram
|
||||||
|
exemplars []prompb.Exemplar
|
||||||
)
|
)
|
||||||
|
|
||||||
for valType := iter.Next(); valType != chunkenc.ValNone; valType = iter.Next() {
|
for valType := iter.Next(); valType != chunkenc.ValNone; valType = iter.Next() {
|
||||||
|
@ -164,10 +165,16 @@ func ToQueryResult(ss storage.SeriesSet, sampleLimit int) (*prompb.QueryResult,
|
||||||
return nil, ss.Warnings(), err
|
return nil, ss.Warnings(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if sse, ok := ss.(*seriesSetWithExemplars); ok {
|
||||||
|
key := series.Labels().Hash()
|
||||||
|
exemplars = sse.exemplarMap[key]
|
||||||
|
}
|
||||||
|
|
||||||
resp.Timeseries = append(resp.Timeseries, &prompb.TimeSeries{
|
resp.Timeseries = append(resp.Timeseries, &prompb.TimeSeries{
|
||||||
Labels: prompb.FromLabels(series.Labels(), nil),
|
Labels: prompb.FromLabels(series.Labels(), nil),
|
||||||
Samples: samples,
|
Samples: samples,
|
||||||
Histograms: histograms,
|
Histograms: histograms,
|
||||||
|
Exemplars: exemplars,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return resp, ss.Warnings(), ss.Err()
|
return resp, ss.Warnings(), ss.Err()
|
||||||
|
@ -182,7 +189,7 @@ func FromQueryResult(sortSeries bool, res *prompb.QueryResult) storage.SeriesSet
|
||||||
return errSeriesSet{err: err}
|
return errSeriesSet{err: err}
|
||||||
}
|
}
|
||||||
lbls := ts.ToLabels(&b, nil)
|
lbls := ts.ToLabels(&b, nil)
|
||||||
series = append(series, &concreteSeries{labels: lbls, floats: ts.Samples, histograms: ts.Histograms})
|
series = append(series, &concreteSeries{labels: lbls, floats: ts.Samples, histograms: ts.Histograms, exemplars: ts.Exemplars})
|
||||||
}
|
}
|
||||||
|
|
||||||
if sortSeries {
|
if sortSeries {
|
||||||
|
@ -368,6 +375,7 @@ type concreteSeries struct {
|
||||||
labels labels.Labels
|
labels labels.Labels
|
||||||
floats []prompb.Sample
|
floats []prompb.Sample
|
||||||
histograms []prompb.Histogram
|
histograms []prompb.Histogram
|
||||||
|
exemplars []prompb.Exemplar
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *concreteSeries) Labels() labels.Labels {
|
func (c *concreteSeries) Labels() labels.Labels {
|
||||||
|
|
Loading…
Reference in a new issue