@Override public void emit(ServiceEmitter emitter) { delegateQueryMetrics.emit(emitter); } }
@Override public void emit(ServiceEmitter emitter) { delegateQueryMetrics.emit(emitter); } }
@Override public void after(boolean isDone, Throwable thrown) { if (report) { final long cpuTimeNs = cpuTimeAccumulator.get(); if (cpuTimeNs > 0) { queryWithMetrics.getQueryMetrics().reportCpuTime(cpuTimeNs).emit(emitter); } } } }
private void emitQueryTime(long requestTimeNs, boolean success) { QueryMetrics queryMetrics = DruidMetrics.makeRequestMetrics( queryMetricsFactory, warehouse.getToolChest(query), query, req.getRemoteAddr() ); queryMetrics.success(success); queryMetrics.reportQueryTime(requestTimeNs).emit(emitter); } }
responseMetrics.emit(emitter); synchronized (done) { try {
@Override public void after(boolean isDone, Throwable thrown) { if (thrown != null) { queryMetrics.status("failed"); } else if (!isDone) { queryMetrics.status("short"); } long timeTakenNs = System.nanoTime() - startTimeNs; reportMetric.accept(queryMetrics, timeTakenNs); if (creationTimeNs > 0) { queryMetrics.reportWaitTime(startTimeNs - creationTimeNs); } try { queryMetrics.emit(emitter); } catch (Exception e) { // Query should not fail, because of emitter failure. Swallowing the exception. log.error("Failure while trying to emit [%s] with stacktrace [%s]", emitter.toString(), e); } } }
queryMetrics.emit(emitter);
acquireResponseMetrics().reportNodeTimeToFirstByte(responseStartTimeNs - requestStartTimeNs).emit(emitter);
queryMetrics.reportQueryTime(1000001).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/time", actualEvent.get("metric")); queryMetrics.reportWaitTime(2000001).emit(serviceEmitter); actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/wait/time", actualEvent.get("metric")); Assert.assertEquals(2L, actualEvent.get("value")); queryMetrics.reportSegmentTime(3000001).emit(serviceEmitter); actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/segment/time", actualEvent.get("metric")); Assert.assertEquals(3L, actualEvent.get("value")); queryMetrics.reportSegmentAndCacheTime(4000001).emit(serviceEmitter); actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/segmentAndCache/time", actualEvent.get("metric")); Assert.assertEquals(4L, actualEvent.get("value")); queryMetrics.reportIntervalChunkTime(5000001).emit(serviceEmitter); actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/intervalChunk/time", actualEvent.get("metric")); Assert.assertEquals(5L, actualEvent.get("value")); queryMetrics.reportCpuTime(6000001).emit(serviceEmitter); actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals("query/cpu/time", actualEvent.get("metric")); queryMetrics.reportNodeTimeToFirstByte(7000001).emit(serviceEmitter);
queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(12, actualEvent.size());
queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(12, actualEvent.size());
queryMetrics.query(query); queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(15, actualEvent.size());
.build(); queryMetrics.query(query); queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(12, actualEvent.size());
queryMetrics.query(query); queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(16, actualEvent.size());
queryMetrics.query(query); queryMetrics.reportQueryTime(0).emit(serviceEmitter); Map<String, Object> actualEvent = cachingEmitter.getLastEmittedEvent().toMap(); Assert.assertEquals(15, actualEvent.size());
@Override public void emit(ServiceEmitter emitter) { delegateQueryMetrics.emit(emitter); } }
@Override public void emit(ServiceEmitter emitter) { delegateQueryMetrics.emit(emitter); } }
@Override public void after(boolean isDone, Throwable thrown) { if (report) { final long cpuTimeNs = cpuTimeAccumulator.get(); if (cpuTimeNs > 0) { queryWithMetrics.getQueryMetrics().reportCpuTime(cpuTimeNs).emit(emitter); } } } }
private void emitQueryTime(long requestTimeNs, boolean success) { QueryMetrics queryMetrics = DruidMetrics.makeRequestMetrics( queryMetricsFactory, warehouse.getToolChest(query), query, req.getRemoteAddr() ); queryMetrics.success(success); queryMetrics.reportQueryTime(requestTimeNs).emit(emitter); } }
@Override public void after(boolean isDone, Throwable thrown) { if (thrown != null) { queryMetrics.status("failed"); } else if (!isDone) { queryMetrics.status("short"); } long timeTakenNs = System.nanoTime() - startTimeNs; reportMetric.accept(queryMetrics, timeTakenNs); if (creationTimeNs > 0) { queryMetrics.reportWaitTime(startTimeNs - creationTimeNs); } try { queryMetrics.emit(emitter); } catch (Exception e) { // Query should not fail, because of emitter failure. Swallowing the exception. log.error("Failure while trying to emit [%s] with stacktrace [%s]", emitter.toString(), e); } } }