private Counter getOrCreateCounter(String exceptionName) { Counter counter = exceptionCounters.get(exceptionName); if (counter == null) { counter = new BasicCounter(MonitorConfig.builder(name).withTag("id", exceptionName).build()); if (exceptionCounters.putIfAbsent(exceptionName, counter) == null) { DefaultMonitorRegistry.getInstance().register(counter); } else { counter = exceptionCounters.get(exceptionName); } } return counter; }
private BasicCounter getCounter(String name) { BasicCounter counter = map.get(name); if (counter == null) { synchronized (lock) { counter = map.get(name); if (counter != null) { return counter; } List<Tag> tags = new ArrayList<Tag>(2); tags.add(InjectableTag.HOSTNAME); tags.add(InjectableTag.IP); counter = new BasicCounter(MonitorConfig.builder(name).withTags(tags).build()); map.putIfAbsent(name, counter); DefaultMonitorRegistry.getInstance().register(counter); } } return counter; } }
/** * Create a new counter instance. */ public static Counter newCounter(String name) { return new BasicCounter(MonitorConfig.builder(name).build()); }
private static BasicCounter createCounter(String name) { BasicCounter counter = new BasicCounter(MonitorConfig.builder("zuul.passport." + name).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }
@Test public void testUnregisteredBasicCounter() { BasicCounter c = new BasicCounter(CONFIG); assertEquals(0, registry.counters().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); } }
private static Map<Status, Counter> createStatusCounters(String resourceName) { Map<Status, Counter> result = new EnumMap<>(Status.class); for (Status status : Status.values()) { BasicCounter counter = new BasicCounter( MonitorConfig.builder(EurekaClientNames.METRIC_TRANSPORT_PREFIX + "request") .withTag("id", resourceName) .withTag("class", MetricsCollectingEurekaHttpClient.class.getSimpleName()) .withTag("status", status.name()) .build() ); ServoUtil.register(counter); result.put(status, counter); } return result; } }
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); } }
private static BasicCounter createCounter(String name, String id) { BasicCounter counter = new BasicCounter(MonitorConfig.builder(name).withTag("id", id).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }
private BasicCounter getCounter(String name) { BasicCounter counter = map.get(name); if (counter == null) { synchronized (lock) { counter = map.get(name); if (counter != null) { return counter; } List<Tag> tags = new ArrayList<Tag>(2); tags.add(InjectableTag.HOSTNAME); tags.add(InjectableTag.IP); counter = new BasicCounter(MonitorConfig.builder(name).withTags(tags).build()); map.putIfAbsent(name, counter); DefaultMonitorRegistry.getInstance().register(counter); } } return counter; } }
@Test public void testUnregisteredBasicCounterIncrement() { BasicCounter c = new BasicCounter(CONFIG); c.increment(); assertEquals(1, registry.counters().count()); assertEquals(1, registry.counter("test").count()); }
@Test public void testStandardMapping() { MonitorConfig config = MonitorConfig.builder("testName").withTag("foo", "bar").build(); ObjectName name = DEFAULT_MAPPER.createObjectName(TEST_DOMAIN, new BasicCounter(config)); assertEquals(name.getDomain(), TEST_DOMAIN); // note that this assumes that DataSourceType.KEY is greater than 'foo' // for String#compareTo purposes assertEquals(name.getKeyPropertyListString(), String.format("name=testName,foo=bar,%s=COUNTER", DataSourceType.KEY)); }
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 testBasicCounterIncrementAmount() { BasicCounter c = new BasicCounter(CONFIG); register(c); c.increment(42); assertEquals(42, registry.counter(ID).count()); }
@Test public void testBasicCounterIncrement() { BasicCounter c = new BasicCounter(CONFIG); register(c); c.increment(); assertEquals(1, registry.counter(ID).count()); }
private static BasicCounter createCounter(String name) { BasicCounter counter = new BasicCounter(MonitorConfig.builder("zuul.passport." + name).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }
@Test public void testEqualsPolicy() throws Exception { BasicCounter other = new BasicCounter( MonitorConfig.builder("name").withPublishingPolicy(OtherPolicy.INSTANCE).build()); BasicCounter dflt = newInstance("name"); assertNotEquals(other, dflt); assertNotEquals(other.hashCode(), dflt.hashCode()); } }
private static BasicCounter createCounter(String name, String id) { BasicCounter counter = new BasicCounter(MonitorConfig.builder(name).withTag("id", id).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }
protected void addChannelDependencies(ChannelConfig channelDeps) throws Exception { channelDeps.set(ZuulDependencyKeys.registry, registry); channelDeps.set(ZuulDependencyKeys.applicationInfoManager, applicationInfoManager); channelDeps.set(ZuulDependencyKeys.serverStatusManager, serverStatusManager); channelDeps.set(ZuulDependencyKeys.accessLogPublisher, accessLogPublisher); channelDeps.set(ZuulDependencyKeys.sessionCtxDecorator, sessionCtxDecorator); channelDeps.set(ZuulDependencyKeys.requestCompleteHandler, reqCompleteHandler); final BasicCounter httpRequestReadTimeoutCounter = new BasicCounter(MonitorConfig.builder("server.http.request.read.timeout").build()); DefaultMonitorRegistry.getInstance().register(httpRequestReadTimeoutCounter); channelDeps.set(ZuulDependencyKeys.httpRequestReadTimeoutCounter, httpRequestReadTimeoutCounter); channelDeps.set(ZuulDependencyKeys.filterLoader, filterLoader); channelDeps.set(ZuulDependencyKeys.filterUsageNotifier, usageNotifier); channelDeps.set(ZuulDependencyKeys.eventLoopGroupMetrics, eventLoopGroupMetrics); channelDeps.set(ZuulDependencyKeys.sslClientCertCheckChannelHandlerProvider, new NullChannelHandlerProvider()); channelDeps.set(ZuulDependencyKeys.rateLimitingChannelHandlerProvider, new NullChannelHandlerProvider()); directMemoryMonitor.init(); }
protected void addChannelDependencies(ChannelConfig channelDeps) throws Exception { channelDeps.set(ZuulDependencyKeys.registry, registry); channelDeps.set(ZuulDependencyKeys.applicationInfoManager, applicationInfoManager); channelDeps.set(ZuulDependencyKeys.serverStatusManager, serverStatusManager); channelDeps.set(ZuulDependencyKeys.accessLogPublisher, accessLogPublisher); channelDeps.set(ZuulDependencyKeys.sessionCtxDecorator, sessionCtxDecorator); channelDeps.set(ZuulDependencyKeys.requestCompleteHandler, reqCompleteHandler); final BasicCounter httpRequestReadTimeoutCounter = new BasicCounter(MonitorConfig.builder("server.http.request.read.timeout").build()); DefaultMonitorRegistry.getInstance().register(httpRequestReadTimeoutCounter); channelDeps.set(ZuulDependencyKeys.httpRequestReadTimeoutCounter, httpRequestReadTimeoutCounter); channelDeps.set(ZuulDependencyKeys.filterLoader, filterLoader); channelDeps.set(ZuulDependencyKeys.filterUsageNotifier, usageNotifier); channelDeps.set(ZuulDependencyKeys.eventLoopGroupMetrics, eventLoopGroupMetrics); channelDeps.set(ZuulDependencyKeys.sslClientCertCheckChannelHandlerProvider, new NullChannelHandlerProvider()); channelDeps.set(ZuulDependencyKeys.rateLimitingChannelHandlerProvider, new NullChannelHandlerProvider()); directMemoryMonitor.init(); }