public MeteredMetricsFilter(MetricRegistry metricRegistry, ResourceInfo resourceInfo) { final Metered annotation = resourceInfo.getResourceMethod().getAnnotation(Metered.class); meter = metricRegistry.meter(chooseName(annotation.name(), annotation.absolute(), resourceInfo.getResourceMethod())); } @Override
final String name = chooseName(annotation.name(), annotation.absolute(), task);
@Override protected NamingParameters getNamingParameters(MethodDescription instrumentedMethod) { final Metered metered = instrumentedMethod.getDeclaredAnnotations().ofType(Metered.class).loadSilent(); return new NamingParameters(metered.name(), metered.absolute()); }
static String forMeteredMethod(Class<?> klass, Member member, Metered annotation) { return chooseName(annotation.name(), annotation.absolute(), klass, member); }
@Override public String getName(Metered annotation) { return annotation.name(); }
@Nonnull @Override public String getNameForMetered(@Nonnull Method method, @Nonnull Metered metered) { if (metered.absolute()) { return metered.name(); } if (metered.name().isEmpty()) { return name(method.getDeclaringClass(), method.getName(), METERED_SUFFIX); } return name(method.getDeclaringClass(), metered.name()); }
@Nonnull @Override public String getNameForMetered(@Nonnull Method method, @Nonnull Metered metered) { if (metered.absolute()) { return metered.name(); } if (metered.name().isEmpty()) { return name(method.getDeclaringClass(), method.getName(), METERED_SUFFIX); } return name(method.getDeclaringClass(), metered.name()); }
public EventDriverMetrics(final Class<?> endpointClass, MetricRegistry metrics) { final Class<?> klass = endpointClass; Metered metered = klass.getAnnotation(Metered.class); Timed timed = klass.getAnnotation(Timed.class); ExceptionMetered em = klass.getAnnotation(ExceptionMetered.class); this.onTextMeter = metered != null ? Optional.of(metrics.meter(MetricRegistry.name(metered.name(), klass.getName(), OnMessage.class.getSimpleName()))) : Optional.empty(); this.countOpened = metered != null ? Optional.of(metrics.counter(MetricRegistry.name(metered.name(), klass.getName(), OPEN_CONNECTIONS))) : Optional.empty(); this.timer = timed != null ? Optional.of(metrics.timer(MetricRegistry.name(timed.name(), klass.getName()))) : Optional.empty(); this.exceptionMetered = em != null ? Optional.of(metrics.meter(MetricRegistry.name(em.name(), klass.getName(), OnError.class.getSimpleName()))) : Optional.empty(); } public static final String OPEN_CONNECTIONS = "openConnections";
public EventDriverMetrics(final Class<?> endpointClass, MetricRegistry metrics) { final Class<?> klass = endpointClass; Metered metered = klass.getAnnotation(Metered.class); Timed timed = klass.getAnnotation(Timed.class); ExceptionMetered em = klass.getAnnotation(ExceptionMetered.class); this.onTextMeter = metered != null ? Optional.of(metrics.meter(MetricRegistry.name(metered.name(), klass.getName(), OnMessage.class.getSimpleName()))) : Optional.empty(); this.countOpened = metered != null ? Optional.of(metrics.counter(MetricRegistry.name(metered.name(), klass.getName(), OPEN_CONNECTIONS))) : Optional.empty(); this.timer = timed != null ? Optional.of(metrics.timer(MetricRegistry.name(timed.name(), klass.getName()))) : Optional.empty(); this.exceptionMetered = em != null ? Optional.of(metrics.meter(MetricRegistry.name(em.name(), klass.getName(), OnError.class.getSimpleName()))) : Optional.empty(); } public static final String OPEN_CONNECTIONS = "openConnections";
/** * Factory method for MeteredInvoker. */ private Invoker metered(Invoker invoker, List<Method> meteredMethods) { ImmutableMap.Builder<String, Meter> meters = new ImmutableMap.Builder<>(); for (Method m : meteredMethods) { Metered annotation = m.getAnnotation(Metered.class); final String name = chooseName(annotation.name(), annotation.absolute(), m); Meter meter = metricRegistry.meter(name); meters.put(m.getName(), meter); } return new InstrumentedInvokers.MeteredInvoker(invoker, meters.build()); }
private String metricName(Annotation annotation) { if (CachedGauge.class.isInstance(annotation)) return ((CachedGauge) annotation).name(); else if (Counted.class.isInstance(annotation)) return ((Counted) annotation).name(); else if (ExceptionMetered.class.isInstance(annotation)) return ((ExceptionMetered) annotation).name(); else if (Gauge.class.isInstance(annotation)) return ((Gauge) annotation).name(); else if (Metered.class.isInstance(annotation)) return ((Metered) annotation).name(); else if (Timed.class.isInstance(annotation)) return ((Timed) annotation).name(); else throw new IllegalArgumentException("Unsupported Metrics forMethod [" + annotation.getClass().getName() + "]"); }
private String metricName(Annotation annotation) { if (CachedGauge.class.isInstance(annotation)) return ((CachedGauge) annotation).name(); else if (Counted.class.isInstance(annotation)) return ((Counted) annotation).name(); else if (ExceptionMetered.class.isInstance(annotation)) return ((ExceptionMetered) annotation).name(); else if (Gauge.class.isInstance(annotation)) return ((Gauge) annotation).name(); else if (Metered.class.isInstance(annotation)) return ((Metered) annotation).name(); else if (Timed.class.isInstance(annotation)) return ((Timed) annotation).name(); else throw new IllegalArgumentException("Unsupported Metrics forMethod [" + annotation.getClass().getName() + "]"); }
private Meter meterMetric(final MetricRegistry registry, final ResourceMethod method, final Metered metered) { final String name = chooseName(metered.name(), metered.absolute(), method); return registry.meter(name, () -> new Meter(clock)); }
public MeteredMetricsFilter(MetricRegistry metricRegistry, ResourceInfo resourceInfo) { final Metered annotation = resourceInfo.getResourceMethod().getAnnotation(Metered.class); meter = metricRegistry.meter(chooseName(annotation.name(), annotation.absolute(), resourceInfo.getResourceMethod())); } @Override
public MeteredMetricsFilter(MetricRegistry metricRegistry, ResourceInfo resourceInfo) { final Metered annotation = resourceInfo.getResourceMethod().getAnnotation(Metered.class); meter = metricRegistry.meter(chooseName(annotation.name(), annotation.absolute(), resourceInfo.getResourceMethod())); } @Override
final String name = chooseName(annotation.name(), annotation.absolute(), task);
final String name = chooseName(annotation.name(), annotation.absolute(), method); final Meter meter = registry.meter(name); dispatcher = new MeteredRequestDispatcher(dispatcher, meter);