下面列出了怎么用com.codahale.metrics.MetricRegistryListener的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void scopesMetricsBeforeDelegatingToUnderlyingMetricRegistry() {
MetricRegistry metricRegistry = mock(MetricRegistry.class);
MetricRegistry scopedMetricRegistry = new ScopedMetricRegistry("scope", metricRegistry);
scopedMetricRegistry.counter("counter");
verify(metricRegistry).counter("scope.counter");
scopedMetricRegistry.meter("meter");
verify(metricRegistry).meter("scope.meter");
scopedMetricRegistry.histogram("histogram");
verify(metricRegistry).histogram("scope.histogram");
scopedMetricRegistry.timer("timer");
verify(metricRegistry).timer("scope.timer");
Metric metric = new Counter();
scopedMetricRegistry.register("register.counter", metric);
verify(metricRegistry).register("scope.register.counter", metric);
scopedMetricRegistry.deregister("register.counter");
verify(metricRegistry).deregister("scope.register.counter");
MetricRegistryListener listener = mock(MetricRegistryListener.class);
scopedMetricRegistry.addListener(listener);
verify(metricRegistry).addListener(listener);
scopedMetricRegistry.removeListener(listener);
verify(metricRegistry).removeListener(listener);
}
@Override
public void addListener(MetricRegistryListener listener) {
}
@Override
public void removeListener(MetricRegistryListener listener) {
}
@Override
public void addListener(MetricRegistryListener listener) {
this.metricRegistry.addListener(listener);
}
@Override
public void removeListener(MetricRegistryListener listener) {
this.metricRegistry.removeListener(listener);
}
@Override
public void addListener(MetricRegistryListener listener) {
this.parent.addListener(listener);
}
@Override
public void removeListener(MetricRegistryListener listener) {
this.parent.removeListener(listener);
}
@BeforeEach
public void setUp() {
this.metricRegistry = new CodaHaleMetricRegistry(new com.codahale.metrics.MetricRegistry());
this.listener = mock(MetricRegistryListener.class);
}
/**
* Adds a {@link MetricRegistryListener} to a collection of listeners that will be notified on
* metric creation. Listeners will be notified in the order in which they are added.
* <p/>
* <b>N.B.:</b> The listener will be notified of all existing metrics when it first registers.
*
* @param listener the listener that will be notified
*/
void addListener(MetricRegistryListener listener);
/**
* Removes a {@link MetricRegistryListener} from this registry's collection of listeners.
*
* @param listener the listener that will be removed
*/
void removeListener(MetricRegistryListener listener);