use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.
the class GenericMetricFamilySamplesPrefixRewriterTest method testPrefixesProperly.
@Test
public void testPrefixesProperly() {
GenericMetricFamilySamplesPrefixRewriter subject = new GenericMetricFamilySamplesPrefixRewriter("prefix");
List<Sample> samples = new LinkedList<>();
Sample s = new Sample("dummyname", Arrays.asList(new String[] { "labelName" }), Arrays.asList(new String[] { "labelValue" }), 1.0);
samples.add(s);
MetricFamilySamples mfs = new MetricFamilySamples("dummyname", Type.GAUGE, "dummyHelp", samples);
HashMap<String, MetricFamilySamples> map = new HashMap<>();
map.put("metricName", mfs);
HashMap<String, MetricFamilySamples> result = subject.determineEnumerationOfMetricFamilySamples(map);
MetricFamilySamples mfsResult = result.get("prefix_metricName");
Assert.assertNotNull(mfsResult);
Assert.assertEquals("prefix_dummyname", mfsResult.name);
Assert.assertEquals(1, mfsResult.samples.size());
Sample sampleResult = mfsResult.samples.get(0);
;
Assert.assertEquals("prefix_dummyname", sampleResult.name);
}
use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.
the class MergableMetricFamilySamplesTest method testStraightFowardHashMap.
@Test
public void testStraightFowardHashMap() {
MergableMetricFamilySamples subject = new MergableMetricFamilySamples();
List<Sample> samples = new LinkedList<>();
MetricFamilySamples mfs = new MetricFamilySamples("dummy", Type.COUNTER, "somehelp", samples);
List<MetricFamilySamples> list = new LinkedList<>();
list.add(mfs);
HashMap<String, MetricFamilySamples> hmmfs = new HashMap<>();
hmmfs.put("dummy", mfs);
subject.merge(hmmfs);
Enumeration<MetricFamilySamples> returnedEMFS = subject.getEnumerationMetricFamilySamples();
Assert.assertTrue(returnedEMFS.hasMoreElements());
MetricFamilySamples element = returnedEMFS.nextElement();
Assert.assertFalse(returnedEMFS.hasMoreElements());
Assert.assertEquals(mfs, element);
HashMap<String, MetricFamilySamples> returnedHMMFS = subject.getEnumerationMetricFamilySamplesInHashMap();
Assert.assertEquals(1, returnedHMMFS.size());
Assert.assertEquals(mfs, returnedHMMFS.get("dummy"));
}
use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.
the class MetricFamilySamplesEnricherTest method testSimple.
@Test
public void testSimple() {
AbstractMetricFamilySamplesEnricher subject = new CFMetricFamilySamplesEnricher("testOrgName", "testSpaceName", "testComponent", "testInstance:42");
List<Sample> samples = new LinkedList<>();
Sample s = new Sample("dummyname", Arrays.asList(new String[] { "labelName" }), Arrays.asList(new String[] { "labelValue" }), 1.0);
samples.add(s);
MetricFamilySamples mfs = new MetricFamilySamples("dummyname", Type.GAUGE, "dummyHelp", samples);
HashMap<String, MetricFamilySamples> map = new HashMap<>();
map.put("metricName", mfs);
HashMap<String, MetricFamilySamples> result = subject.determineEnumerationOfMetricFamilySamples(map);
Assert.assertEquals(1, result.size());
MetricFamilySamples testMFS = result.get("metricName");
Assert.assertNotNull(testMFS);
Assert.assertEquals(1, testMFS.samples.size());
Sample testSample = testMFS.samples.get(0);
Assert.assertNotNull(testSample);
List<String> labelNamesList = testSample.labelNames;
String[] labelNames = labelNamesList.toArray(new String[0]);
Assert.assertEquals("labelName", labelNames[0]);
Assert.assertEquals("org_name", labelNames[1]);
Assert.assertEquals("space_name", labelNames[2]);
Assert.assertEquals("app_name", labelNames[3]);
Assert.assertEquals("cf_instance_id", labelNames[4]);
Assert.assertEquals("cf_instance_number", labelNames[5]);
List<String> labelValuesList = testSample.labelValues;
String[] labelValues = labelValuesList.toArray(new String[0]);
Assert.assertEquals("labelValue", labelValues[0]);
Assert.assertEquals("testOrgName", labelValues[1]);
Assert.assertEquals("testSpaceName", labelValues[2]);
Assert.assertEquals("testComponent", labelValues[3]);
Assert.assertEquals("testInstance:42", labelValues[4]);
Assert.assertEquals("42", labelValues[5]);
}
use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project java-chassis by ServiceComb.
the class PrometheusPublisher method describe.
@Override
public List<MetricFamilySamples> describe() {
List<MetricFamilySamples> familySamples = new ArrayList<>();
if (globalRegistry == null) {
return familySamples;
}
List<Sample> samples = new ArrayList<>();
for (Registry registry : globalRegistry.getRegistries()) {
for (Meter meter : registry) {
meter.measure().forEach(measurement -> {
Sample sample = convertMeasurementToSample(measurement);
samples.add(sample);
});
}
}
familySamples.add(new MetricFamilySamples("ServiceComb_Metrics", Type.UNTYPED, "ServiceComb Metrics", samples));
return familySamples;
}
use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project java-chassis by ServiceComb.
the class PrometheusPublisher method convertMeasurementToSample.
protected Sample convertMeasurementToSample(Measurement measurement) {
String prometheusName = measurement.id().name().replace(".", "_");
List<String> labelNames = new ArrayList<>();
List<String> labelValues = new ArrayList<>();
labelNames.add("appId");
labelValues.add(RegistrationManager.INSTANCE.getAppId());
for (Tag tag : measurement.id().tags()) {
labelNames.add(tag.key());
labelValues.add(tag.value());
}
return new Sample(prometheusName, labelNames, labelValues, measurement.value());
}
Aggregations