(logger *slog.Logger, timeSeries []prompb.TimeSeries, metadata []prompb.MetricMetadata, pBuf *proto.Buffer, filter func(prompb.TimeSeries) bool, buf compression.EncodeBuffer, compr compression.Type)
| 2135 | } |
| 2136 | |
| 2137 | func buildWriteRequest(logger *slog.Logger, timeSeries []prompb.TimeSeries, metadata []prompb.MetricMetadata, pBuf *proto.Buffer, filter func(prompb.TimeSeries) bool, buf compression.EncodeBuffer, compr compression.Type) (_ []byte, highest, lowest int64, _ error) { |
| 2138 | timeSeries, stats := buildTimeSeries(timeSeries, filter) |
| 2139 | |
| 2140 | if stats.droppedSamples > 0 || stats.droppedExemplars > 0 || stats.droppedHistograms > 0 { |
| 2141 | logger.Debug("dropped data due to their age", "droppedSamples", stats.droppedSamples, "droppedExemplars", stats.droppedExemplars, "droppedHistograms", stats.droppedHistograms) |
| 2142 | } |
| 2143 | |
| 2144 | req := &prompb.WriteRequest{ |
| 2145 | Timeseries: timeSeries, |
| 2146 | Metadata: metadata, |
| 2147 | } |
| 2148 | |
| 2149 | if pBuf == nil { |
| 2150 | pBuf = proto.NewBuffer(nil) // For convenience in tests. Not efficient. |
| 2151 | } else { |
| 2152 | pBuf.Reset() |
| 2153 | } |
| 2154 | if err := pBuf.Marshal(req); err != nil { |
| 2155 | return nil, stats.highest, stats.lowest, err |
| 2156 | } |
| 2157 | |
| 2158 | compressed, err := compression.Encode(compr, pBuf.Bytes(), buf) |
| 2159 | if err != nil { |
| 2160 | return nil, stats.highest, stats.lowest, err |
| 2161 | } |
| 2162 | return compressed, stats.highest, stats.lowest, nil |
| 2163 | } |
| 2164 | |
| 2165 | func buildV2WriteRequest(logger *slog.Logger, samples []writev2.TimeSeries, labels []string, pBuf *[]byte, filter func(writev2.TimeSeries) bool, buf compression.EncodeBuffer, compr compression.Type) (compressed []byte, highest, lowest int64, _ error) { |
| 2166 | timeSeries, stats := buildV2TimeSeries(samples, filter) |
searching dependent graphs…