public void gauge(@NonNull final Metric m) { final String metricName = m.getMetricName(); final String metricValue = m.getMetricValue().toString(); final String tags = m.getTags().toString(); log.info("{}={}, Tags: {}", metricName, metricValue, tags); }
@Override public String toString() { return super.toString(); } }
@Test public void testCreateJobLongMetric() { Metric jobMetric1 = jobMetrics.createJobLongMetric(JobMetricType.DRIVER_MEMORY, 100l, Maps.newHashMap()); Metric jobMetric2 = jobMetrics.createJobLongMetric(JobMetricType.SIZE, 1028l, Maps.newHashMap()); assertEquals("job-driver_memory", jobMetric1.getMetricName()); assertEquals("job-size", jobMetric2.getMetricName()); assertEquals(new Long(100), jobMetric1.getMetricValue()); assertEquals(new Long(1028), jobMetric2.getMetricValue()); assertTrue(jobMetric1.getTags().containsKey("job")); assertEquals(jobMetric1.getTags().get("job"), "test-job"); assertFalse(jobMetric1.getTags().containsKey("topic")); assertFalse(jobMetric1.getTags().containsKey("hello")); jobMetric1.addTag("hello", "world"); assertTrue(jobMetric1.getTags().containsKey("hello")); assertTrue(jobMetrics.getMetricSet().contains(jobMetric1)); assertTrue(jobMetrics.getMetricSet().contains(jobMetric2)); }
@Test public void testCreateTopicTimerMetric() { Metric topicMetric1 = dataFeedMetrics.createTimerMetric(DataFeedMetricNames.RUNTIME); assertEquals("runtime", topicMetric1.getMetricName()); assertTrue(topicMetric1 instanceof TimerMetric); assertTrue(topicMetric1.getTags().containsKey("job")); assertEquals(topicMetric1.getTags().get("job"), "test-job"); assertTrue(topicMetric1.getTags().containsKey("datafeed")); assertEquals(topicMetric1.getTags().get("datafeed"), "test-topic"); assertFalse(topicMetric1.getTags().containsKey("hello")); topicMetric1.addTag("hello", "world"); assertTrue(topicMetric1.getTags().containsKey("hello")); assertTrue(dataFeedMetrics.getMetricSet().contains(topicMetric1)); }
Assert.assertEquals(expected.size(), ms.size()); ms.forEach( metric -> { final String key = metric.getMetricName(); Assert.assertEquals("failure for metric " + key, expected.get(key), metric.getMetricValue()); });
@Test public void testCreateTopicLongMetric() { Metric topicMetric1 = dataFeedMetrics.createLongMetric(DataFeedMetricNames.OUTPUT_ROWCOUNT, 100l, Maps.newHashMap()); Metric topicMetric2 = dataFeedMetrics.createLongMetric(DataFeedMetricNames.SIZE_BYTES, 1028l, Maps.newHashMap()); assertEquals("output_rowcount", topicMetric1.getMetricName()); assertEquals("size_bytes", topicMetric2.getMetricName()); assertEquals(new Long(100), topicMetric1.getMetricValue()); assertEquals(new Long(1028), topicMetric2.getMetricValue()); assertTrue(topicMetric1.getTags().containsKey("job")); assertEquals(topicMetric1.getTags().get("job"), "test-job"); assertTrue(topicMetric1.getTags().containsKey("datafeed")); assertEquals(topicMetric1.getTags().get("datafeed"), "test-topic"); assertFalse(topicMetric1.getTags().containsKey("hello")); topicMetric1.addTag("hello", "world"); assertTrue(topicMetric1.getTags().containsKey("hello")); assertTrue(dataFeedMetrics.getMetricSet().contains(topicMetric1)); assertTrue(dataFeedMetrics.getMetricSet().contains(topicMetric2)); }
@Test public void testCreateJobTimerMetric() { Metric jobMetric1 = jobMetrics.createJobTimerMetric(JobMetricType.RUNTIME, Maps.newHashMap()); Metric jobMetric2 = jobMetrics.createJobTimerMetric(JobMetricType.STAGE_RUNTIME, Maps.newHashMap()); assertEquals("job-runtime", jobMetric1.getMetricName()); assertEquals("job-stage_runtime", jobMetric2.getMetricName()); assertTrue(jobMetric1 instanceof TimerMetric); assertTrue(jobMetric2 instanceof TimerMetric); assertTrue(jobMetric1.getTags().containsKey("job")); assertEquals(jobMetric1.getTags().get("job"), "test-job"); assertFalse(jobMetric1.getTags().containsKey("topic")); assertFalse(jobMetric1.getTags().containsKey("hello")); jobMetric1.addTag("hello", "world"); assertTrue(jobMetric1.getTags().containsKey("hello")); assertTrue(jobMetrics.getMetricSet().contains(jobMetric1)); assertTrue(jobMetrics.getMetricSet().contains(jobMetric2)); }
@Override public String toString() { return super.toString(); } }