Skip to content

Commit b5a2f38

Browse files
authored
fix duration in live metrics sample telemetry feature (#1996)
1 parent 7e90a14 commit b5a2f38

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/quickpulse/QuickPulseDataCollector.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.microsoft.applicationinsights.agent.internal.telemetry.TelemetryClient;
3838
import java.lang.management.ManagementFactory;
3939
import java.lang.management.MemoryMXBean;
40+
import java.time.Duration;
4041
import java.util.ArrayList;
4142
import java.util.HashMap;
4243
import java.util.List;
@@ -247,8 +248,8 @@ private void addDependency(RemoteDependencyData telemetry, int itemCount) {
247248
if (counters == null) {
248249
return;
249250
}
250-
counters.rddsAndDuations.addAndGet(
251-
Counters.encodeCountAndDuration(itemCount, parseDurationToMillis(telemetry.getDuration())));
251+
long durationMillis = parseDurationToMillis(telemetry.getDuration());
252+
counters.rddsAndDuations.addAndGet(Counters.encodeCountAndDuration(itemCount, durationMillis));
252253
Boolean success = telemetry.isSuccess();
253254
if (success != null && !success) { // success should not be null
254255
counters.unsuccessfulRdds.incrementAndGet();
@@ -262,7 +263,7 @@ private void addDependency(RemoteDependencyData telemetry, int itemCount) {
262263
quickPulseDependencyDocument.setCommandName(telemetry.getData());
263264
quickPulseDependencyDocument.setTarget(telemetry.getTarget());
264265
quickPulseDependencyDocument.setSuccess(telemetry.isSuccess());
265-
quickPulseDependencyDocument.setDuration(telemetry.getDuration());
266+
quickPulseDependencyDocument.setDuration(Duration.ofMillis(durationMillis).toString());
266267
quickPulseDependencyDocument.setResultCode(telemetry.getResultCode());
267268
quickPulseDependencyDocument.setOperationName(telemetry.getId());
268269
quickPulseDependencyDocument.setDependencyTypeName(telemetry.getType());
@@ -317,10 +318,9 @@ private void addRequest(RequestData requestTelemetry, int itemCount, String oper
317318
if (counters == null) {
318319
return;
319320
}
320-
321+
long durationMillis = parseDurationToMillis(requestTelemetry.getDuration());
321322
counters.requestsAndDurations.addAndGet(
322-
Counters.encodeCountAndDuration(
323-
itemCount, parseDurationToMillis(requestTelemetry.getDuration())));
323+
Counters.encodeCountAndDuration(itemCount, durationMillis));
324324
if (!requestTelemetry.isSuccess()) {
325325
counters.unsuccessfulRequests.incrementAndGet();
326326
}
@@ -330,7 +330,7 @@ private void addRequest(RequestData requestTelemetry, int itemCount, String oper
330330
quickPulseRequestDocument.setOperationId(requestTelemetry.getId());
331331
quickPulseRequestDocument.setVersion("1.0");
332332
quickPulseRequestDocument.setSuccess(requestTelemetry.isSuccess());
333-
quickPulseRequestDocument.setDuration(requestTelemetry.getDuration());
333+
quickPulseRequestDocument.setDuration(Duration.ofMillis(durationMillis).toString());
334334
quickPulseRequestDocument.setResponseCode(requestTelemetry.getResponseCode());
335335
quickPulseRequestDocument.setOperationName(operationName);
336336
quickPulseRequestDocument.setName(requestTelemetry.getName());

agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/quickpulse/QuickPulseIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void testPostRequest() throws InterruptedException {
9595
String expectedPingRequestBody =
9696
"\\{\"Documents\":null,\"InstrumentationKey\":null,\"Metrics\":null,\"InvariantVersion\":1,\"Timestamp\":\"\\\\/Date\\(\\d+\\)\\\\/\",\"Version\":\"\\(unknown\\)\",\"StreamId\":\"qpid123\",\"MachineName\":\"machine1\",\"Instance\":\"instance1\",\"RoleName\":null\\}";
9797
String expectedPostRequestBody =
98-
"\\[\\{\"Documents\":\\[\\{\"__type\":\"RequestTelemetryDocument\",\"DocumentType\":\"Request\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":\\{\"customProperty\":\"customValue\"\\},\"Name\":\"request-test\",\"Success\":true,\"Duration\":\"\\d+:\\d+:\\d+\\.\\d+\",\"ResponseCode\":\"200\",\"OperationName\":null,\"Url\":\"foo\"\\},\\{\"__type\":\"DependencyTelemetryDocument\",\"DocumentType\":\"RemoteDependency\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":\\{\"customProperty\":\"customValue\"\\},\"Name\":\"dep-test\",\"Target\":null,\"Success\":true,\"Duration\":\"\\d+:\\d+:\\d+.\\d+\",\"ResultCode\":null,\"CommandName\":\"dep-test-cmd\",\"DependencyTypeName\":null,\"OperationName\":null\\},\\{\"__type\":\"ExceptionTelemetryDocument\",\"DocumentType\":\"Exception\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":null,\"Exception\":\"\",\"ExceptionMessage\":\"test\",\"ExceptionType\":\"java.lang.Exception\"\\}\\],\"InstrumentationKey\":\""
98+
"\\[\\{\"Documents\":\\[\\{\"__type\":\"RequestTelemetryDocument\",\"DocumentType\":\"Request\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":\\{\"customProperty\":\"customValue\"\\},\"Name\":\"request-test\",\"Success\":true,\"Duration\":\"PT.*S\",\"ResponseCode\":\"200\",\"OperationName\":null,\"Url\":\"foo\"\\},\\{\"__type\":\"DependencyTelemetryDocument\",\"DocumentType\":\"RemoteDependency\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":\\{\"customProperty\":\"customValue\"\\},\"Name\":\"dep-test\",\"Target\":null,\"Success\":true,\"Duration\":\"PT.*S\",\"ResultCode\":null,\"CommandName\":\"dep-test-cmd\",\"DependencyTypeName\":null,\"OperationName\":null\\},\\{\"__type\":\"ExceptionTelemetryDocument\",\"DocumentType\":\"Exception\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":null,\"Exception\":\"\",\"ExceptionMessage\":\"test\",\"ExceptionType\":\"java.lang.Exception\"\\}\\],\"InstrumentationKey\":\""
9999
+ instrumentationKey
100100
+ "\",\"Metrics\":\\[\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Requests\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Request Duration\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Requests Failed\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Requests Succeeded\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Dependency Calls\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Dependency Call Duration\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Dependency Calls Failed\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Dependency Calls Succeeded\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\ApplicationInsights\\\\\\\\Exceptions\\\\\\/Sec\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\Memory\\\\\\\\Committed Bytes\",\"Value\":\\d+,\"Weight\":\\d+\\},\\{\"Name\":\"\\\\\\\\Processor\\(_Total\\)\\\\\\\\% Processor Time\",\"Value\":-?\\d+,\"Weight\":\\d+\\}\\],\"InvariantVersion\":1,\"Timestamp\":\"\\\\\\/Date\\(\\d+\\)\\\\\\/\",\"Version\":\"[^\"]*\",\"StreamId\":null,\"MachineName\":\"machine1\",\"Instance\":\"instance1\",\"RoleName\":null\\}\\]";
101101
QuickPulsePingSender pingSender =

0 commit comments

Comments
 (0)