use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.
the class MariadbNoInstrumentationTest method testSelect.
@Test
public void testSelect() {
// Given
Introspector introspector = InstrumentationTestRunner.getIntrospector();
DatastoreHelper helper = new DatastoreHelper("MariaDB");
// When
R2dbcTestUtils.basicRequests(connection);
// Then
assertEquals(1, introspector.getFinishedTransactionCount(1000));
assertEquals(1, introspector.getTransactionNames().size());
String transactionName = introspector.getTransactionNames().stream().findFirst().orElse("");
helper.assertScopedStatementMetricCount(transactionName, "INSERT", "USERS", 0);
helper.assertScopedStatementMetricCount(transactionName, "SELECT", "USERS", 0);
helper.assertScopedStatementMetricCount(transactionName, "UPDATE", "USERS", 0);
helper.assertScopedStatementMetricCount(transactionName, "DELETE", "USERS", 0);
}
use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.
the class CassandraTest method testBatchStatementInsideSimpleStatement.
@Test
public void testBatchStatementInsideSimpleStatement() {
demoBatchStatementInsideSimpleStatement();
waitForSegmentEnd();
DatastoreHelper helper = new DatastoreHelper(CASSANDRA_PRODUCT);
helper.assertAggregateMetrics();
helper.assertUnscopedOperationMetricCount("BATCH", 1);
Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
assertEquals(1, transactionNames.size());
String txName = transactionNames.iterator().next();
helper.assertScopedOperationMetricCount(txName, "BATCH", 1);
Collection<TransactionTrace> traces = InstrumentationTestRunner.getIntrospector().getTransactionTracesForTransaction(txName);
assertEquals(1, traces.size());
TransactionTrace trace = Iterables.getFirst(traces, null);
assertNotNull(trace);
assertBatchStatementInsideSimpleStatementTraceSegmentAttributes(trace);
}
use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.
the class CassandraTest method testAddListener.
@Test
public void testAddListener() throws Exception {
ResultSet rs = addListernerTest().get();
ExecutionInfo executionInfo = rs.getExecutionInfo();
QueryTrace queryTrace = executionInfo.getQueryTrace();
assertEquals(1, InstrumentationTestRunner.getIntrospector().getFinishedTransactionCount(30000));
DatastoreHelper help = new DatastoreHelper(CASSANDRA_PRODUCT);
help.assertAggregateMetrics();
help.assertUnscopedOperationMetricCount("BATCH", 1);
Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
String Txname = transactionNames.iterator().next();
help.assertScopedOperationMetricCount(Txname, "BATCH", 1);
Float databaseTime = MetricsHelper.getScopedMetricExclusiveTimeInSec(Txname, help.getOperationMetricName("BATCH"));
Double timeDiff = ((databaseTime * 1000.0) - ((queryTrace.getDurationMicros()) / 1000.0));
assertTrue("Database time includes the user callbacks.", timeDiff < 15);
assertTrue("No time was captured for database.", databaseTime > 0);
Collection<TransactionTrace> traces = InstrumentationTestRunner.getIntrospector().getTransactionTracesForTransaction(Txname);
assertEquals(1, traces.size());
TransactionTrace trace = Iterables.getFirst(traces, null);
assertNotNull(trace);
assertListenerTraceSegmentAttributes(trace);
}
use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.
the class CassandraTest method testBasicWrapped.
@Test
public void testBasicWrapped() {
demoBasicWrapped();
assertEquals(1, InstrumentationTestRunner.getIntrospector().getFinishedTransactionCount(1000));
Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
assertEquals(1, transactionNames.size());
String txName = transactionNames.iterator().next();
DatastoreHelper helper = new DatastoreHelper(CASSANDRA_PRODUCT);
helper.assertScopedStatementMetricCount(txName, "INSERT", "users", 1);
helper.assertScopedStatementMetricCount(txName, "SELECT", "users", 3);
helper.assertScopedStatementMetricCount(txName, "UPDATE", "users", 1);
helper.assertScopedStatementMetricCount(txName, "DELETE", "users", 1);
helper.assertAggregateMetrics();
helper.assertUnscopedOperationMetricCount("INSERT", 1);
helper.assertUnscopedOperationMetricCount("SELECT", 3);
helper.assertUnscopedOperationMetricCount("UPDATE", 1);
helper.assertUnscopedOperationMetricCount("DELETE", 1);
helper.assertUnscopedStatementMetricCount("INSERT", "users", 1);
helper.assertUnscopedStatementMetricCount("SELECT", "users", 3);
helper.assertUnscopedStatementMetricCount("UPDATE", "users", 1);
helper.assertUnscopedStatementMetricCount("DELETE", "users", 1);
Collection<TransactionTrace> traces = InstrumentationTestRunner.getIntrospector().getTransactionTracesForTransaction(txName);
assertEquals(1, traces.size());
TransactionTrace trace = Iterables.getFirst(traces, null);
assertNotNull(trace);
assertBasicTraceSegmentAttributes(trace);
}
use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.
the class CassandraTest method testBatchStatement.
@Test
public void testBatchStatement() {
demoBatchStatement();
waitForSegmentEnd();
DatastoreHelper helper = new DatastoreHelper(CASSANDRA_PRODUCT);
helper.assertAggregateMetrics();
helper.assertUnscopedOperationMetricCount("BATCH", 1);
Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
assertEquals(1, transactionNames.size());
String txName = transactionNames.iterator().next();
helper.assertScopedOperationMetricCount(txName, "BATCH", 1);
Collection<TransactionTrace> traces = InstrumentationTestRunner.getIntrospector().getTransactionTracesForTransaction(txName);
assertEquals(1, traces.size());
TransactionTrace trace = Iterables.getFirst(traces, null);
assertNotNull(trace);
assertBatchStatementTraceSegmentAttributes(trace);
}
Aggregations