private final Meter meterWithOneFixedLabel;
private final Meter meterWithTwoFixedLabels;
private final Labeled<Meter> meterWithOneDynamicLabel;
- private final Labeled<Labeled<Meter>> meterWithTwoDynamicLabels;
private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor("cron", LOG);
private final Random random = new Random();
.project("infrautils").module("metrics").id("example_meter_1_dynlabel")
.description("Example meter metric with 1 label and label value set in using code").build(),
"port");
-
- meterWithTwoDynamicLabels = metricProvider.newMeter(MetricDescriptor.builder().anchor(this)
- .project("infrautils").module("metrics").id("example_meter_2_dynlabels")
- .description("Example meter metric with 2 labels and its label values set in using code").build(),
- "port", "mac");
}
@PostConstruct
meterWithOneFixedLabel.close();
meterWithTwoFixedLabels.close();
// TODO meterWithOneDynamicLabel.close() how to?
- // TODO meterWithTwoDynamicLabels.close() how to?
executor.shutdownNow();
}
meterWithTwoFixedLabels.mark(random.nextInt(100));
meterWithOneDynamicLabel.label(/* port */ "456").mark(random.nextInt(100));
- meterWithTwoDynamicLabels
- .label(/* port */ "456").label(/* MAC */ "1A:0B:F2:25:1C:68")
- .mark(random.nextInt(100));
// see the MetricsAdvancedExample for how to do meter.port(456).mac("1A:0B:F2:25:1C:68").mark();
}