public Meter meter(Origin origin, MetricRegistry metricRegistry) { String name = format(format, origin.applicationId()); return metricRegistry.meter(name); } }
private ConnectionsPool() { String prefix = format("origins.%s.%s.connectionspool", origin.applicationId(), origin.id()); SortedMap<String, Gauge> gauges = metrics.getGauges(); availableGauge = gauges.get(prefix + ".available-connections"); busyGauge = gauges.get(prefix + ".busy-connections"); pendingGauge = gauges.get(prefix + ".pending-connections"); }
/** * 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)); }
private Origin(com.hotels.styx.api.extension.Origin origin) { this.origin = origin; connectionsPool = new ConnectionsPool(); String prefix = format("origins.%s.%s.requests.response.status", origin.applicationId(), origin.id()); this.responsesSupplier = new ResponseCodeSupplier(metrics, METER, prefix, true); this.requests = new Requests(format("origins.%s.%s", origin.applicationId(), origin.id())); }
/** * 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); }