use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsSubTypeSimple.
@Test
public void jmxMetricRecordStatsSubTypeSimple() {
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);
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", 6f);
metric.recordSingleMBeanStats(stats, "Jmx/Sample/", values);
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.StatsEngine in project newrelic-java-agent by newrelic.
the class JmxMetricTest method jmxMetricRecordStatsSubTypeSimpleMultiAdd.
@Test
public void jmxMetricRecordStatsSubTypeSimpleMultiAdd() {
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);
Assert.assertEquals(0, stats.getStats("Jmx/Sample/theDiff").getCallCount());
values.clear();
values.put("first", 12f);
values.put("second", 6f);
metric.applySingleMBean("Jmx/Sample/", values, actual);
metric.recordMultMBeanStats(stats, actual);
Assert.assertEquals(1, stats.getStats("Jmx/Sample/theDiff").getCallCount());
Assert.assertEquals(9f, stats.getStats("Jmx/Sample/theDiff").getTotal(), .001);
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class TransactionEventsServiceTest method checkForEvent.
private void checkForEvent() {
assertEquals(1, ((MockRPMService) ServiceFactory.getRPMService()).getEvents().size());
StatsEngine statsEngineForHarvest = ServiceFactory.getStatsService().getStatsEngineForHarvest(EventTestHelper.APP_NAME);
assertTrue(statsEngineForHarvest.getStats(MetricName.create(MetricNames.SUPPORTABILITY_TRANSACTION_EVENT_SERVICE_TRANSACTION_EVENT_SEEN)).hasData());
assertTrue(statsEngineForHarvest.getStats(MetricName.create(MetricNames.SUPPORTABILITY_TRANSACTION_EVENT_SERVICE_TRANSACTION_EVENT_SENT)).hasData());
((MockRPMService) ServiceFactory.getRPMService()).clearEvents();
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class InsightsServiceImplTest method checkForEvent.
public void checkForEvent() {
StatsEngine statsEngineForHarvest = ServiceFactory.getStatsService().getStatsEngineForHarvest(EventTestHelper.APP_NAME);
assertTrue(statsEngineForHarvest.getStats(MetricName.create(MetricNames.SUPPORTABILITY_INSIGHTS_SERVICE_CUSTOMER_SEEN)).hasData());
assertTrue(statsEngineForHarvest.getStats(MetricName.create(MetricNames.SUPPORTABILITY_INSIGHTS_SERVICE_CUSTOMER_SENT)).hasData());
assertEquals(1, ((MockRPMService) ServiceFactory.getRPMService()).getEvents().size());
CustomInsightsEvent customEvent = (CustomInsightsEvent) Iterables.get(((MockRPMService) ServiceFactory.getRPMService()).getEvents(), 0);
assertEquals("CustomEvent", customEvent.getType());
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class JmxGetTest method testJmxGetStats.
@Test
public void testJmxGetStats() throws MalformedObjectNameException {
StatsEngine stats = new StatsEngineImpl();
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
List<JmxMetric> metrics = new ArrayList<>();
metrics.add(JmxMetric.create("hello", JmxType.SIMPLE));
metrics.add(JmxMetric.create("goodbye", JmxType.MONOTONICALLY_INCREASING));
JmxGet object = new JmxSingleMBeanGet("ThreadPool:type=rara,key1=*", "ThreadPool:type=rara,key1=*", null, metrics, null, null);
Map<String, Float> values = new HashMap<>();
values.put("hello", 5f);
values.put("goodbye", 4f);
object.recordStats(stats, createMap("ThreadPool:type=rara,key1=a", values), server);
Assert.assertEquals(5f, stats.getStats("JMX/ThreadPool/rara/a/hello").getTotal(), .001);
Assert.assertEquals(4f, stats.getStats("JMX/ThreadPool/rara/a/goodbye").getTotal(), .001);
values.clear();
values.put("hello", 6f);
values.put("goodbye", 7f);
object.recordStats(stats, createMap("ThreadPool:type=rara,key1=a", values), server);
Assert.assertEquals(11f, stats.getStats("JMX/ThreadPool/rara/a/hello").getTotal(), .001);
Assert.assertEquals(7f, stats.getStats("JMX/ThreadPool/rara/a/goodbye").getTotal(), .001);
}
Aggregations