Java Code Examples for org.kitesdk.morphline.api.MorphlineContext#getMetricRegistry()
The following examples show how to use
org.kitesdk.morphline.api.MorphlineContext#getMetricRegistry() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: StartReportingMetricsToSLF4JBuilder.java From kite with Apache License 2.0 | 5 votes |
public StartReportingMetricsToSLF4J(CommandBuilder builder, Config config, Command parent, Command child, MorphlineContext context) { super(builder, config, parent, child, context); MetricFilter filter = PatternMetricFilter.parse(getConfigs(), config); TimeUnit defaultDurationUnit = getConfigs().getTimeUnit(config, "defaultDurationUnit", TimeUnit.MILLISECONDS); TimeUnit defaultRateUnit = getConfigs().getTimeUnit(config, "defaultRateUnit", TimeUnit.SECONDS); long frequency = getConfigs().getNanoseconds(config, "frequency", 10 * 1000L * 1000 * 1000); // 10 secs, also see https://github.com/typesafehub/config/blob/master/HOCON.md#duration-format this.logger = getConfigs().getString(config, "logger", "metrics"); String marker = getConfigs().getString(config, "marker", null); validateArguments(); MetricRegistry registry = context.getMetricRegistry(); synchronized (REGISTRIES) { Map<String, Slf4jReporter> reporters = REGISTRIES.get(registry); if (reporters == null) { reporters = Maps.newHashMap(); REGISTRIES.put(registry, reporters); } Slf4jReporter reporter = reporters.get(logger); if (reporter == null) { Builder reporterBuilder = Slf4jReporter.forRegistry(registry) .filter(filter) .convertDurationsTo(defaultDurationUnit) .convertRatesTo(defaultRateUnit) .outputTo(LoggerFactory.getLogger(logger)); if (marker != null) { reporterBuilder = reporterBuilder.markWith(new BasicMarkerFactory().getMarker(marker)); } reporter = reporterBuilder.build(); reporter.start(frequency, TimeUnit.NANOSECONDS); reporters.put(logger, reporter); } } }
Example 2
Source File: RegisterJVMMetricsBuilder.java From kite with Apache License 2.0 | 5 votes |
public RegisterJVMMetrics(CommandBuilder builder, Config config, Command parent, Command child, final MorphlineContext context) { super(builder, config, parent, child, context); validateArguments(); MetricRegistry registry = context.getMetricRegistry(); BufferPoolMetricSet bufferPoolMetrics = new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()); registerAll("jvm.buffers", bufferPoolMetrics, registry); registerAll("jvm.gc", new GarbageCollectorMetricSet(), registry); registerAll("jvm.memory", new MemoryUsageGaugeSet(), registry); registerAll("jvm.threads", new ThreadStatesGaugeSet(), registry); register("jvm.fileDescriptorCountRatio", new FileDescriptorRatioGauge(), registry); context.getHealthCheckRegistry().register("deadlocks", new ThreadDeadlockHealthCheck()); }
Example 3
Source File: StartReportingMetricsToCSVBuilder.java From kite with Apache License 2.0 | 4 votes |
public StartReportingMetricsToCSV(CommandBuilder builder, Config config, Command parent, Command child, MorphlineContext context) { super(builder, config, parent, child, context); MetricFilter filter = PatternMetricFilter.parse(getConfigs(), config); TimeUnit defaultDurationUnit = getConfigs().getTimeUnit(config, "defaultDurationUnit", TimeUnit.MILLISECONDS); TimeUnit defaultRateUnit = getConfigs().getTimeUnit(config, "defaultRateUnit", TimeUnit.SECONDS); long frequency = getConfigs().getNanoseconds(config, "frequency", 10 * 1000L * 1000 * 1000); // 10 seconds if (LOG.isTraceEnabled()) { LOG.trace("availableLocales: {}", Joiner.on("\n").join(Locale.getAvailableLocales())); } Locale locale = getConfigs().getLocale(config, "locale", Locale.getDefault()); this.outputDir = new File(getConfigs().getString(config, "outputDir")); validateArguments(); MetricRegistry registry = context.getMetricRegistry(); synchronized (REGISTRIES) { Map<File, CsvReporter> reporters = REGISTRIES.get(registry); if (reporters == null) { reporters = Maps.newHashMap(); REGISTRIES.put(registry, reporters); } CsvReporter reporter = reporters.get(outputDir); if (reporter == null) { Builder reporterBuilder = CsvReporter.forRegistry(registry) .filter(filter) .convertDurationsTo(defaultDurationUnit) .convertRatesTo(defaultRateUnit) .formatFor(locale); reporter = reporterBuilder.build(outputDir); outputDir.mkdirs(); if (!outputDir.isDirectory()) { throw new MorphlineCompilationException("Directory not found: " + outputDir, config); } if (!outputDir.canWrite()) { throw new MorphlineCompilationException("Directory not writeable: " + outputDir, config); } reporter.start(frequency, TimeUnit.NANOSECONDS); reporters.put(outputDir, reporter); } } }