public static void monitorGauges(Object object) { for (final Method method : object.getClass().getDeclaredMethods()) { final Gauge gaugeAnnotation = method.getAnnotation(Gauge.class); // only create gauge, if method takes no parameters and is non-void if (gaugeAnnotation != null && methodTakesNoParamsAndIsNonVoid(method)) { method.setAccessible(true); final String signature = SignatureUtils.getSignature(object.getClass().getName(), method.getName(), gaugeAnnotation.name(), gaugeAnnotation.absolute()); registerGauge(object, method, signature); } } }
static String forGauge(Class<?> klass, Member member, Gauge annotation) { return chooseName(annotation.name(), annotation.absolute(), klass, member); }
@Nonnull @Override public String getNameForGauge(@Nonnull Class<?> instanceClass, @Nonnull Method method, @Nonnull Gauge gauge) { if (gauge.absolute()) { return gauge.name(); } if (gauge.name().isEmpty()) { return name(instanceClass, method.getName(), GAUGE_SUFFIX); } return name(instanceClass, gauge.name()); } }
@Nonnull @Override public String getNameForGauge(@Nonnull Method method, @Nonnull Gauge gauge) { if (gauge.absolute()) { return gauge.name(); } if (gauge.name().isEmpty()) { return name(method.getDeclaringClass(), method.getName(), GAUGE_SUFFIX); } return name(method.getDeclaringClass(), gauge.name()); }
@Nonnull @Override public String getNameForGauge(@Nonnull Class<?> instanceClass, @Nonnull Method method, @Nonnull Gauge gauge) { if (gauge.absolute()) { return gauge.name(); } if (gauge.name().isEmpty()) { return name(method.getDeclaringClass(), method.getName(), GAUGE_SUFFIX); } return name(method.getDeclaringClass(), gauge.name()); }
@Nonnull @Override public String getNameForGauge(@Nonnull final Class<?> instanceClass, @Nonnull final Method method, @Nonnull final Gauge gauge) { if (gauge.absolute()) { return gauge.name(); } else { return metricName(method, gauge.name()); } }
private boolean isMetricAbsolute(Annotation annotation) { if (extension.<Boolean>getParameter(UseAbsoluteName).orElse(false)) return true; if (CachedGauge.class.isInstance(annotation)) return ((CachedGauge) annotation).absolute(); else if (Counted.class.isInstance(annotation)) return ((Counted) annotation).absolute(); else if (ExceptionMetered.class.isInstance(annotation)) return ((ExceptionMetered) annotation).absolute(); else if (Gauge.class.isInstance(annotation)) return ((Gauge) annotation).absolute(); else if (Metered.class.isInstance(annotation)) return ((Metered) annotation).absolute(); else if (Timed.class.isInstance(annotation)) return ((Timed) annotation).absolute(); else throw new IllegalArgumentException("Unsupported Metrics forMethod [" + annotation.getClass().getName() + "]"); }
private boolean isMetricAbsolute(Annotation annotation) { if (extension.<Boolean>getParameter(UseAbsoluteName).orElse(false)) return true; if (CachedGauge.class.isInstance(annotation)) return ((CachedGauge) annotation).absolute(); else if (Counted.class.isInstance(annotation)) return ((Counted) annotation).absolute(); else if (ExceptionMetered.class.isInstance(annotation)) return ((ExceptionMetered) annotation).absolute(); else if (Gauge.class.isInstance(annotation)) return ((Gauge) annotation).absolute(); else if (Metered.class.isInstance(annotation)) return ((Metered) annotation).absolute(); else if (Timed.class.isInstance(annotation)) return ((Timed) annotation).absolute(); else throw new IllegalArgumentException("Unsupported Metrics forMethod [" + annotation.getClass().getName() + "]"); }