/** * Create a new counter with a name and context. The returned counter will maintain separate * sub-monitors for each distinct set of tags returned from the context on an update operation. */ public static Counter newCounter(String name, TaggingContext context) { final MonitorConfig config = MonitorConfig.builder(name).build(); return new ContextualCounter(config, context, COUNTER_FUNCTION); }
/** * {@inheritDoc} */ @Override public void increment() { getMonitorForCurrentContext().increment(); }
public void update() { c.increment(); t.record(42, TimeUnit.NANOSECONDS); } }
@Test public void testContextualCounter() { TagList context = BasicTagList.of("a", "1"); ContextualCounter c = new ContextualCounter(CONFIG, () -> context, BasicCounter::new); c.increment(); Id id = ID.withTag("a", "1"); assertEquals(1, registry.counter(id).count()); }
/** * {@inheritDoc} */ @Override public void increment(long amount) { getMonitorForCurrentContext().increment(amount); }
/** * Create a new counter with a name and context. The returned counter will maintain separate * sub-monitors for each distinct set of tags returned from the context on an update operation. */ public static Counter newCounter(String name, TaggingContext context) { final MonitorConfig config = MonitorConfig.builder(name).build(); return new ContextualCounter(config, context, COUNTER_FUNCTION); }
/** * {@inheritDoc} */ @Override public Number getValue(int pollerIndex) { return getMonitorForCurrentContext().getValue(pollerIndex); } }
/** * {@inheritDoc} */ @Override public void increment() { getMonitorForCurrentContext().increment(); }
/** * {@inheritDoc} */ @Override public void increment(long amount) { getMonitorForCurrentContext().increment(amount); }
/** * {@inheritDoc} */ @Override public Number getValue(int pollerIndex) { return getMonitorForCurrentContext().getValue(pollerIndex); } }