Search in sources :

Example 1 with MeterSingleValue

use of org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue in project skywalking-java by apache.

the class GaugeTest method validateMeterData.

/**
 * Check the single value message
 */
private void validateMeterData(String name, List<Label> labels, double value, MeterData.Builder validate) {
    Assert.assertNotNull(validate);
    Assert.assertEquals(validate.getMetricCase().getNumber(), MeterData.SINGLEVALUE_FIELD_NUMBER);
    MeterSingleValue singleValue = validate.getSingleValue();
    Assert.assertNotNull(singleValue);
    Assert.assertEquals(singleValue.getValue(), value, 0.0);
    Assert.assertEquals(singleValue.getName(), name);
    Assert.assertEquals(singleValue.getLabelsList(), labels);
}
Also used : MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue)

Example 2 with MeterSingleValue

use of org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue in project skywalking-java by apache.

the class MeterServiceTest method isSameWithCounter.

/**
 * Check counter message
 */
private void isSameWithCounter(MeterData meterData, boolean firstData, MeterId meterId, long count) {
    Assert.assertNotNull(meterData);
    if (firstData) {
        Assert.assertEquals(meterData.getService(), "testService");
        Assert.assertEquals(meterData.getServiceInstance(), "testServiceInstance");
        Assert.assertTrue(meterData.getTimestamp() > 0);
    } else {
        Assert.assertEquals(meterData.getService(), "");
        Assert.assertEquals(meterData.getServiceInstance(), "");
        Assert.assertTrue(meterData.getTimestamp() == 0L);
    }
    Assert.assertEquals(meterData.getMetricCase(), MeterData.MetricCase.SINGLEVALUE);
    Assert.assertNotNull(meterData.getSingleValue());
    final MeterSingleValue singleValue = meterData.getSingleValue();
    Assert.assertEquals(singleValue.getName(), meterId.getName());
    Assert.assertEquals(singleValue.getLabelsList(), meterId.transformTags());
    Assert.assertEquals(singleValue.getValue(), count, 0.0);
}
Also used : MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue)

Example 3 with MeterSingleValue

use of org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue in project skywalking by apache.

the class MeterProcessor method read.

public void read(MeterData data) {
    // Parse and save meter
    switch(data.getMetricCase()) {
        case SINGLEVALUE:
            MeterSingleValue single = data.getSingleValue();
            meters.computeIfAbsent(single.getName(), k -> new ArrayList<>()).add(SampleBuilder.builder().name(single.getName()).labels(single.getLabelsList().stream().collect(toImmutableMap(Label::getName, Label::getValue))).value(single.getValue()).build());
            break;
        case HISTOGRAM:
            MeterHistogram histogram = data.getHistogram();
            Map<String, String> baseLabel = histogram.getLabelsList().stream().collect(Collectors.toMap(Label::getName, Label::getValue));
            meters.computeIfAbsent(histogram.getName(), k -> new ArrayList<>()).addAll(histogram.getValuesList().stream().map(v -> SampleBuilder.builder().name(histogram.getName()).labels(ImmutableMap.<String, String>builder().putAll(baseLabel).put("le", parseHistogramBucket(v)).build()).value(v.getCount()).build()).collect(Collectors.toList()));
            break;
        default:
            return;
    }
    // Agent info
    if (StringUtil.isNotEmpty(data.getService())) {
        service = data.getService();
    }
    if (StringUtil.isNotEmpty(data.getServiceInstance())) {
        serviceInstance = data.getServiceInstance();
    }
    if (data.getTimestamp() > 0) {
        timestamp = data.getTimestamp();
    }
}
Also used : SampleFamilyBuilder(org.apache.skywalking.oap.meter.analyzer.dsl.SampleFamilyBuilder) MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue) Label(org.apache.skywalking.apm.network.language.agent.v3.Label) CollectionUtils(org.apache.skywalking.oap.server.library.util.CollectionUtils) ImmutableMap(com.google.common.collect.ImmutableMap) MeterBucketValue(org.apache.skywalking.apm.network.language.agent.v3.MeterBucketValue) HashMap(java.util.HashMap) StringUtils(org.apache.commons.lang3.StringUtils) HistogramType(org.apache.skywalking.oap.meter.analyzer.dsl.HistogramType) Collectors(java.util.stream.Collectors) ArrayList(java.util.ArrayList) TimeUnit(java.util.concurrent.TimeUnit) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) MeterHistogram(org.apache.skywalking.apm.network.language.agent.v3.MeterHistogram) MetricConvert(org.apache.skywalking.oap.meter.analyzer.MetricConvert) MeterData(org.apache.skywalking.apm.network.language.agent.v3.MeterData) Sample(org.apache.skywalking.oap.meter.analyzer.dsl.Sample) Map(java.util.Map) StringUtil(org.apache.skywalking.oap.server.library.util.StringUtil) MeterHistogram(org.apache.skywalking.apm.network.language.agent.v3.MeterHistogram) MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue) ArrayList(java.util.ArrayList)

Example 4 with MeterSingleValue

use of org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue in project incubator-skywalking by apache.

the class MeterProcessor method read.

public void read(MeterData data) {
    // Parse and save meter
    switch(data.getMetricCase()) {
        case SINGLEVALUE:
            MeterSingleValue single = data.getSingleValue();
            meters.computeIfAbsent(single.getName(), k -> new ArrayList<>()).add(SampleBuilder.builder().name(single.getName()).labels(single.getLabelsList().stream().collect(toImmutableMap(Label::getName, Label::getValue))).value(single.getValue()).build());
            break;
        case HISTOGRAM:
            MeterHistogram histogram = data.getHistogram();
            Map<String, String> baseLabel = histogram.getLabelsList().stream().collect(Collectors.toMap(Label::getName, Label::getValue));
            meters.computeIfAbsent(histogram.getName(), k -> new ArrayList<>()).addAll(histogram.getValuesList().stream().map(v -> SampleBuilder.builder().name(histogram.getName()).labels(ImmutableMap.<String, String>builder().putAll(baseLabel).put("le", parseHistogramBucket(v)).build()).value(v.getCount()).build()).collect(Collectors.toList()));
            break;
        default:
            return;
    }
    // Agent info
    if (StringUtil.isNotEmpty(data.getService())) {
        service = data.getService();
    }
    if (StringUtil.isNotEmpty(data.getServiceInstance())) {
        serviceInstance = data.getServiceInstance();
    }
    if (data.getTimestamp() > 0) {
        timestamp = data.getTimestamp();
    }
}
Also used : SampleFamilyBuilder(org.apache.skywalking.oap.meter.analyzer.dsl.SampleFamilyBuilder) MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue) Label(org.apache.skywalking.apm.network.language.agent.v3.Label) CollectionUtils(org.apache.skywalking.oap.server.library.util.CollectionUtils) ImmutableMap(com.google.common.collect.ImmutableMap) MeterBucketValue(org.apache.skywalking.apm.network.language.agent.v3.MeterBucketValue) HashMap(java.util.HashMap) StringUtils(org.apache.commons.lang3.StringUtils) HistogramType(org.apache.skywalking.oap.meter.analyzer.dsl.HistogramType) Collectors(java.util.stream.Collectors) ArrayList(java.util.ArrayList) TimeUnit(java.util.concurrent.TimeUnit) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) MeterHistogram(org.apache.skywalking.apm.network.language.agent.v3.MeterHistogram) MetricConvert(org.apache.skywalking.oap.meter.analyzer.MetricConvert) MeterData(org.apache.skywalking.apm.network.language.agent.v3.MeterData) Sample(org.apache.skywalking.oap.meter.analyzer.dsl.Sample) Map(java.util.Map) StringUtil(org.apache.skywalking.oap.server.library.util.StringUtil) MeterHistogram(org.apache.skywalking.apm.network.language.agent.v3.MeterHistogram) MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue) ArrayList(java.util.ArrayList)

Example 5 with MeterSingleValue

use of org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue in project skywalking-java by apache.

the class CounterTest method validateMeterData.

/**
 * Check the single value message
 */
private void validateMeterData(String name, List<Label> labels, double value, MeterData.Builder validate) {
    Assert.assertNotNull(validate);
    Assert.assertEquals(validate.getMetricCase().getNumber(), MeterData.SINGLEVALUE_FIELD_NUMBER);
    MeterSingleValue singleValue = validate.getSingleValue();
    Assert.assertNotNull(singleValue);
    Assert.assertEquals(value, singleValue.getValue(), 0.0);
    Assert.assertEquals(name, singleValue.getName());
    Assert.assertEquals(labels, singleValue.getLabelsList());
}
Also used : MeterSingleValue(org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue)

Aggregations

MeterSingleValue (org.apache.skywalking.apm.network.language.agent.v3.MeterSingleValue)5 ImmutableMap (com.google.common.collect.ImmutableMap)2 ImmutableMap.toImmutableMap (com.google.common.collect.ImmutableMap.toImmutableMap)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 List (java.util.List)2 Map (java.util.Map)2 TimeUnit (java.util.concurrent.TimeUnit)2 Collectors (java.util.stream.Collectors)2 Slf4j (lombok.extern.slf4j.Slf4j)2 StringUtils (org.apache.commons.lang3.StringUtils)2 Label (org.apache.skywalking.apm.network.language.agent.v3.Label)2 MeterBucketValue (org.apache.skywalking.apm.network.language.agent.v3.MeterBucketValue)2 MeterData (org.apache.skywalking.apm.network.language.agent.v3.MeterData)2 MeterHistogram (org.apache.skywalking.apm.network.language.agent.v3.MeterHistogram)2 MetricConvert (org.apache.skywalking.oap.meter.analyzer.MetricConvert)2 HistogramType (org.apache.skywalking.oap.meter.analyzer.dsl.HistogramType)2 Sample (org.apache.skywalking.oap.meter.analyzer.dsl.Sample)2 SampleFamilyBuilder (org.apache.skywalking.oap.meter.analyzer.dsl.SampleFamilyBuilder)2 CollectionUtils (org.apache.skywalking.oap.server.library.util.CollectionUtils)2