use of com.newrelic.agent.stats.StatsEngineImpl in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsChangeNameSimple.
@Test
public void jmxMetricRecordStatsChangeNameSimple() {
StatsEngine stats = new StatsEngineImpl();
JmxMetric metric = JmxMetric.create("hello", "theHello", JmxType.SIMPLE);
Map<String, Float> values = new HashMap<>();
values.put("hello", 5f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/theHello").getCallCount());
Assert.assertEquals(5f, stats.getStats("Jmx/Sample/theHello").getTotal(), 0);
values.clear();
values.put("hello", 7f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(2, stats.getStats("Jmx/Sample/theHello").getCallCount());
Assert.assertEquals(12f, stats.getStats("Jmx/Sample/theHello").getTotal(), .001);
}
use of com.newrelic.agent.stats.StatsEngineImpl in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsSubTypeMono.
@Test
public void jmxMetricRecordStatsSubTypeMono() {
StatsEngine stats = new StatsEngineImpl();
JmxMetric metric = JmxMetric.create(new String[] { "first", "second" }, "theDiff", JmxAction.SUBTRACT_ALL_FROM_FIRST, JmxType.MONOTONICALLY_INCREASING);
Map<String, Float> values = new HashMap<>();
values.put("first", 10f);
values.put("second", 7f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/theDiff").getCallCount());
Assert.assertEquals(3f, stats.getStats("Jmx/Sample/theDiff").getTotal(), .001);
values.clear();
values.put("first", 12f);
values.put("second", 5f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(2, stats.getStats("Jmx/Sample/theDiff").getCallCount());
Assert.assertEquals(7f, stats.getStats("Jmx/Sample/theDiff").getTotal(), .001);
}
use of com.newrelic.agent.stats.StatsEngineImpl in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsSubTypeSimpleMulti.
@Test
public void jmxMetricRecordStatsSubTypeSimpleMulti() {
StatsEngine stats = new StatsEngineImpl();
JmxMetric metric = JmxMetric.create(new String[] { "first", "second" }, "theDiff", JmxAction.SUBTRACT_ALL_FROM_FIRST, JmxType.SIMPLE);
Map<String, Float> values = new HashMap<>();
values.put("first", 10f);
values.put("second", 7f);
Map<String, Float> actual = new HashMap<>();
metric.applySingleMBean("Jmx/Sample/", values, actual);
metric.recordMultMBeanStats(stats, actual);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/theDiff").getCallCount());
Assert.assertEquals(3f, stats.getStats("Jmx/Sample/theDiff").getTotal(), .001);
values.clear();
actual.clear();
values.put("first", 12f);
values.put("second", 6f);
metric.applySingleMBean("Jmx/Sample/", values, actual);
metric.recordMultMBeanStats(stats, actual);
Assert.assertEquals(2, stats.getStats("Jmx/Sample/theDiff").getCallCount());
Assert.assertEquals(9f, stats.getStats("Jmx/Sample/theDiff").getTotal(), .001);
}
use of com.newrelic.agent.stats.StatsEngineImpl in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsMonotonically.
@Test
public void jmxMetricRecordStatsMonotonically() {
StatsEngine stats = new StatsEngineImpl();
JmxMetric metric = JmxMetric.create("hello", JmxType.MONOTONICALLY_INCREASING);
Map<String, Float> values = new HashMap<>();
values.put("hello", 5f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/hello").getCallCount());
Assert.assertEquals(5f, stats.getStats("Jmx/Sample/hello").getTotal(), .001);
values.clear();
values.put("hello", 7f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
Assert.assertEquals(2, stats.getStats("Jmx/Sample/hello").getCallCount());
Assert.assertEquals(7f, stats.getStats("Jmx/Sample/hello").getTotal(), .001);
}
use of com.newrelic.agent.stats.StatsEngineImpl in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsSimpleForMultiBeanAddition.
@Test
public void jmxMetricRecordStatsSimpleForMultiBeanAddition() {
StatsEngine stats = new StatsEngineImpl();
JmxMetric metric = JmxMetric.create("hello", JmxType.SIMPLE);
Map<String, Float> values = new HashMap<>();
values.put("hello", 5f);
Map<String, Float> actual = new HashMap<>();
metric.applySingleMBean("Jmx/Sample/", values, actual);
Assert.assertEquals(Float.valueOf(5), actual.get("Jmx/Sample/hello"));
values.clear();
// do not clear actual
values.put("hello", 7f);
metric.applySingleMBean("Jmx/Sample/", values, actual);
Assert.assertEquals(Float.valueOf(12), actual.get("Jmx/Sample/hello"));
metric.recordMultMBeanStats(stats, actual);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/hello").getCallCount());
Assert.assertEquals(12f, stats.getStats("Jmx/Sample/hello").getTotal(), 0);
}
Aggregations