/** * Gets a naming scope for metrics pertaining to the given origin. * * @param origin an origin * @return naming scope */ public static String originMetricsScope(Origin origin) { return name(OriginMetrics.PREFIX, origin.applicationId().toString(), originName(origin)); }
/** * Construct an instance. * * @param healthCheckUri URI to make health-check requests to * @param client HTTP client to make health-check requests with * @param metricRegistry metric registry */ public UrlRequestHealthCheck(String healthCheckUri, HttpClient client, MetricRegistry metricRegistry) { this.healthCheckUri = uriWithInitialSlash(healthCheckUri); this.client = checkNotNull(client); this.meterCache = new SimpleCache<>(origin -> metricRegistry.meter("origins.healthcheck.failure." + origin.applicationId())); }
/** * Create a new OriginMetrics. * * @param origin an origin * @param metricRegistry a metrics registry * @return a new OriginMetrics */ public static OriginMetrics create(Origin origin, MetricRegistry metricRegistry) { MetricRegistry originsRootRegistry = metricRegistry.scope(OriginMetrics.PREFIX); ApplicationMetrics appMetrics = new ApplicationMetrics(origin.applicationId(), originsRootRegistry); return new OriginMetrics(appMetrics, origin); }