Search in sources :

Example 66 with DatastoreHelper

use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.

the class MongoDbAsync380Test method testCollectionApi.

@Test
public void testCollectionApi() throws Exception {
    runMongoDbAsyncQuickStart();
    Introspector introspector = InstrumentationTestRunner.getIntrospector();
    assertEquals(1, introspector.getFinishedTransactionCount(1000));
    DatastoreHelper helper = new DatastoreHelper(MONGODB_PRODUCT);
    helper.assertAggregateMetrics();
    Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
    assertEquals(1, transactionNames.size());
    String txName = transactionNames.iterator().next();
    // Counts based on operations executed in MongoDbAsyncQuickStart
    int insertOpExpectedCount = 1;
    int insertManyOpExpectedCount = 1;
    int updateOpExpectedCount = 1;
    int updateManyOpExpectedCount = 1;
    int deleteOpExpectedCount = 1;
    int deleteManyOpExpectedCount = 1;
    int findOpExpectedCount = 14;
    int dropOpExpectedCount = 3;
    int countOpExpectedCount = 1;
    int bulkWriteOpExpectedCount = 2;
    helper.assertUnifiedMetricCounts(txName, "insert", "test", insertOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "insertMany", "test", insertManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "update", "test", updateOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "updateMany", "test", updateManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "delete", "test", deleteOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "deleteMany", "test", deleteManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "find", "test", findOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "drop", "test", dropOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "count", "test", countOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "bulkWrite", "test", bulkWriteOpExpectedCount);
    int totalOpCount = insertOpExpectedCount + insertManyOpExpectedCount + updateOpExpectedCount + updateManyOpExpectedCount + deleteOpExpectedCount + deleteManyOpExpectedCount + findOpExpectedCount + dropOpExpectedCount + countOpExpectedCount + bulkWriteOpExpectedCount;
    // Should be equal to the sum of all above metric counts
    assertEquals(totalOpCount, MetricsHelper.getUnscopedMetricCount("Datastore/all"));
    assertEquals(totalOpCount, MetricsHelper.getUnscopedMetricCount("Datastore/MongoDB/allOther"));
    assertEquals(totalOpCount, introspector.getTransactionEvents(txName).iterator().next().getDatabaseCallCount());
}
Also used : Introspector(com.newrelic.agent.introspec.Introspector) ConnectionString(com.mongodb.ConnectionString) DatastoreHelper(com.newrelic.agent.introspec.DatastoreHelper) Test(org.junit.Test)

Example 67 with DatastoreHelper

use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.

the class MongoDbAsync370Test method testCollectionApi.

@Test
public void testCollectionApi() throws Exception {
    runMongoDbAsyncQuickStart();
    Introspector introspector = InstrumentationTestRunner.getIntrospector();
    assertEquals(1, introspector.getFinishedTransactionCount(1000));
    DatastoreHelper helper = new DatastoreHelper(MONGODB_PRODUCT);
    helper.assertAggregateMetrics();
    Collection<String> transactionNames = InstrumentationTestRunner.getIntrospector().getTransactionNames();
    assertEquals(1, transactionNames.size());
    String txName = transactionNames.iterator().next();
    // Counts based on operations executed in MongoDbAsyncQuickStart
    int insertOpExpectedCount = 1;
    int insertManyOpExpectedCount = 1;
    int updateOpExpectedCount = 1;
    int updateManyOpExpectedCount = 1;
    int deleteOpExpectedCount = 1;
    int deleteManyOpExpectedCount = 1;
    int findOpExpectedCount = 14;
    int dropOpExpectedCount = 3;
    int countOpExpectedCount = 1;
    int bulkWriteOpExpectedCount = 2;
    helper.assertUnifiedMetricCounts(txName, "insert", "test", insertOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "insertMany", "test", insertManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "update", "test", updateOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "updateMany", "test", updateManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "delete", "test", deleteOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "deleteMany", "test", deleteManyOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "find", "test", findOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "drop", "test", dropOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "count", "test", countOpExpectedCount);
    helper.assertUnifiedMetricCounts(txName, "bulkWrite", "test", bulkWriteOpExpectedCount);
    int totalOpCount = insertOpExpectedCount + insertManyOpExpectedCount + updateOpExpectedCount + updateManyOpExpectedCount + deleteOpExpectedCount + deleteManyOpExpectedCount + findOpExpectedCount + dropOpExpectedCount + countOpExpectedCount + bulkWriteOpExpectedCount;
    // Should be equal to the sum of all above metric counts
    assertEquals(totalOpCount, MetricsHelper.getUnscopedMetricCount("Datastore/all"));
    assertEquals(totalOpCount, MetricsHelper.getUnscopedMetricCount("Datastore/MongoDB/allOther"));
    assertEquals(totalOpCount, introspector.getTransactionEvents(txName).iterator().next().getDatabaseCallCount());
}
Also used : Introspector(com.newrelic.agent.introspec.Introspector) ConnectionString(com.mongodb.ConnectionString) DatastoreHelper(com.newrelic.agent.introspec.DatastoreHelper) Test(org.junit.Test)

Example 68 with DatastoreHelper

use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.

the class MariadbInstrumentedTest 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", 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);
}
Also used : Introspector(com.newrelic.agent.introspec.Introspector) DatastoreHelper(com.newrelic.agent.introspec.DatastoreHelper) Test(org.junit.Test)

Example 69 with DatastoreHelper

use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.

the class H2InstrumentedTest method testSelect.

@Test
public void testSelect() {
    // Given
    Introspector introspector = InstrumentationTestRunner.getIntrospector();
    DatastoreHelper helper = new DatastoreHelper(DatastoreVendor.H2.toString());
    // 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", 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);
}
Also used : Introspector(com.newrelic.agent.introspec.Introspector) DatastoreHelper(com.newrelic.agent.introspec.DatastoreHelper) Test(org.junit.Test)

Example 70 with DatastoreHelper

use of com.newrelic.agent.introspec.DatastoreHelper in project newrelic-java-agent by newrelic.

the class PostgresqlInstrumentedTest method testBasicRequests.

@Test
public void testBasicRequests() {
    // Given
    Introspector introspector = InstrumentationTestRunner.getIntrospector();
    DatastoreHelper helper = new DatastoreHelper("Postgres");
    // 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", 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);
}
Also used : Introspector(com.newrelic.agent.introspec.Introspector) DatastoreHelper(com.newrelic.agent.introspec.DatastoreHelper) Test(org.junit.Test)

Aggregations

DatastoreHelper (com.newrelic.agent.introspec.DatastoreHelper)74 Test (org.junit.Test)72 Introspector (com.newrelic.agent.introspec.Introspector)69 Java16IncompatibleTest (com.newrelic.test.marker.Java16IncompatibleTest)11 Java17IncompatibleTest (com.newrelic.test.marker.Java17IncompatibleTest)11 ConnectionString (com.mongodb.ConnectionString)9 Java7IncompatibleTest (com.newrelic.test.marker.Java7IncompatibleTest)8 TransactionTrace (com.newrelic.agent.introspec.TransactionTrace)7 Java10IncompatibleTest (com.newrelic.test.marker.Java10IncompatibleTest)5 Java11IncompatibleTest (com.newrelic.test.marker.Java11IncompatibleTest)5 Java12IncompatibleTest (com.newrelic.test.marker.Java12IncompatibleTest)5 Java13IncompatibleTest (com.newrelic.test.marker.Java13IncompatibleTest)5 Java14IncompatibleTest (com.newrelic.test.marker.Java14IncompatibleTest)5 Java15IncompatibleTest (com.newrelic.test.marker.Java15IncompatibleTest)5 Java18IncompatibleTest (com.newrelic.test.marker.Java18IncompatibleTest)5 Java9IncompatibleTest (com.newrelic.test.marker.Java9IncompatibleTest)5 Ignore (org.junit.Ignore)3 Data (com.nr.lettuce5.instrumentation.helper.Data)2 Data (com.nr.lettuce6.instrumentation.helper.Data)2 AttributeValue (com.amazonaws.services.dynamodbv2.model.AttributeValue)1