use of com.hazelcast.internal.metrics.MetricDescriptor in project hazelcast by hazelcast.
the class MetricsCompressorTest method testNewUnitIsConvertedToTag.
@Test
public void testNewUnitIsConvertedToTag() {
boolean isNewUnitIntroduced = false;
ProbeUnit aNewUnit = null;
for (ProbeUnit unit : ProbeUnit.values()) {
if (unit.isNewUnit()) {
isNewUnitIntroduced = true;
aNewUnit = unit;
}
}
assumeTrue(isNewUnitIntroduced);
MetricDescriptor originalMetric = supplier.get().withPrefix("prefix").withMetric("metricName").withDiscriminator("ds", "dsName1").withUnit(aNewUnit).withTag("tag0", "tag0Value");
compressor.addLong(originalMetric, 42L);
byte[] blob = compressor.getBlobAndReset();
MetricConsumer metricConsumerMock = mock(MetricConsumer.class);
MetricsCompressor.extractMetrics(blob, metricConsumerMock, supplierSpy);
MetricDescriptor expectedMetric = supplier.get().withPrefix("prefix").withMetric("metricName").withDiscriminator("ds", "dsName1").withUnit(null).withTag("tag0", "tag0Value").withTag("metric-unit", aNewUnit.name());
verify(metricConsumerMock).consumeLong(expectedMetric, 42L);
verifyNoMoreInteractions(metricConsumerMock);
verify(supplierSpy, only()).get();
}
use of com.hazelcast.internal.metrics.MetricDescriptor in project hazelcast by hazelcast.
the class MetricsCompressorTest method testModifyingExtractedDoesntImpactExtraction.
@Test
public void testModifyingExtractedDoesntImpactExtraction() {
DefaultMetricDescriptorSupplier supplier = new DefaultMetricDescriptorSupplier();
MetricsCompressor compressor = new MetricsCompressor();
MetricDescriptor metric1 = supplier.get().withPrefix("prefix").withMetric("metricName").withDiscriminator("name", "objName").withUnit(PERCENT).withTag("tag0", "tag0Value").withTag("tag1", "tag1Value").withExcludedTarget(JMX);
MetricDescriptor sameMetric = metric1.copy();
compressor.addLong(metric1, 42L);
compressor.addLong(sameMetric, 43L);
byte[] blob = compressor.getBlobAndReset();
MetricConsumer metricConsumer = new MetricConsumer() {
@Override
public void consumeLong(MetricDescriptor descriptor, long value) {
if (value == 42L) {
descriptor.reset().withPrefix("modifiedPrefix").withMetric("modifiedMetric").withDiscriminator("name", "modifiedName").withUnit(BYTES).withTag("modifiedTag0", "modifiedTag0Value").withTag("modifiedTag1", "modifiedTag1Value").withExcludedTarget(DIAGNOSTICS);
}
}
@Override
public void consumeDouble(MetricDescriptor descriptor, double value) {
}
};
MetricConsumer metricConsumerSpy = spy(metricConsumer);
MetricsCompressor.extractMetrics(blob, metricConsumerSpy, supplierSpy);
verify(metricConsumerSpy).consumeLong(sameMetric, 43L);
}
use of com.hazelcast.internal.metrics.MetricDescriptor in project hazelcast by hazelcast.
the class MetricsCompressorTest method testTwoMetrics_sameExcludedTargets.
@Test
public void testTwoMetrics_sameExcludedTargets() {
DefaultMetricDescriptorSupplier supplier = new DefaultMetricDescriptorSupplier();
MetricsCompressor compressor = new MetricsCompressor();
MetricDescriptor metric1 = supplier.get().withPrefix("prefix").withMetric("metricName").withExcludedTarget(JMX).withExcludedTarget(MANAGEMENT_CENTER);
MetricDescriptor metric2 = metric1.copy();
compressor.addLong(metric1, 42L);
compressor.addLong(metric2, 43L);
byte[] blob = compressor.getBlobAndReset();
MetricConsumer metricConsumerMock = mock(MetricConsumer.class);
MetricsCompressor.extractMetrics(blob, metricConsumerMock, supplierSpy);
verify(metricConsumerMock).consumeLong(metric1, 42L);
verify(metricConsumerMock).consumeLong(metric2, 43L);
verifyNoMoreInteractions(metricConsumerMock);
verify(supplierSpy, times(2)).get();
}
use of com.hazelcast.internal.metrics.MetricDescriptor in project hazelcast by hazelcast.
the class MetricsCompressorTest method testSingleLongMetric.
@Test
public void testSingleLongMetric() {
MetricDescriptor originalMetric = supplier.get().withPrefix("prefix").withMetric("metricName").withDiscriminator("ds", "dsName1").withUnit(COUNT).withTag("tag0", "tag0Value");
compressor.addLong(originalMetric, 42L);
byte[] blob = compressor.getBlobAndReset();
MetricConsumer metricConsumerMock = mock(MetricConsumer.class);
MetricsCompressor.extractMetrics(blob, metricConsumerMock, supplierSpy);
verify(metricConsumerMock).consumeLong(originalMetric, 42L);
verifyNoMoreInteractions(metricConsumerMock);
verify(supplierSpy, only()).get();
}
use of com.hazelcast.internal.metrics.MetricDescriptor in project hazelcast by hazelcast.
the class MetricsCompressorTest method testSingleDoubleMetric.
@Test
public void testSingleDoubleMetric() {
MetricDescriptor originalMetric = supplier.get().withPrefix("prefix").withMetric("metricName").withDiscriminator("ds", "dsName1").withUnit(COUNT).withTag("tag0", "tag0Value");
compressor.addDouble(originalMetric, 42.42D);
byte[] blob = compressor.getBlobAndReset();
MetricConsumer metricConsumerMock = mock(MetricConsumer.class);
MetricsCompressor.extractMetrics(blob, metricConsumerMock, supplierSpy);
verify(metricConsumerMock).consumeDouble(originalMetric, 42.42D);
verifyNoMoreInteractions(metricConsumerMock);
verify(supplierSpy, only()).get();
}
Aggregations