use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class InstrumentTestUtils method verifyCountMetric.
public static void verifyCountMetric(Map<String, Integer> expected) {
StatsEngine statsEngine = AgentHelper.getDefaultStatsEngine();
verifyCountMetric(expected, statsEngine);
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class InstrumentTestUtils method getAndClearMetricData.
public static Map<String, Integer> getAndClearMetricData() {
StatsEngine statsEngine = AgentHelper.getDefaultStatsEngine();
List<MetricData> data = statsEngine.getMetricData(new MockNormalizer());
Map<String, Integer> dataMap = new HashMap<>();
for (MetricData metricData : data) {
StatsBase stats = metricData.getStats();
if (stats instanceof CountStats) {
dataMap.put(metricData.getMetricName().getName(), ((CountStats) stats).getCallCount());
} else {
dataMap.put(metricData.getMetricName().getName(), 0);
}
}
return dataMap;
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class RPMServiceTest method doHarvest.
private void doHarvest() throws Exception {
List<String> appNames = singletonList("MyApplication");
RPMService svc = new RPMService(appNames, null, null, Collections.<AgentConnectionEstablishedListener>emptyList());
svc.launch();
synchronized (this) {
wait(1000);
}
StatsEngine harvestStatsEngine = new StatsEngineImpl();
try {
for (int i = 0; i < 1000; i++) {
harvestStatsEngine.getResponseTimeStats(MetricNames.EXTERNAL_ALL).recordResponseTime(66, TimeUnit.MILLISECONDS);
}
svc.harvest(harvestStatsEngine);
Stats stats3 = harvestStatsEngine.getStats(MetricNames.AGENT_METRICS_COUNT);
assertEquals(0, stats3.getCallCount());
ResponseTimeStats stats = harvestStatsEngine.getResponseTimeStats(MetricNames.SUPPORTABILITY_METRIC_HARVEST_TRANSMIT);
assertEquals(1, stats.getCallCount());
assertTrue(stats.getTotal() > 0);
Stats stats2 = harvestStatsEngine.getStats(MetricNames.SUPPORTABILITY_METRIC_HARVEST_COUNT);
assertEquals(1, stats2.getCallCount());
} finally {
svc.shutdown();
}
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class J2EEStatsAttributeTest method addJmxValueJdbcTest.
@Test
public void addJmxValueJdbcTest() throws MalformedObjectNameException {
JDBCStats count = new JDBCStats() {
@Override
public Statistic[] getStatistics() {
return new Statistic[0];
}
@Override
public String[] getStatisticNames() {
return null;
}
@Override
public Statistic getStatistic(String statisticName) {
return null;
}
@Override
public JDBCConnectionStats[] getConnections() {
return new JDBCConnectionStats[0];
}
@Override
public JDBCConnectionPoolStats[] getConnectionPools() {
return new JDBCConnectionPoolStats[] { new TestJdbcConnectionPool() };
}
};
Attribute att = new Attribute("stats", count);
J2EEStatsAttributeProcessor processor = new J2EEStatsAttributeProcessor();
StatsEngine engine = new StatsEngineImpl();
processor.process(engine, new ObjectInstance("tezt:type=1", "test"), att, "JMX/Test", new HashMap<String, Float>());
// check count stats
Assert.assertEquals(77, engine.getStats("JMX/Test/Create").getTotal(), .001);
Assert.assertEquals(1, engine.getStats("JMX/Test/Create").getCallCount(), .001);
Assert.assertEquals(9, engine.getStats("JMX/Test/Close").getTotal(), .001);
Assert.assertEquals(1, engine.getStats("JMX/Test/Close").getCallCount(), .001);
// check time stats
Assert.assertEquals(12, engine.getResponseTimeStats("JMX/Test/WaitTime").getMaxCallTime(), .001);
Assert.assertEquals(8, engine.getResponseTimeStats("JMX/Test/WaitTime").getMinCallTime(), .001);
Assert.assertEquals(2, engine.getResponseTimeStats("JMX/Test/WaitTime").getCallCount(), .001);
Assert.assertEquals(6, engine.getResponseTimeStats("JMX/Test/UserTime").getMaxCallTime(), .001);
Assert.assertEquals(4, engine.getResponseTimeStats("JMX/Test/UserTime").getMinCallTime(), .001);
Assert.assertEquals(2, engine.getResponseTimeStats("JMX/Test/UserTime").getCallCount(), .001);
}
use of com.newrelic.agent.stats.StatsEngine in project newrelic-java-agent by newrelic.
the class J2EEStatsAttributeTest method processStatRangeTest.
@Test
public void processStatRangeTest() {
RangeStatistic count = new RangeStatistic() {
@Override
public String getUnit() {
return null;
}
@Override
public long getStartTime() {
return 0;
}
@Override
public String getName() {
return "LiveCount";
}
@Override
public long getLastSampleTime() {
return 0;
}
@Override
public String getDescription() {
return null;
}
@Override
public long getLowWaterMark() {
return 0;
}
@Override
public long getHighWaterMark() {
return 10;
}
@Override
public long getCurrent() {
return 9;
}
};
Attribute att = new Attribute("stats.LiveCount", count);
StatsEngine statsEngine = new StatsEngineImpl();
J2EEStatsAttributeProcessor.processStatistic(statsEngine, "Jmx/Test", att, count);
Assert.assertEquals(9, statsEngine.getStats("Jmx/Test/LiveCount").getTotal(), .001);
}
Aggregations