@@ -420,75 +420,93 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
420420 }
421421
422422 Labels outLabels = outLabelsBuilder .build ();
423- DataPointSnapshot outDataPointSnapshot = null ;
424-
425- if (v instanceof CounterSnapshot ) {
426- outDataPointSnapshot = CounterSnapshot .CounterDataPointSnapshot .builder ()
427- .value (((CounterSnapshot .CounterDataPointSnapshot ) d ).getValue ())
428- .exemplar (((CounterSnapshot .CounterDataPointSnapshot ) d ).getExemplar ())
429- .labels (outLabels )
430- .createdTimestampMillis (d .getCreatedTimestampMillis ())
431- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
432- .build ();
433- } else if (v instanceof GaugeSnapshot ) {
434- outDataPointSnapshot = GaugeSnapshot .GaugeDataPointSnapshot .builder ()
435- .value (((GaugeSnapshot .GaugeDataPointSnapshot ) d ).getValue ())
436- .exemplar (((GaugeSnapshot .GaugeDataPointSnapshot ) d ).getExemplar ())
437- .labels (outLabels )
438- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
439- .build ();
440- } else if (v instanceof HistogramSnapshot ) {
441- outDataPointSnapshot = HistogramSnapshot .HistogramDataPointSnapshot .builder ()
442- .classicHistogramBuckets (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getClassicBuckets ())
443- .nativeSchema (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeSchema ())
444- .nativeZeroCount (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeZeroCount ())
445- .nativeZeroThreshold (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeZeroThreshold ())
446- .nativeBucketsForPositiveValues (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeBucketsForPositiveValues ())
447- .nativeBucketsForNegativeValues (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeBucketsForNegativeValues ())
448- .count (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getCount ())
449- .sum (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getSum ())
450- .exemplars (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getExemplars ())
451- .labels (outLabels )
452- .createdTimestampMillis (d .getCreatedTimestampMillis ())
453- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
454- .build ();
455- } else if (v instanceof SummarySnapshot ) {
456- outDataPointSnapshot = SummarySnapshot .SummaryDataPointSnapshot .builder ()
457- .quantiles (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getQuantiles ())
458- .count (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getCount ())
459- .sum (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getSum ())
460- .exemplars (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getExemplars ())
461- .labels (outLabels )
462- .createdTimestampMillis (d .getCreatedTimestampMillis ())
463- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
464- .build ();
465- } else if (v instanceof InfoSnapshot ) {
466- outDataPointSnapshot = InfoSnapshot .InfoDataPointSnapshot .builder ()
467- .labels (outLabels )
468- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
469- .build ();
470- } else if (v instanceof StateSetSnapshot ) {
471- StateSetSnapshot .StateSetDataPointSnapshot .Builder builder = StateSetSnapshot .StateSetDataPointSnapshot .builder ()
472- .labels (outLabels )
473- .scrapeTimestampMillis (d .getScrapeTimestampMillis ());
474- for (StateSetSnapshot .State state : ((StateSetSnapshot .StateSetDataPointSnapshot ) d )) {
475- builder .state (state .getName (), state .isTrue ());
476- }
477- outDataPointSnapshot = builder .build ();
478- } else if (v instanceof UnknownSnapshot ) {
479- outDataPointSnapshot = UnknownSnapshot .UnknownDataPointSnapshot .builder ()
480- .labels (outLabels )
481- .value (((UnknownSnapshot .UnknownDataPointSnapshot ) d ).getValue ())
482- .exemplar (((UnknownSnapshot .UnknownDataPointSnapshot ) d ).getExemplar ())
483- .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
484- .build ();
485- }
486-
423+ DataPointSnapshot outDataPointSnapshot = createEscapedDataPointSnapshot (v , d , outLabels );
487424 outDataPoints .add (outDataPointSnapshot );
488425 }
489426
490- MetricSnapshot out ;
427+ return createEscapedMetricSnapshot (v , outName , outDataPoints );
428+ }
429+
430+ static boolean metricNeedsEscaping (DataPointSnapshot d ) {
431+ Labels labels = d .getLabels ();
432+ for (Label l : labels ) {
433+ if (l .getName ().equals (METRIC_NAME_LABEL ) && !isValidLegacyMetricName (l .getValue ())) {
434+ return true ;
435+ }
436+ if (!isValidLegacyMetricName (l .getName ())) {
437+ return true ;
438+ }
439+ }
440+ return false ;
441+ }
442+
443+ private static DataPointSnapshot createEscapedDataPointSnapshot (MetricSnapshot v , DataPointSnapshot d , Labels outLabels ) {
444+ if (v instanceof CounterSnapshot ) {
445+ return CounterSnapshot .CounterDataPointSnapshot .builder ()
446+ .value (((CounterSnapshot .CounterDataPointSnapshot ) d ).getValue ())
447+ .exemplar (((CounterSnapshot .CounterDataPointSnapshot ) d ).getExemplar ())
448+ .labels (outLabels )
449+ .createdTimestampMillis (d .getCreatedTimestampMillis ())
450+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
451+ .build ();
452+ } else if (v instanceof GaugeSnapshot ) {
453+ return GaugeSnapshot .GaugeDataPointSnapshot .builder ()
454+ .value (((GaugeSnapshot .GaugeDataPointSnapshot ) d ).getValue ())
455+ .exemplar (((GaugeSnapshot .GaugeDataPointSnapshot ) d ).getExemplar ())
456+ .labels (outLabels )
457+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
458+ .build ();
459+ } else if (v instanceof HistogramSnapshot ) {
460+ return HistogramSnapshot .HistogramDataPointSnapshot .builder ()
461+ .classicHistogramBuckets (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getClassicBuckets ())
462+ .nativeSchema (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeSchema ())
463+ .nativeZeroCount (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeZeroCount ())
464+ .nativeZeroThreshold (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeZeroThreshold ())
465+ .nativeBucketsForPositiveValues (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeBucketsForPositiveValues ())
466+ .nativeBucketsForNegativeValues (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getNativeBucketsForNegativeValues ())
467+ .count (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getCount ())
468+ .sum (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getSum ())
469+ .exemplars (((HistogramSnapshot .HistogramDataPointSnapshot ) d ).getExemplars ())
470+ .labels (outLabels )
471+ .createdTimestampMillis (d .getCreatedTimestampMillis ())
472+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
473+ .build ();
474+ } else if (v instanceof SummarySnapshot ) {
475+ return SummarySnapshot .SummaryDataPointSnapshot .builder ()
476+ .quantiles (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getQuantiles ())
477+ .count (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getCount ())
478+ .sum (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getSum ())
479+ .exemplars (((SummarySnapshot .SummaryDataPointSnapshot ) d ).getExemplars ())
480+ .labels (outLabels )
481+ .createdTimestampMillis (d .getCreatedTimestampMillis ())
482+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
483+ .build ();
484+ } else if (v instanceof InfoSnapshot ) {
485+ return InfoSnapshot .InfoDataPointSnapshot .builder ()
486+ .labels (outLabels )
487+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
488+ .build ();
489+ } else if (v instanceof StateSetSnapshot ) {
490+ StateSetSnapshot .StateSetDataPointSnapshot .Builder builder = StateSetSnapshot .StateSetDataPointSnapshot .builder ()
491+ .labels (outLabels )
492+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ());
493+ for (StateSetSnapshot .State state : ((StateSetSnapshot .StateSetDataPointSnapshot ) d )) {
494+ builder .state (state .getName (), state .isTrue ());
495+ }
496+ return builder .build ();
497+ } else if (v instanceof UnknownSnapshot ) {
498+ return UnknownSnapshot .UnknownDataPointSnapshot .builder ()
499+ .labels (outLabels )
500+ .value (((UnknownSnapshot .UnknownDataPointSnapshot ) d ).getValue ())
501+ .exemplar (((UnknownSnapshot .UnknownDataPointSnapshot ) d ).getExemplar ())
502+ .scrapeTimestampMillis (d .getScrapeTimestampMillis ())
503+ .build ();
504+ } else {
505+ throw new IllegalArgumentException ("Unknown MetricSnapshot type: " + v .getClass ());
506+ }
507+ }
491508
509+ private static MetricSnapshot createEscapedMetricSnapshot (MetricSnapshot v , String outName , List <DataPointSnapshot > outDataPoints ) {
492510 if (v instanceof CounterSnapshot ) {
493511 CounterSnapshot .Builder builder = CounterSnapshot .builder ()
494512 .name (outName )
@@ -497,7 +515,7 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
497515 for (DataPointSnapshot d : outDataPoints ) {
498516 builder .dataPoint ((CounterSnapshot .CounterDataPointSnapshot ) d );
499517 }
500- out = builder .build ();
518+ return builder .build ();
501519 } else if (v instanceof GaugeSnapshot ) {
502520 GaugeSnapshot .Builder builder = GaugeSnapshot .builder ()
503521 .name (outName )
@@ -506,7 +524,7 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
506524 for (DataPointSnapshot d : outDataPoints ) {
507525 builder .dataPoint ((GaugeSnapshot .GaugeDataPointSnapshot ) d );
508526 }
509- out = builder .build ();
527+ return builder .build ();
510528 } else if (v instanceof HistogramSnapshot ) {
511529 HistogramSnapshot .Builder builder = HistogramSnapshot .builder ()
512530 .name (outName )
@@ -516,7 +534,7 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
516534 for (DataPointSnapshot d : outDataPoints ) {
517535 builder .dataPoint ((HistogramSnapshot .HistogramDataPointSnapshot ) d );
518536 }
519- out = builder .build ();
537+ return builder .build ();
520538 } else if (v instanceof SummarySnapshot ) {
521539 SummarySnapshot .Builder builder = SummarySnapshot .builder ()
522540 .name (outName )
@@ -525,23 +543,23 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
525543 for (DataPointSnapshot d : outDataPoints ) {
526544 builder .dataPoint ((SummarySnapshot .SummaryDataPointSnapshot ) d );
527545 }
528- out = builder .build ();
546+ return builder .build ();
529547 } else if (v instanceof InfoSnapshot ) {
530548 InfoSnapshot .Builder builder = InfoSnapshot .builder ()
531549 .name (outName )
532550 .help (v .getMetadata ().getHelp ());
533551 for (DataPointSnapshot d : outDataPoints ) {
534552 builder .dataPoint ((InfoSnapshot .InfoDataPointSnapshot ) d );
535553 }
536- out = builder .build ();
554+ return builder .build ();
537555 } else if (v instanceof StateSetSnapshot ) {
538556 StateSetSnapshot .Builder builder = StateSetSnapshot .builder ()
539557 .name (outName )
540558 .help (v .getMetadata ().getHelp ());
541559 for (DataPointSnapshot d : outDataPoints ) {
542560 builder .dataPoint ((StateSetSnapshot .StateSetDataPointSnapshot ) d );
543561 }
544- out = builder .build ();
562+ return builder .build ();
545563 } else if (v instanceof UnknownSnapshot ) {
546564 UnknownSnapshot .Builder builder = UnknownSnapshot .builder ()
547565 .name (outName )
@@ -550,25 +568,10 @@ public static MetricSnapshot escapeMetricSnapshot(MetricSnapshot v, EscapingSche
550568 for (DataPointSnapshot d : outDataPoints ) {
551569 builder .dataPoint ((UnknownSnapshot .UnknownDataPointSnapshot ) d );
552570 }
553- out = builder .build ();
571+ return builder .build ();
554572 } else {
555573 throw new IllegalArgumentException ("Unknown MetricSnapshot type: " + v .getClass ());
556574 }
557-
558- return out ;
559- }
560-
561- static boolean metricNeedsEscaping (DataPointSnapshot d ) {
562- Labels labels = d .getLabels ();
563- for (Label l : labels ) {
564- if (l .getName ().equals (METRIC_NAME_LABEL ) && !isValidLegacyMetricName (l .getValue ())) {
565- return true ;
566- }
567- if (!isValidLegacyMetricName (l .getName ())) {
568- return true ;
569- }
570- }
571- return false ;
572575 }
573576
574577 /**
0 commit comments