use of com.codahale.metrics.jdbi.strategies.SmartNameStrategy in project metrics by dropwizard.
the class InstrumentedTimingCollectorTest method updatesTimerForContextGroupAndName.
@Test
public void updatesTimerForContextGroupAndName() throws Exception {
final StatementNameStrategy strategy = new SmartNameStrategy();
final InstrumentedTimingCollector collector = new InstrumentedTimingCollector(registry, strategy);
final StatementContext ctx = mock(StatementContext.class);
doReturn("SELECT 1").when(ctx).getRawSql();
doReturn("my-group").when(ctx).getAttribute(NameStrategies.STATEMENT_GROUP);
doReturn("updatesTimerForContextGroupAndName").when(ctx).getAttribute(NameStrategies.STATEMENT_NAME);
collector.collect(TimeUnit.SECONDS.toNanos(4), ctx);
final String name = strategy.getStatementName(ctx);
final Timer timer = registry.timer(name);
assertThat(name).isEqualTo(name("my-group", "updatesTimerForContextGroupAndName", ""));
assertThat(timer.getSnapshot().getMax()).isEqualTo(4000000000L);
}
use of com.codahale.metrics.jdbi.strategies.SmartNameStrategy in project metrics by dropwizard.
the class InstrumentedTimingCollectorTest method updatesTimerForContextGroupTypeAndName.
@Test
public void updatesTimerForContextGroupTypeAndName() throws Exception {
final StatementNameStrategy strategy = new SmartNameStrategy();
final InstrumentedTimingCollector collector = new InstrumentedTimingCollector(registry, strategy);
final StatementContext ctx = mock(StatementContext.class);
doReturn("SELECT 1").when(ctx).getRawSql();
doReturn("my-group").when(ctx).getAttribute(NameStrategies.STATEMENT_GROUP);
doReturn("my-type").when(ctx).getAttribute(NameStrategies.STATEMENT_TYPE);
doReturn("updatesTimerForContextGroupTypeAndName").when(ctx).getAttribute(NameStrategies.STATEMENT_NAME);
collector.collect(TimeUnit.SECONDS.toNanos(5), ctx);
final String name = strategy.getStatementName(ctx);
final Timer timer = registry.timer(name);
assertThat(name).isEqualTo(name("my-group", "my-type", "updatesTimerForContextGroupTypeAndName"));
assertThat(timer.getSnapshot().getMax()).isEqualTo(5000000000L);
}
use of com.codahale.metrics.jdbi.strategies.SmartNameStrategy in project metrics by dropwizard.
the class InstrumentedTimingCollectorTest method updatesTimerForRawSql.
@Test
public void updatesTimerForRawSql() throws Exception {
final StatementNameStrategy strategy = new SmartNameStrategy();
final InstrumentedTimingCollector collector = new InstrumentedTimingCollector(registry, strategy);
final StatementContext ctx = mock(StatementContext.class);
doReturn("SELECT 1").when(ctx).getRawSql();
collector.collect(TimeUnit.SECONDS.toNanos(2), ctx);
final String name = strategy.getStatementName(ctx);
final Timer timer = registry.timer(name);
assertThat(name).isEqualTo(name("sql", "raw", "SELECT 1"));
assertThat(timer.getSnapshot().getMax()).isEqualTo(2000000000);
}
use of com.codahale.metrics.jdbi.strategies.SmartNameStrategy in project metrics by dropwizard.
the class InstrumentedTimingCollectorTest method updatesTimerForNonSqlishRawSql.
@Test
public void updatesTimerForNonSqlishRawSql() throws Exception {
final StatementNameStrategy strategy = new SmartNameStrategy();
final InstrumentedTimingCollector collector = new InstrumentedTimingCollector(registry, strategy);
final StatementContext ctx = mock(StatementContext.class);
doReturn("don't know what it is but it's not SQL").when(ctx).getRawSql();
collector.collect(TimeUnit.SECONDS.toNanos(3), ctx);
final String name = strategy.getStatementName(ctx);
final Timer timer = registry.timer(name);
assertThat(name).isEqualTo(name("sql", "raw", "don't know what it is but it's not SQL"));
assertThat(timer.getSnapshot().getMax()).isEqualTo(3000000000L);
}
Aggregations