try { telemetry.setValue(value); InternalLogger.INSTANCE.trace("JMX Metric: %s:%s: %s", telemetry.getCategoryName(), telemetry.getCounterName(), value); telemetryClient.track(telemetry); } catch (Exception e) {
@Override public Telemetry apply(BaseTelemetry bt) { Preconditions.checkNotNull(bt); PerformanceCounterTelemetry t = (PerformanceCounterTelemetry) bt; final Metric.Builder mb = Metric.newBuilder() .setVer(t.getVer()); if (t.getProperties() != null) mb.putAllProperties(t.getProperties()); String metricName = null; if (t.getCategoryName() != null && t.getCounterName() != null) { metricName = String.format("%s - %s", t.getCategoryName(), t.getCounterName()); } else if (t.getCategoryName() != null) { metricName = t.getCategoryName(); } else if (t.getCounterName() != null) { metricName = t.getCounterName(); } final DataPoint.Builder dpb = DataPoint.newBuilder() .setKind(DataPointType.Measurement) .setValue(t.getValue()); if (metricName != null) dpb.setName(metricName); mb.addMetrics(dpb); mb.putProperties("CustomPerfCounter", "true"); if (t.getInstanceName() != null) mb.putProperties("CounterInstanceName", t.getInstanceName()); return telemetryBuilderWithStandardFields(t).setMetric(mb).build(); } });
public void track(Telemetry telemetry) { if (!(telemetry instanceof PerformanceCounterTelemetry)) { assertFalse(true); } PerformanceCounterTelemetry pct = (PerformanceCounterTelemetry)telemetry; assertTrue(pct.getCategoryName().startsWith("Process(")); assertEquals(Constants.PROCESS_MEM_PC_COUNTER_NAME, pct.getCounterName()); assertEquals("", pct.getInstanceName()); } }
@Test public void testCategoryName() throws IOException { PerformanceCounterTelemetry telemetry = new PerformanceCounterTelemetry(MOCK_CATEGORY, MOCK_COUNTER, MOCK_INSTANCE, MOCK_VALUE); String newValue = MOCK_CATEGORY + "new"; telemetry.setCategoryName(newValue); assertEquals(newValue, telemetry.getCategoryName()); verifyJson(telemetry, newValue, MOCK_COUNTER, MOCK_INSTANCE, MOCK_VALUE); }
@Test public void testStateAfterCtor() throws IOException { PerformanceCounterTelemetry telemetry = new PerformanceCounterTelemetry(MOCK_CATEGORY, MOCK_COUNTER, MOCK_INSTANCE, MOCK_VALUE); assertEquals(MOCK_CATEGORY, telemetry.getCategoryName()); assertEquals(MOCK_COUNTER, telemetry.getCounterName()); assertEquals(MOCK_INSTANCE, telemetry.getInstanceName()); assertEquals(MOCK_VALUE, telemetry.getValue(), 0.0); verifyJson(telemetry, MOCK_CATEGORY, MOCK_COUNTER, MOCK_INSTANCE, MOCK_VALUE); }