@@ -157,8 +157,9 @@ private void writeGauge(Writer writer, GaugeSnapshot snapshot, EscapingScheme sc
157157 throws IOException {
158158 MetricMetadata metadata = snapshot .getMetadata ();
159159 writeMetadata (writer , "gauge" , metadata , scheme );
160+ String name = getMetadataName (metadata , scheme );
160161 for (GaugeSnapshot .GaugeDataPointSnapshot data : snapshot .getDataPoints ()) {
161- writeNameAndLabels (writer , getMetadataName ( metadata , scheme ) , null , data .getLabels (), scheme );
162+ writeNameAndLabels (writer , name , null , data .getLabels (), scheme );
162163 writeDouble (writer , data .getValue ());
163164 if (exemplarsOnAllMetricTypesEnabled ) {
164165 writeScrapeTimestampAndExemplar (writer , data , data .getExemplar (), scheme );
@@ -190,20 +191,18 @@ private void writeClassicHistogramBuckets(
190191 List <HistogramSnapshot .HistogramDataPointSnapshot > dataList ,
191192 EscapingScheme scheme )
192193 throws IOException {
194+ String name = getMetadataName (metadata , scheme );
195+ String bucketName = name + "_bucket" ;
196+ String countName = name + countSuffix ;
197+ String sumName = name + sumSuffix ;
193198 for (HistogramSnapshot .HistogramDataPointSnapshot data : dataList ) {
194199 ClassicHistogramBuckets buckets = getClassicBuckets (data );
195200 Exemplars exemplars = data .getExemplars ();
196201 long cumulativeCount = 0 ;
197202 for (int i = 0 ; i < buckets .size (); i ++) {
198203 cumulativeCount += buckets .getCount (i );
199204 writeNameAndLabels (
200- writer ,
201- getMetadataName (metadata , scheme ),
202- "_bucket" ,
203- data .getLabels (),
204- scheme ,
205- "le" ,
206- buckets .getUpperBound (i ));
205+ writer , bucketName , null , data .getLabels (), scheme , "le" , buckets .getUpperBound (i ));
207206 writeLong (writer , cumulativeCount );
208207 Exemplar exemplar ;
209208 if (i == 0 ) {
@@ -215,9 +214,9 @@ private void writeClassicHistogramBuckets(
215214 }
216215 // In OpenMetrics format, histogram _count and _sum are either both present or both absent.
217216 if (data .hasCount () && data .hasSum ()) {
218- writeCountAndSum (writer , metadata , data , countSuffix , sumSuffix , exemplars , scheme );
217+ writeCountAndSum (writer , countName , sumName , data , exemplars , scheme );
219218 }
220- writeCreated (writer , metadata , data , scheme );
219+ writeCreated (writer , name , data , scheme );
221220 }
222221 }
223222
@@ -235,6 +234,9 @@ void writeSummary(Writer writer, SummarySnapshot snapshot, EscapingScheme scheme
235234 throws IOException {
236235 boolean metadataWritten = false ;
237236 MetricMetadata metadata = snapshot .getMetadata ();
237+ String name = getMetadataName (metadata , scheme );
238+ String countName = name + "_count" ;
239+ String sumName = name + "_sum" ;
238240 for (SummarySnapshot .SummaryDataPointSnapshot data : snapshot .getDataPoints ()) {
239241 if (data .getQuantiles ().size () == 0 && !data .hasCount () && !data .hasSum ()) {
240242 continue ;
@@ -252,13 +254,7 @@ void writeSummary(Writer writer, SummarySnapshot snapshot, EscapingScheme scheme
252254 int exemplarIndex = 1 ;
253255 for (Quantile quantile : data .getQuantiles ()) {
254256 writeNameAndLabels (
255- writer ,
256- getMetadataName (metadata , scheme ),
257- null ,
258- data .getLabels (),
259- scheme ,
260- "quantile" ,
261- quantile .getQuantile ());
257+ writer , name , null , data .getLabels (), scheme , "quantile" , quantile .getQuantile ());
262258 writeDouble (writer , quantile .getValue ());
263259 if (exemplars .size () > 0 && exemplarsOnAllMetricTypesEnabled ) {
264260 exemplarIndex = (exemplarIndex + 1 ) % exemplars .size ();
@@ -268,8 +264,8 @@ void writeSummary(Writer writer, SummarySnapshot snapshot, EscapingScheme scheme
268264 }
269265 }
270266 // Unlike histograms, summaries can have only a count or only a sum according to OpenMetrics.
271- writeCountAndSum (writer , metadata , data , "_count" , "_sum" , exemplars , scheme );
272- writeCreated (writer , metadata , data , scheme );
267+ writeCountAndSum (writer , countName , sumName , data , exemplars , scheme );
268+ writeCreated (writer , name , data , scheme );
273269 }
274270 }
275271
@@ -290,9 +286,10 @@ private void writeStateSet(Writer writer, StateSetSnapshot snapshot, EscapingSch
290286 throws IOException {
291287 MetricMetadata metadata = snapshot .getMetadata ();
292288 writeMetadata (writer , "stateset" , metadata , scheme );
289+ String name = getMetadataName (metadata , scheme );
293290 for (StateSetSnapshot .StateSetDataPointSnapshot data : snapshot .getDataPoints ()) {
294291 for (int i = 0 ; i < data .size (); i ++) {
295- writer .write (getMetadataName ( metadata , scheme ) );
292+ writer .write (name );
296293 writer .write ('{' );
297294 Labels labels = data .getLabels ();
298295 for (int j = 0 ; j < labels .size (); j ++) {
@@ -307,7 +304,7 @@ private void writeStateSet(Writer writer, StateSetSnapshot snapshot, EscapingSch
307304 if (!labels .isEmpty ()) {
308305 writer .write ("," );
309306 }
310- writer .write (getMetadataName ( metadata , scheme ) );
307+ writer .write (name );
311308 writer .write ("=\" " );
312309 writeEscapedString (writer , data .getName (i ));
313310 writer .write ("\" } " );
@@ -325,8 +322,9 @@ private void writeUnknown(Writer writer, UnknownSnapshot snapshot, EscapingSchem
325322 throws IOException {
326323 MetricMetadata metadata = snapshot .getMetadata ();
327324 writeMetadata (writer , "unknown" , metadata , scheme );
325+ String name = getMetadataName (metadata , scheme );
328326 for (UnknownSnapshot .UnknownDataPointSnapshot data : snapshot .getDataPoints ()) {
329- writeNameAndLabels (writer , getMetadataName ( metadata , scheme ) , null , data .getLabels (), scheme );
327+ writeNameAndLabels (writer , name , null , data .getLabels (), scheme );
330328 writeDouble (writer , data .getValue ());
331329 if (exemplarsOnAllMetricTypesEnabled ) {
332330 writeScrapeTimestampAndExemplar (writer , data , data .getExemplar (), scheme );
@@ -338,16 +336,14 @@ private void writeUnknown(Writer writer, UnknownSnapshot snapshot, EscapingSchem
338336
339337 private void writeCountAndSum (
340338 Writer writer ,
341- MetricMetadata metadata ,
339+ String countName ,
340+ String sumName ,
342341 DistributionDataPointSnapshot data ,
343- String countSuffix ,
344- String sumSuffix ,
345342 Exemplars exemplars ,
346343 EscapingScheme scheme )
347344 throws IOException {
348345 if (data .hasCount ()) {
349- writeNameAndLabels (
350- writer , getMetadataName (metadata , scheme ), countSuffix , data .getLabels (), scheme );
346+ writeNameAndLabels (writer , countName , null , data .getLabels (), scheme );
351347 writeLong (writer , data .getCount ());
352348 if (exemplarsOnAllMetricTypesEnabled ) {
353349 writeScrapeTimestampAndExemplar (writer , data , exemplars .getLatest (), scheme );
@@ -356,19 +352,12 @@ private void writeCountAndSum(
356352 }
357353 }
358354 if (data .hasSum ()) {
359- writeNameAndLabels (
360- writer , getMetadataName (metadata , scheme ), sumSuffix , data .getLabels (), scheme );
355+ writeNameAndLabels (writer , sumName , null , data .getLabels (), scheme );
361356 writeDouble (writer , data .getSum ());
362357 writeScrapeTimestampAndExemplar (writer , data , null , scheme );
363358 }
364359 }
365360
366- private void writeCreated (
367- Writer writer , MetricMetadata metadata , DataPointSnapshot data , EscapingScheme scheme )
368- throws IOException {
369- writeCreated (writer , getMetadataName (metadata , scheme ), data , scheme );
370- }
371-
372361 private void writeCreated (
373362 Writer writer , String baseName , DataPointSnapshot data , EscapingScheme scheme )
374363 throws IOException {
@@ -409,7 +398,7 @@ private void writeNameAndLabels(
409398 metricInsideBraces = true ;
410399 writer .write ('{' );
411400 }
412- writeName (writer , name + ( suffix != null ? suffix : "" ) , NameType .Metric );
401+ writeName (writer , suffix != null ? name + suffix : name , NameType .Metric );
413402 if (!labels .isEmpty () || additionalLabelName != null ) {
414403 writeLabels (
415404 writer ,
0 commit comments