@Override public void prepare(MetricRegistry metricsRegistry, Map<String, Object> stormConf, Map<String, Object> reporterConf) { LOG.info("Preparing..."); JmxReporter.Builder builder = JmxReporter.forRegistry(metricsRegistry); TimeUnit durationUnit = ClientMetricsUtils.getMetricsDurationUnit(reporterConf); if (durationUnit != null) { builder.convertDurationsTo(durationUnit); } TimeUnit rateUnit = ClientMetricsUtils.getMetricsRateUnit(reporterConf); if (rateUnit != null) { builder.convertRatesTo(rateUnit); } String domain = getMetricsJmxDomain(reporterConf); if (domain != null) { builder.inDomain(domain); } StormMetricsFilter filter = ScheduledStormReporter.getMetricsFilter(reporterConf); if (filter != null) { builder.filter(filter); } // other builder functions not exposed: // * createsObjectNamesWith(ObjectNameFactory onFactory) // * registerWith (MBeanServer) // * specificDurationUnits (Map<String,TimeUnit> specificDurationUnits) // * specificRateUnits(Map<String,TimeUnit> specificRateUnits) reporter = builder.build(); }
@Override public void createAndStartReporter(MetricRegistry metricRegistry, Map<String, Object> configuration) { Builder builder = JmxReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.DAYS); if (configuration.containsKey(DOMAIN)) { String domain = (String) configuration.get(DOMAIN); if (domain != null && !domain.isEmpty()) { builder.inDomain(domain); } } if (configuration.containsKey(FILTER)) { String filter = (String) configuration.get(FILTER); if (filter != null && !filter.isEmpty()) { List<String> metrics = Arrays.asList(filter.split(",")).stream().map(x -> x.trim()) .collect(Collectors.toList()); MetricFilter metricFilter = new MetricFilter() { @Override public boolean matches(String name, Metric metric) { return metrics.contains(name); } }; builder.filter(metricFilter); } } JmxReporter reporter = builder.build(); reporter.start(); } }
@Override public void createAndStartReporter(MetricRegistry metricRegistry, Map<String, Object> configuration) { Builder builder = JmxReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.DAYS); if (configuration.containsKey(DOMAIN)) { String domain = (String) configuration.get(DOMAIN); if (domain != null && !domain.isEmpty()) { builder.inDomain(domain); } } if (configuration.containsKey(FILTER)) { String filter = (String) configuration.get(FILTER); if (filter != null && !filter.isEmpty()) { List<String> metrics = Arrays.asList(filter.split(",")).stream().map(x -> x.trim()) .collect(Collectors.toList()); MetricFilter metricFilter = new MetricFilter() { @Override public boolean matches(String name, Metric metric) { return metrics.contains(name); } }; builder.filter(metricFilter); } } JmxReporter reporter = builder.build(); reporter.start(); } }
if (reporter == null) { Builder reporterBuilder = JmxReporter.forRegistry(registry) .filter(filter) .convertDurationsTo(defaultDurationUnit) .convertRatesTo(defaultRateUnit)
if (reporter == null) { Builder reporterBuilder = JmxReporter.forRegistry(registry) .filter(filter) .convertDurationsTo(defaultDurationUnit) .convertRatesTo(defaultRateUnit)
@Override public void prepare(MetricRegistry metricsRegistry, Map<String, Object> stormConf, Map<String, Object> reporterConf) { LOG.info("Preparing..."); JmxReporter.Builder builder = JmxReporter.forRegistry(metricsRegistry); TimeUnit durationUnit = MetricsUtils.getMetricsDurationUnit(reporterConf); if (durationUnit != null) { builder.convertDurationsTo(durationUnit); } TimeUnit rateUnit = MetricsUtils.getMetricsRateUnit(reporterConf); if (rateUnit != null) { builder.convertRatesTo(rateUnit); } String domain = getMetricsJMXDomain(reporterConf); if (domain != null) { builder.inDomain(domain); } StormMetricsFilter filter = ScheduledStormReporter.getMetricsFilter(reporterConf); if(filter != null){ builder.filter(filter); } // other builder functions not exposed: // * createsObjectNamesWith(ObjectNameFactory onFactory) // * registerWith (MBeanServer) // * specificDurationUnits (Map<String,TimeUnit> specificDurationUnits) // * specificRateUnits(Map<String,TimeUnit> specificRateUnits) reporter = builder.build(); }
/** * Publish metrics to JMX * * @param prefix the prefix * @return a JMXReporter */ public JmxReporter getJmxReporter(final String prefix) { final MBeanServer mbs = getPlatformMBeanServer(); final JmxReporter reporter = JmxReporter.forRegistry(registryService.getMetrics()).registerWith(mbs) .inDomain("org.fcrepo") .convertDurationsTo(MILLISECONDS).convertRatesTo( SECONDS).filter(ALL).build(); reporter.start(); LOGGER.debug("Started JmxReporter"); return reporter; }
/** * Starts the metric {@code JMXReporter}. If no MBeanServer was set, use * the virtual machine's platform MBeanServer. * @param jmxDomainName JMX domain name to use when creating JMX MXBean object names. * @return this */ public MetricsSetup startJMXReporter(String jmxDomainName) { final JmxReporter reporter = JmxReporter.forRegistry(registry()). registerWith(mbeanServer()) .inDomain(jmxDomainName).createsObjectNamesWith(new MetricObjectNameFactory()) .convertDurationsTo(durationsUnit).convertRatesTo(ratesUnit) .filter(MetricFilter.ALL).build(); reporter.start(); return this; }
public static DropwizardRequestMetrics withDefaultMBeans(MetricRegistry registry) { DefaultMetricNamer metricNamer = new DefaultMetricNamer(); final JmxReporter jmxReporter = JmxReporter.forRegistry(registry) .filter(metricNamer) .createsObjectNamesWith(metricNamer) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); jmxReporter.start(); return new DropwizardRequestMetrics(registry, metricNamer); }
public void init() { Builder builder = JmxReporter.forRegistry(registry).registerWith( ManagementFactory.getPlatformMBeanServer()); if (domain != null) { builder.inDomain(domain); } builder.convertRatesTo(TimeUnit.SECONDS); builder.convertDurationsTo(TimeUnit.MILLISECONDS); builder.filter(MetricFilter.ALL); reporter = builder.build(); reporter.start(); }
public JmxPublisher(MetricRegistry metricRegistry, TimeUnit reportedRatesTimeUnit, TimeUnit reportedDurationsTimeUnit, MetricFilter metricFilter) { jmxReporter = JmxReporter .forRegistry(metricRegistry) .convertRatesTo(reportedRatesTimeUnit) .convertDurationsTo(reportedDurationsTimeUnit) .filter(metricFilter) .build(); }
public JmxReporterImpl(MetricRegistry metricRegistry, MetricFilter metricFilter, String domain) { super("JMX"); this.jmxReporter = JmxReporter.forRegistry(metricRegistry).inDomain(domain).filter(metricFilter) .convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(); }
public static DropwizardRequestMetrics withDefaultMBeans(MetricRegistry registry) { DefaultMetricNamer metricNamer = new DefaultMetricNamer(); final JmxReporter jmxReporter = JmxReporter.forRegistry(registry) .filter(metricNamer) .createsObjectNamesWith(metricNamer) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); jmxReporter.start(); return new DropwizardRequestMetrics(registry, metricNamer); }
private static void setupJmxReporting(MetricRegistry metrics) { if (!metricsJmxReportingEnabled) return; // This filters noisy addressSpace metrics to have a clean JMX reporting JmxReporter jmxReporter = JmxReporter.forRegistry(metrics) .convertDurationsTo(TimeUnit.MICROSECONDS) .convertRatesTo(TimeUnit.SECONDS) .inDomain(CORFU_METRICS) .filter(ADDRESS_SPACE_FILTER) .build(); jmxReporter.start(); }
@Override protected JmxReporter createInstance() { final JmxReporter.Builder reporter = JmxReporter.forRegistry(getMetricRegistry()); if (hasProperty(DOMAIN)) { reporter.inDomain(getProperty(DOMAIN)); } if (hasProperty(DURATION_UNIT)) { reporter.convertDurationsTo(getProperty(DURATION_UNIT, TimeUnit.class)); } if (hasProperty(RATE_UNIT)) { reporter.convertRatesTo(getProperty(RATE_UNIT, TimeUnit.class)); } reporter.filter(getMetricFilter()); if (hasProperty(MBEAN_SERVER_REF)) { reporter.registerWith(getPropertyRef(MBEAN_SERVER_REF, MBeanServer.class)); } return reporter.build(); }