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; } }
public ThresholdLevelsMetric(Object owner, String prefix, long[] levels) { this.levels = levels; this.gauges = new LongGauge[levels.length]; for (int i = 0; i < levels.length; i++) { String name = prefix + String.format("%05d", levels[i]); MonitorConfig config = new MonitorConfig.Builder(name) .withTag("class", owner.getClass().getName()) .build(); gauges[i] = new LongGauge(config); try { DefaultMonitorRegistry.getInstance().register(gauges[i]); } catch (Throwable e) { logger.warn("Cannot register metric {}", name, e); } } }
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; } }
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(); }
public TimedSupervisorTask(String name, ScheduledExecutorService scheduler, ThreadPoolExecutor executor, int timeout, TimeUnit timeUnit, int expBackOffBound, Runnable task) { this.scheduler = scheduler; this.executor = executor; this.timeoutMillis = timeUnit.toMillis(timeout); this.task = task; this.delay = new AtomicLong(timeoutMillis); this.maxDelay = timeoutMillis * expBackOffBound; // Initialize the counters and register. successCounter = Monitors.newCounter("success"); timeoutCounter = Monitors.newCounter("timeouts"); rejectedCounter = Monitors.newCounter("rejectedExecutions"); throwableCounter = Monitors.newCounter("throwables"); threadPoolLevelGauge = new LongGauge(MonitorConfig.builder("threadPoolUsed").build()); Monitors.registerObject(name, this); }
TaskExecutorMetrics(String id) { final double[] percentiles = {50.0, 95.0, 99.0, 99.5}; final StatsConfig statsConfig = new StatsConfig.Builder() .withSampleSize(1000) .withPercentiles(percentiles) .withPublishStdDev(true) .build(); final MonitorConfig config = MonitorConfig.builder(METRIC_REPLICATION_PREFIX + "executionTime").build(); taskWaitingTimeForProcessing = new StatsTimer(config, statsConfig); try { Monitors.registerObject(id, this); } catch (Throwable e) { logger.warn("Cannot register servo monitor for this object", 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 ServerChannelMetrics(String id) { super(); String metricNamePrefix = "server.connections."; currentConnectionsGauge = new BasicGauge<>(MonitorConfig.builder(metricNamePrefix + "current").withTag("id", id).build(), () -> currentConnections.get() ); DefaultMonitorRegistry.getInstance().register(currentConnectionsGauge); totalConnections = createCounter(metricNamePrefix + "connect", id); connectionErrors = createCounter(metricNamePrefix + "errors", id); connectionClosed = createCounter(metricNamePrefix + "close", id); connectionIdleTimeout = createCounter(metricNamePrefix + "idle.timeout", id); connectionThrottled = createCounter(metricNamePrefix + "throttled", id); }
private ServoTracer(String name) { config = MonitorConfig.builder(name).withTags(tags).build(); stopwatch = DynamicTimer.start(config, TimeUnit.MICROSECONDS); }
public ServerChannelMetrics(String id) { super(); String metricNamePrefix = "server.connections."; currentConnectionsGauge = new BasicGauge<>(MonitorConfig.builder(metricNamePrefix + "current").withTag("id", id).build(), () -> currentConnections.get() ); DefaultMonitorRegistry.getInstance().register(currentConnectionsGauge); totalConnections = createCounter(metricNamePrefix + "connect", id); connectionErrors = createCounter(metricNamePrefix + "errors", id); connectionClosed = createCounter(metricNamePrefix + "close", id); connectionIdleTimeout = createCounter(metricNamePrefix + "idle.timeout", id); connectionThrottled = createCounter(metricNamePrefix + "throttled", id); }
private ServoTracer(String name) { config = MonitorConfig.builder(name).withTags(tags).build(); stopwatch = DynamicTimer.start(config, TimeUnit.MICROSECONDS); }
private void recordRequestTiming(String name, long timeNs) { long timeMs = timeNs / 1000000; if(timeMs > -1) { DynamicTimer.record(MonitorConfig.builder(name).build(), timeMs); } } }
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 logAuth(ServletRequest request) { if (serverConfig.shouldLogIdentityHeaders()) { if (request instanceof HttpServletRequest) { HttpServletRequest httpRequest = (HttpServletRequest) request; String clientName = getHeader(httpRequest, AbstractEurekaIdentity.AUTH_NAME_HEADER_KEY); String clientVersion = getHeader(httpRequest, AbstractEurekaIdentity.AUTH_VERSION_HEADER_KEY); DynamicCounter.increment(MonitorConfig.builder(NAME_PREFIX + clientName + "-" + clientVersion).build()); } } }
private void recordRequestTiming(String name, long timeNs) { long timeMs = timeNs / 1000000; if(timeMs > -1) { DynamicTimer.record(MonitorConfig.builder(name).build(), timeMs); } } }
private static BasicCounter createCounter(String name) { BasicCounter counter = new BasicCounter(MonitorConfig.builder("zuul.passport." + name).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }
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 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 BasicCounter createCounter(String name) { BasicCounter counter = new BasicCounter(MonitorConfig.builder("zuul.passport." + name).build()); DefaultMonitorRegistry.getInstance().register(counter); return counter; }