public Timer apply(MonitorConfig config) { return new BasicTimer(config, unit); } }
private BasicTimer newTimer(ConfigUnit configUnit) { return new BasicTimer(configUnit.config, configUnit.unit); }
/** * Create a new timer with only the name specified. */ public static Timer newTimer(String name, TimeUnit unit) { return new BasicTimer(MonitorConfig.builder(name).build(), unit); }
@Test public void testUnregisteredBasicTimer() { BasicTimer t = new BasicTimer(CONFIG); assertEquals(0, registry.timers().count()); }
private ConnectionCleanerTask(int connectionIdleTimeout) { this.connectionIdleTimeout = connectionIdleTimeout; MonitorConfig.Builder monitorConfigBuilder = MonitorConfig.builder("Eureka-Connection-Cleaner-Time"); executionTimeStats = new BasicTimer(monitorConfigBuilder.build()); cleanupFailed = new BasicCounter(MonitorConfig.builder("Eureka-Connection-Cleaner-Failure").build()); try { Monitors.registerObject(this); } catch (Exception e) { s_logger.error("Unable to register with servo.", e); } }
TimedHandler(Class<T> ctype, T concrete, String id) { this.concrete = concrete; BasicTagList tagList = BasicTagList.of( INTERFACE_TAG, ctype.getSimpleName(), CLASS_TAG, concrete.getClass().getSimpleName()); if (id != null) { tagList = tagList.copy(ID_TAG, id); } baseTagList = tagList; baseConfig = MonitorConfig.builder(TIMED_INTERFACE).withTags(baseTagList).build(); timers = new HashMap<>(); for (Method method : ctype.getMethods()) { final MonitorConfig config = MonitorConfig.builder(method.getName()) .withTags(baseTagList) .build(); timers.put(method.getName(), new BasicTimer(config)); } }
public ApacheHttpClientConnectionCleaner(ApacheHttpClient4 apacheHttpClient, final long connectionIdleTimeout) { this.apacheHttpClient = apacheHttpClient; this.eurekaConnCleaner.scheduleWithFixedDelay( new Runnable() { @Override public void run() { cleanIdle(connectionIdleTimeout); } }, HTTP_CONNECTION_CLEANER_INTERVAL_MS, HTTP_CONNECTION_CLEANER_INTERVAL_MS, TimeUnit.MILLISECONDS ); MonitorConfig.Builder monitorConfigBuilder = MonitorConfig.builder("Eureka-Connection-Cleaner-Time"); executionTimeStats = new BasicTimer(monitorConfigBuilder.build()); cleanupFailed = new BasicCounter(MonitorConfig.builder("Eureka-Connection-Cleaner-Failure").build()); try { Monitors.registerObject(this); } catch (Exception e) { logger.error("Unable to register with servo.", e); } }
/** * Erase all previous timers by creating a new loading cache with a short expiration time */ @BeforeMethod public void setupInstance() throws Exception { LOGGER.info("Setting up DynamicTimer instance with a new cache"); DynamicTimer theInstance = getInstance(); Field timers = DynamicTimer.class.getDeclaredField("timers"); timers.setAccessible(true); ExpiringCache<DynamicTimer.ConfigUnit, Timer> newShortExpiringCache = new ExpiringCache<>(1000L, configUnit -> new BasicTimer(configUnit.getConfig(), configUnit.getUnit()), 100L, clock); timers.set(theInstance, newShortExpiringCache); }
public BasicTimer newInstance(String name) { return new BasicTimer(MonitorConfig.builder(name).build()); }
EurekaHttpClientRequestMetrics(String resourceName) { this.countersByStatus = createStatusCounters(resourceName); latencyTimer = new BasicTimer( MonitorConfig.builder(EurekaClientNames.METRIC_TRANSPORT_PREFIX + "latency") .withTag("id", resourceName) .withTag("class", MetricsCollectingEurekaHttpClient.class.getSimpleName()) .build(), TimeUnit.MILLISECONDS ); ServoUtil.register(latencyTimer); this.connectionErrors = new BasicCounter( MonitorConfig.builder(EurekaClientNames.METRIC_TRANSPORT_PREFIX + "connectionErrors") .withTag("id", resourceName) .withTag("class", MetricsCollectingEurekaHttpClient.class.getSimpleName()) .build() ); ServoUtil.register(connectionErrors); }
@Test public void testUnregisteredBasicTimerIncrement() { BasicTimer t = new BasicTimer(CONFIG); t.record(42, TimeUnit.MILLISECONDS); Id id = registry.createId("test") .withTag("unit", "MILLISECONDS"); assertEquals(3, registry.counters().count()); assertEquals(0, registry.timers().count()); assertEquals(1, registry.gauges().count()); assertEquals(0, registry.distributionSummaries().count()); assertEquals(1, registry.counter(id.withTag(Statistic.count)).count()); assertEquals(42, registry.counter(id.withTag(Statistic.totalTime)).count()); assertEquals(42 * 42, registry.counter(id.withTag(Statistic.totalOfSquares)).count()); assertEquals(42.0, registry.maxGauge(id.withTag(Statistic.max)).value()); }
@Test public void testBasicTimerRecordSeconds() { BasicTimer d = new BasicTimer(CONFIG, TimeUnit.SECONDS); register(d); d.record(42, TimeUnit.NANOSECONDS); Id id = ID.withTag("unit", "SECONDS"); assertEquals(1, registry.counter(id.withTag(Statistic.count)).count()); assertEquals(42e-9, registry.counter(id.withTag(Statistic.totalTime)).actualCount(), 1e-12); assertEquals(42e-9 * 42e-9, registry.counter(id.withTag(Statistic.totalOfSquares)).actualCount(), 1e-12); assertEquals(42e-9, registry.maxGauge(id.withTag(Statistic.max)).value(), 1e-12); }
@Test public void testBasicTimerRecordMillis() { BasicTimer d = new BasicTimer(CONFIG); register(d); d.record(42, TimeUnit.NANOSECONDS); Id id = ID.withTag("unit", "MILLISECONDS"); assertEquals(1, registry.counter(id.withTag(Statistic.count)).count()); assertEquals(42e-6, registry.counter(id.withTag(Statistic.totalTime)).actualCount(), 1e-12); assertEquals(42e-6 * 42e-6, registry.counter(id.withTag(Statistic.totalOfSquares)).actualCount(), 1e-12); assertEquals(42e-6, registry.maxGauge(id.withTag(Statistic.max)).value(), 1e-12); }
public Timer apply(MonitorConfig config) { return new BasicTimer(config, unit); } }
private BasicTimer newTimer(ConfigUnit configUnit) { return new BasicTimer(configUnit.config, configUnit.unit); }
/** * Create a new timer with only the name specified. */ public static Timer newTimer(String name, TimeUnit unit) { return new BasicTimer(MonitorConfig.builder(name).build(), unit); }
TimedHandler(Class<T> ctype, T concrete, String id) { this.concrete = concrete; BasicTagList tagList = BasicTagList.of( INTERFACE_TAG, ctype.getSimpleName(), CLASS_TAG, concrete.getClass().getSimpleName()); if (id != null) { tagList = tagList.copy(ID_TAG, id); } baseTagList = tagList; baseConfig = MonitorConfig.builder(TIMED_INTERFACE).withTags(baseTagList).build(); timers = new HashMap<>(); for (Method method : ctype.getMethods()) { final MonitorConfig config = MonitorConfig.builder(method.getName()) .withTags(baseTagList) .build(); timers.put(method.getName(), new BasicTimer(config)); } }
private ConnectionCleanerTask(int connectionIdleTimeout) { this.connectionIdleTimeout = connectionIdleTimeout; MonitorConfig.Builder monitorConfigBuilder = MonitorConfig.builder("Eureka-Connection-Cleaner-Time"); executionTimeStats = new BasicTimer(monitorConfigBuilder.build()); cleanupFailed = new BasicCounter(MonitorConfig.builder("Eureka-Connection-Cleaner-Failure").build()); try { Monitors.registerObject(this); } catch (Exception e) { s_logger.error("Unable to register with servo.", e); } }
public ApacheHttpClientConnectionCleaner(ApacheHttpClient4 apacheHttpClient, final long connectionIdleTimeout) { this.apacheHttpClient = apacheHttpClient; this.eurekaConnCleaner.scheduleWithFixedDelay( new Runnable() { @Override public void run() { cleanIdle(connectionIdleTimeout); } }, HTTP_CONNECTION_CLEANER_INTERVAL_MS, HTTP_CONNECTION_CLEANER_INTERVAL_MS, TimeUnit.MILLISECONDS ); MonitorConfig.Builder monitorConfigBuilder = MonitorConfig.builder("Eureka-Connection-Cleaner-Time"); executionTimeStats = new BasicTimer(monitorConfigBuilder.build()); cleanupFailed = new BasicCounter(MonitorConfig.builder("Eureka-Connection-Cleaner-Failure").build()); try { Monitors.registerObject(this); } catch (Exception e) { logger.error("Unable to register with servo.", e); } }
EurekaHttpClientRequestMetrics(String resourceName) { this.countersByStatus = createStatusCounters(resourceName); latencyTimer = new BasicTimer( MonitorConfig.builder(EurekaClientNames.METRIC_TRANSPORT_PREFIX + "latency") .withTag("id", resourceName) .withTag("class", MetricsCollectingEurekaHttpClient.class.getSimpleName()) .build(), TimeUnit.MILLISECONDS ); ServoUtil.register(latencyTimer); this.connectionErrors = new BasicCounter( MonitorConfig.builder(EurekaClientNames.METRIC_TRANSPORT_PREFIX + "connectionErrors") .withTag("id", resourceName) .withTag("class", MetricsCollectingEurekaHttpClient.class.getSimpleName()) .build() ); ServoUtil.register(connectionErrors); }