@Override public void report() { if (this.filter.isPresent()) { report(this.context.getGauges(this.filter.get()), this.context.getCounters(this.filter.get()), this.context.getHistograms(this.filter.get()), this.context.getMeters(this.filter.get()), this.context.getTimers(this.filter.get())); } else { report(this.context.getGauges(), this.context.getCounters(), this.context.getHistograms(), this.context.getMeters(), this.context.getTimers()); } }
@Test(dependsOnMethods = { "testGetMetricsWithFilter" }) public void testRemoveMetrics() { Assert.assertTrue(this.childContext.remove(RECORDS_PROCESSED)); Assert.assertTrue(this.childContext.getCounters().isEmpty()); Assert.assertTrue(this.childContext.remove(RECORD_PROCESS_RATE)); Assert.assertTrue(this.childContext.getMeters().isEmpty()); Assert.assertTrue(this.childContext.remove(RECORD_SIZE_DISTRIBUTION)); Assert.assertTrue(this.childContext.getHistograms().isEmpty()); Assert.assertEquals(this.childContext.getNames().size(), 1); }
@Test(dependsOnMethods = "testGetMetrics") @SuppressWarnings("unchecked") public void testGetMetricsWithFilter() { MetricFilter filter = new MetricFilter() { @Override public boolean matches(String name, Metric metric) { return !name.equals(MetricContext.GOBBLIN_METRICS_NOTIFICATIONS_TIMER_NAME); } }; Map<String, Counter> counters = this.context.getCounters(filter); Assert.assertEquals(counters.size(), 1); Assert.assertTrue( counters.containsKey(RECORDS_PROCESSED)); Map<String, Meter> meters = this.context.getMeters(filter); Assert.assertEquals(meters.size(), 1); Assert.assertTrue( meters.containsKey(RECORD_PROCESS_RATE)); Map<String, Histogram> histograms = this.context.getHistograms(filter); Assert.assertEquals(histograms.size(), 1); Assert.assertTrue( histograms.containsKey(RECORD_SIZE_DISTRIBUTION)); Map<String, Timer> timers = this.context.getTimers(filter); Assert.assertEquals(timers.size(), 1); Assert.assertTrue(timers.containsKey(TOTAL_DURATION)); Map<String, Gauge> gauges = this.context.getGauges(filter); Assert.assertEquals(gauges.size(), 1); Assert.assertTrue(gauges.containsKey(QUEUE_SIZE)); }
meters.containsKey(RECORD_PROCESS_RATE)); Map<String, Histogram> histograms = this.context.getHistograms(); Assert.assertEquals(histograms.size(), 1); Assert.assertTrue(
timer.update(3, TimeUnit.SECONDS); graphiteReporter.report(metricContext.getGauges(), metricContext.getCounters(), metricContext.getHistograms(), metricContext.getMeters(), metricContext.getTimers(), metricContext.getTagMap());
timer.update(3, TimeUnit.SECONDS); influxDBReporter.report(metricContext.getGauges(), metricContext.getCounters(), metricContext.getHistograms(), metricContext.getMeters(), metricContext.getTimers(), metricContext.getTagMap());
@Test(dependsOnMethods = "testChildContext") public void testContextAwareHistogram() { ContextAwareHistogram jobRecordSizeDist = this.context.contextAwareHistogram(RECORD_SIZE_DISTRIBUTION); Assert.assertEquals( this.context.getHistograms().get( jobRecordSizeDist.getName()), jobRecordSizeDist.getInnerMetric()); Assert.assertEquals(jobRecordSizeDist.getContext(), this.context); Assert.assertEquals(jobRecordSizeDist.getName(), RECORD_SIZE_DISTRIBUTION); jobRecordSizeDist.update(2); jobRecordSizeDist.update(4); jobRecordSizeDist.update(7); Assert.assertEquals(jobRecordSizeDist.getCount(), 3l); Assert.assertEquals(jobRecordSizeDist.getSnapshot().getMin(), 2l); Assert.assertEquals(jobRecordSizeDist.getSnapshot().getMax(), 7l); ContextAwareHistogram taskRecordSizeDist = this.childContext.contextAwareHistogram(RECORD_SIZE_DISTRIBUTION); Assert.assertEquals(this.childContext.getHistograms().get(taskRecordSizeDist.getName()), taskRecordSizeDist.getInnerMetric()); Assert.assertEquals(taskRecordSizeDist.getContext(), this.childContext); Assert.assertEquals(taskRecordSizeDist.getName(), RECORD_SIZE_DISTRIBUTION); taskRecordSizeDist.update(3); taskRecordSizeDist.update(14); taskRecordSizeDist.update(11); Assert.assertEquals(taskRecordSizeDist.getCount(), 3l); Assert.assertEquals(taskRecordSizeDist.getSnapshot().getMin(), 3l); Assert.assertEquals(taskRecordSizeDist.getSnapshot().getMax(), 14l); Assert.assertEquals(jobRecordSizeDist.getCount(), 6l); Assert.assertEquals(jobRecordSizeDist.getSnapshot().getMin(), 2l); Assert.assertEquals(jobRecordSizeDist.getSnapshot().getMax(), 14l); }
@Override public void report() { if (this.filter.isPresent()) { report(this.context.getGauges(this.filter.get()), this.context.getCounters(this.filter.get()), this.context.getHistograms(this.filter.get()), this.context.getMeters(this.filter.get()), this.context.getTimers(this.filter.get())); } else { report(this.context.getGauges(), this.context.getCounters(), this.context.getHistograms(), this.context.getMeters(), this.context.getTimers()); } }