use of com.newrelic.agent.introspec.Introspector in project newrelic-java-agent by newrelic.
the class CassandraTest method testCancelFuture.
@Test
public void testCancelFuture() {
ResultSetFuture future = demoCancelFuture();
assertTrue("The future is not executed completely", future.isDone());
Introspector introspector = InstrumentationTestRunner.getIntrospector();
assertEquals(1, introspector.getFinishedTransactionCount(1000));
Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
assertEquals(1, transactionNames.size());
String txName = transactionNames.iterator().next();
DatastoreHelper help = new DatastoreHelper(CASSANDRA_PRODUCT);
help.assertScopedOperationMetricCount(txName, "BATCH", 1);
Collection<TransactionTrace> traces = InstrumentationTestRunner.getIntrospector().getTransactionTracesForTransaction(txName);
assertEquals(1, traces.size());
TransactionTrace trace = Iterables.getFirst(traces, null);
assertNotNull(trace);
assertCancelFutureTraceSegmentAttributes(trace);
}
use of com.newrelic.agent.introspec.Introspector in project newrelic-java-agent by newrelic.
the class CassandraInstrumented method testAsyncRequestError.
@Test
public void testAsyncRequestError() {
// Given
Introspector introspector = InstrumentationTestRunner.getIntrospector();
// When
CassandraTestUtils.asyncRequestError(cassandra.session);
// Then
assertEquals(1, introspector.getFinishedTransactionCount(1000));
assertEquals(1, introspector.getErrors().size());
assertEquals(1, introspector.getErrorEvents().size());
}
use of com.newrelic.agent.introspec.Introspector in project newrelic-java-agent by newrelic.
the class CassandraInstrumented method testSyncStatementRequests.
@Test
public void testSyncStatementRequests() {
// Given
Introspector introspector = InstrumentationTestRunner.getIntrospector();
DatastoreHelper helper = new DatastoreHelper(DatastoreVendor.Cassandra.toString());
// When
CassandraTestUtils.statementRequests(cassandra.session);
// Then
assertEquals(1, introspector.getFinishedTransactionCount(1000));
assertEquals(1, introspector.getTransactionNames().size());
String transactionName = introspector.getTransactionNames().stream().findFirst().orElse("");
helper.assertScopedStatementMetricCount(transactionName, "INSERT", "users", 1);
helper.assertScopedStatementMetricCount(transactionName, "SELECT", "users", 3);
helper.assertScopedStatementMetricCount(transactionName, "UPDATE", "users", 1);
helper.assertScopedStatementMetricCount(transactionName, "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);
}
use of com.newrelic.agent.introspec.Introspector in project newrelic-java-agent by newrelic.
the class CassandraInstrumented method testSyncBatchStatementRequests.
@Test
public void testSyncBatchStatementRequests() {
// Given
Introspector introspector = InstrumentationTestRunner.getIntrospector();
DatastoreHelper helper = new DatastoreHelper(DatastoreVendor.Cassandra.toString());
// When
CassandraTestUtils.batchStatementRequests(cassandra.session);
// Then
assertEquals(1, introspector.getFinishedTransactionCount(1000));
assertEquals(1, introspector.getTransactionNames().size());
String transactionName = introspector.getTransactionNames().stream().findFirst().orElse("");
Collection<TransactionTrace> traces = introspector.getTransactionTracesForTransaction(transactionName);
List<TraceSegment> traceSegments = traces.stream().findFirst().map(TransactionTrace::getInitialTraceSegment).map(TraceSegment::getChildren).orElse(Collections.emptyList());
helper.assertScopedOperationMetricCount(transactionName, "BATCH", 1);
helper.assertAggregateMetrics();
helper.assertUnscopedOperationMetricCount("BATCH", 1);
assertEquals(1, traces.size());
assertEquals(1, traceSegments.size());
traceSegments.stream().map(TraceSegment::getTracerAttributes).forEach(x -> {
assertNotNull(x.get("host"));
assertNotNull(x.get("port_path_or_id"));
assertNotNull(x.get("db.instance"));
});
}
use of com.newrelic.agent.introspec.Introspector in project newrelic-java-agent by newrelic.
the class CassandraInstrumented method testAsyncBasicRequests.
@Test
public void testAsyncBasicRequests() {
// Given
Introspector introspector = InstrumentationTestRunner.getIntrospector();
DatastoreHelper helper = new DatastoreHelper(DatastoreVendor.Cassandra.toString());
// When
CassandraTestUtils.asyncBasicRequests(cassandra.session);
// Then
assertEquals(1, introspector.getFinishedTransactionCount(1000));
assertEquals(1, introspector.getTransactionNames().size());
String transactionName = introspector.getTransactionNames().stream().findFirst().orElse("");
helper.assertScopedStatementMetricCount(transactionName, "SELECT", "users", 2);
helper.assertAggregateMetrics();
helper.assertUnscopedOperationMetricCount("SELECT", 2);
helper.assertUnscopedStatementMetricCount("SELECT", "users", 2);
}
Aggregations