Search in sources :

Example 26 with Sample

use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.

the class TextFormat004ParserTest method testHelp.

@Test
public void testHelp() {
    String textToParse = "# Simple metric without labels:\n" + "# TYPE metric_without_labels counter\n" + "# HELP metric_without_labels this is my help text\n" + "metric_without_labels 12.47 123456789012345600\n";
    TextFormat004Parser subject = new TextFormat004Parser(textToParse);
    HashMap<String, Collector.MetricFamilySamples> resultMap = subject.parse();
    Enumeration<Collector.MetricFamilySamples> result = Collections.enumeration(resultMap.values());
    // creating expected result
    LinkedList<Collector.MetricFamilySamples> expectedList = new LinkedList<>();
    List<Sample> samples = new LinkedList<>();
    Sample sample = new Sample("metric_without_labels", new LinkedList<String>(), new LinkedList<String>(), 12.47);
    samples.add(sample);
    Collector.MetricFamilySamples expectedMFS = new Collector.MetricFamilySamples("metric_without_labels", Type.COUNTER, "this is my help text", samples);
    expectedList.add(expectedMFS);
    Enumeration<Collector.MetricFamilySamples> expected = Collections.enumeration(expectedList);
    // compare
    compareEMFS(expected, result);
}
Also used : Sample(io.prometheus.client.Collector.MetricFamilySamples.Sample) Collector(io.prometheus.client.Collector) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) LinkedList(java.util.LinkedList) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) Test(org.junit.Test)

Example 27 with Sample

use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.

the class TextFormat004ParserTest method testGaugeWithTimestampAndEmptyLine.

@Test
public void testGaugeWithTimestampAndEmptyLine() {
    String textToParse = "# Simple metric without labels:\n" + "# TYPE metric_without_labels gauge\n" + "\n" + "metric_without_labels 12.47 123456789012345600\n";
    TextFormat004Parser subject = new TextFormat004Parser(textToParse);
    HashMap<String, Collector.MetricFamilySamples> resultMap = subject.parse();
    Enumeration<Collector.MetricFamilySamples> result = Collections.enumeration(resultMap.values());
    // creating expected result
    LinkedList<Collector.MetricFamilySamples> expectedList = new LinkedList<>();
    List<Sample> samples = new LinkedList<>();
    Sample sample = new Sample("metric_without_labels", new LinkedList<String>(), new LinkedList<String>(), 12.47);
    samples.add(sample);
    Collector.MetricFamilySamples expectedMFS = new Collector.MetricFamilySamples("metric_without_labels", Type.GAUGE, null, samples);
    expectedList.add(expectedMFS);
    Enumeration<Collector.MetricFamilySamples> expected = Collections.enumeration(expectedList);
    // compare
    compareEMFS(expected, result);
}
Also used : Sample(io.prometheus.client.Collector.MetricFamilySamples.Sample) Collector(io.prometheus.client.Collector) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) LinkedList(java.util.LinkedList) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) Test(org.junit.Test)

Example 28 with Sample

use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.

the class TextFormat004ParserTest method createSampleForHistogramWithDummyLabel.

private static Sample createSampleForHistogramWithDummyLabel(String bucketMetricName, String leValue, double value, boolean firstPosition) {
    List<String> labelNames = new LinkedList<>();
    if (firstPosition) {
        labelNames.add("name");
    }
    labelNames.add("le");
    if (!firstPosition) {
        labelNames.add("name");
    }
    List<String> labelValues = new LinkedList<>();
    if (firstPosition) {
        labelValues.add("value");
    }
    labelValues.add(leValue);
    if (!firstPosition) {
        labelValues.add("value");
    }
    Sample sample = new Sample(bucketMetricName, labelNames, labelValues, value);
    return sample;
}
Also used : Sample(io.prometheus.client.Collector.MetricFamilySamples.Sample) LinkedList(java.util.LinkedList)

Example 29 with Sample

use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.

the class TextFormat004ParserTest method testHistogramSpecificationExample.

@Test
public void testHistogramSpecificationExample() {
    String textToParse = "# A histogram, which has a pretty complex representation in the text format:\n" + "# HELP http_request_duration_seconds A histogram of the request duration.\n" + "# TYPE http_request_duration_seconds histogram\n" + "http_request_duration_seconds_bucket{le=\"0.05\"} 24054\n" + "http_request_duration_seconds_bucket{le=\"0.1\"} 33444\n" + "http_request_duration_seconds_bucket{le=\"0.2\"} 100392\n" + "http_request_duration_seconds_bucket{le=\"0.5\"} 129389\n" + "http_request_duration_seconds_bucket{le=\"1\"} 133988\n" + "http_request_duration_seconds_bucket{le=\"+Inf\"} 144320\n" + "http_request_duration_seconds_sum 53423\n" + "http_request_duration_seconds_count 144320";
    TextFormat004Parser subject = new TextFormat004Parser(textToParse);
    HashMap<String, Collector.MetricFamilySamples> resultMap = subject.parse();
    Enumeration<Collector.MetricFamilySamples> result = Collections.enumeration(resultMap.values());
    // creating expected result
    LinkedList<Collector.MetricFamilySamples> expectedList = new LinkedList<>();
    List<Sample> samples = new LinkedList<>();
    Sample sample = null;
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "0.05", 24054);
    samples.add(sample);
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "0.1", 33444);
    samples.add(sample);
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "0.2", 100392);
    samples.add(sample);
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "0.5", 129389);
    samples.add(sample);
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "1", 133988);
    samples.add(sample);
    sample = createSampleForHistogram("http_request_duration_seconds_bucket", "+Inf", 144320);
    samples.add(sample);
    sample = new Sample("http_request_duration_seconds_sum", new LinkedList<>(), new LinkedList<>(), 53423);
    samples.add(sample);
    sample = new Sample("http_request_duration_seconds_count", new LinkedList<>(), new LinkedList<>(), 144320);
    samples.add(sample);
    Collector.MetricFamilySamples expectedMFS = new Collector.MetricFamilySamples("http_request_duration_seconds", Type.HISTOGRAM, "A histogram of the request duration.", samples);
    expectedList.add(expectedMFS);
    Enumeration<Collector.MetricFamilySamples> expected = Collections.enumeration(expectedList);
    // compare
    compareEMFS(expected, result);
}
Also used : Sample(io.prometheus.client.Collector.MetricFamilySamples.Sample) Collector(io.prometheus.client.Collector) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) LinkedList(java.util.LinkedList) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) Test(org.junit.Test)

Example 30 with Sample

use of io.prometheus.client.Collector.MetricFamilySamples.Sample in project promregator by promregator.

the class TextFormat004ParserTest method testCounterWithTimestampAndEmptyLine.

@Test
public void testCounterWithTimestampAndEmptyLine() {
    String textToParse = "# Simple metric without labels:\n" + "# TYPE metric_without_labels counter\n" + "\n" + "metric_without_labels 12.47 123456789012345600\n";
    TextFormat004Parser subject = new TextFormat004Parser(textToParse);
    HashMap<String, Collector.MetricFamilySamples> resultMap = subject.parse();
    Enumeration<Collector.MetricFamilySamples> result = Collections.enumeration(resultMap.values());
    // creating expected result
    LinkedList<Collector.MetricFamilySamples> expectedList = new LinkedList<>();
    List<Sample> samples = new LinkedList<>();
    Sample sample = new Sample("metric_without_labels", new LinkedList<String>(), new LinkedList<String>(), 12.47);
    samples.add(sample);
    Collector.MetricFamilySamples expectedMFS = new Collector.MetricFamilySamples("metric_without_labels", Type.COUNTER, null, samples);
    expectedList.add(expectedMFS);
    Enumeration<Collector.MetricFamilySamples> expected = Collections.enumeration(expectedList);
    // compare
    compareEMFS(expected, result);
}
Also used : Sample(io.prometheus.client.Collector.MetricFamilySamples.Sample) Collector(io.prometheus.client.Collector) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) LinkedList(java.util.LinkedList) MetricFamilySamples(io.prometheus.client.Collector.MetricFamilySamples) Test(org.junit.Test)

Aggregations

Sample (io.prometheus.client.Collector.MetricFamilySamples.Sample)44 MetricFamilySamples (io.prometheus.client.Collector.MetricFamilySamples)34 Test (org.junit.Test)32 LinkedList (java.util.LinkedList)27 Collector (io.prometheus.client.Collector)18 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)4 Type (io.prometheus.client.Collector.Type)2 Collector.doubleToGoString (io.prometheus.client.Collector.doubleToGoString)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Meter (com.netflix.spectator.api.Meter)1 Registry (com.netflix.spectator.api.Registry)1 Tag (com.netflix.spectator.api.Tag)1 LabelValue (io.opencensus.metrics.LabelValue)1 Distribution (io.opencensus.metrics.export.Distribution)1 BucketOptions (io.opencensus.metrics.export.Distribution.BucketOptions)1 ExplicitOptions (io.opencensus.metrics.export.Distribution.BucketOptions.ExplicitOptions)1 MetricDescriptor (io.opencensus.metrics.export.MetricDescriptor)1 Summary (io.opencensus.metrics.export.Summary)1 ValueAtPercentile (io.opencensus.metrics.export.Summary.Snapshot.ValueAtPercentile)1