|
1 | 1 | package org.amoseman.cmdb.application; |
2 | 2 |
|
| 3 | +import com.codahale.metrics.ConsoleReporter; |
| 4 | +import com.codahale.metrics.Meter; |
| 5 | +import com.codahale.metrics.MetricRegistry; |
3 | 6 | import io.dropwizard.auth.AuthDynamicFeature; |
4 | 7 | import io.dropwizard.auth.AuthValueFactoryProvider; |
5 | 8 | import io.dropwizard.auth.basic.BasicCredentialAuthFilter; |
|
23 | 26 | import org.amoseman.cmdb.databaseclient.databaseclients.MongoDatabaseClient; |
24 | 27 | import org.amoseman.cmdb.databaseclient.databaseclients.RedisDatabaseClient; |
25 | 28 |
|
| 29 | +import java.util.concurrent.TimeUnit; |
| 30 | + |
26 | 31 | /** |
27 | 32 | * The configuration management database (CMDB) application. |
28 | 33 | */ |
@@ -60,11 +65,17 @@ public void run(ApplicationConfiguration configuration, Environment environment) |
60 | 65 | default -> throw new RuntimeException("Invalid database type"); |
61 | 66 | }; |
62 | 67 |
|
| 68 | + MetricRegistry metrics = new MetricRegistry(); |
| 69 | + ConsoleReporter reporter = ConsoleReporter.forRegistry(metrics) |
| 70 | + .convertRatesTo(TimeUnit.SECONDS) |
| 71 | + .convertDurationsTo(TimeUnit.MILLISECONDS) |
| 72 | + .build(); |
| 73 | + reporter.start(60, TimeUnit.SECONDS); |
63 | 74 |
|
64 | | - ConfigurationResource configurationResource = new ConfigurationResource(configurationDAO, configuration.getDefaultValue()); |
| 75 | + ConfigurationResource configurationResource = new ConfigurationResource(configurationDAO, configuration.getDefaultValue(), metrics); |
65 | 76 | environment.jersey().register(configurationResource); |
66 | 77 |
|
67 | | - AccountResource accountResource = new AccountResource(accountDAO); |
| 78 | + AccountResource accountResource = new AccountResource(accountDAO, metrics); |
68 | 79 | environment.jersey().register(accountResource); |
69 | 80 |
|
70 | 81 | // security |
|
0 commit comments