Skip to content

Commit

Permalink
add url, name and fix operation name to request document (#1993)
Browse files Browse the repository at this point in the history
  • Loading branch information
kryalama committed Dec 8, 2021
1 parent 9a7ca8f commit 8172def
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

package com.microsoft.applicationinsights.agent.internal.quickpulse;

import com.microsoft.applicationinsights.agent.internal.exporter.models.ContextTagKeys;
import com.microsoft.applicationinsights.agent.internal.exporter.models.MonitorDomain;
import com.microsoft.applicationinsights.agent.internal.exporter.models.RemoteDependencyData;
import com.microsoft.applicationinsights.agent.internal.exporter.models.RequestData;
Expand Down Expand Up @@ -226,7 +227,10 @@ public void add(TelemetryItem telemetryItem) {
MonitorDomain data = telemetryItem.getData().getBaseData();
if (data instanceof RequestData) {
RequestData requestTelemetry = (RequestData) data;
addRequest(requestTelemetry, itemCount);
addRequest(
requestTelemetry,
itemCount,
telemetryItem.getTags().get(ContextTagKeys.AI_OPERATION_NAME.toString()));
} else if (data instanceof RemoteDependencyData) {
addDependency((RemoteDependencyData) data, itemCount);
} else if (data instanceof TelemetryExceptionData) {
Expand Down Expand Up @@ -308,7 +312,7 @@ private void addException(TelemetryExceptionData exceptionData, int itemCount) {
}
}

private void addRequest(RequestData requestTelemetry, int itemCount) {
private void addRequest(RequestData requestTelemetry, int itemCount, String operationName) {
Counters counters = this.counters.get();
if (counters == null) {
return;
Expand All @@ -328,7 +332,9 @@ private void addRequest(RequestData requestTelemetry, int itemCount) {
quickPulseRequestDocument.setSuccess(requestTelemetry.isSuccess());
quickPulseRequestDocument.setDuration(requestTelemetry.getDuration());
quickPulseRequestDocument.setResponseCode(requestTelemetry.getResponseCode());
quickPulseRequestDocument.setOperationName(requestTelemetry.getName());
quickPulseRequestDocument.setOperationName(operationName);
quickPulseRequestDocument.setName(requestTelemetry.getName());
quickPulseRequestDocument.setUrl(requestTelemetry.getUrl());
quickPulseRequestDocument.setProperties(
aggregateProperties(requestTelemetry.getProperties(), requestTelemetry.getMeasurements()));
synchronized (counters.documentList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ public class QuickPulseRequestDocument extends QuickPulseDocument {
@JsonProperty(value = "OperationName")
private String operationName;

@JsonProperty(value = "Url")
private String url;

public boolean isSuccess() {
return success;
}
Expand Down Expand Up @@ -79,4 +82,12 @@ public String getName() {
public void setName(String name) {
this.name = name;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public void testPostRequest() throws InterruptedException {
String expectedPingRequestBody =
"\\{\"Documents\":null,\"InstrumentationKey\":null,\"Metrics\":null,\"InvariantVersion\":1,\"Timestamp\":\"\\\\/Date\\(\\d+\\)\\\\/\",\"Version\":\"\\(unknown\\)\",\"StreamId\":\"qpid123\",\"MachineName\":\"machine1\",\"Instance\":\"instance1\",\"RoleName\":null\\}";
String expectedPostRequestBody =
"\\[\\{\"Documents\":\\[\\{\"__type\":\"RequestTelemetryDocument\",\"DocumentType\":\"Request\",\"Version\":\"1.0\",\"OperationId\":null,\"Properties\":\\{\"customProperty\":\"customValue\"\\},\"Name\":null,\"Success\":true,\"Duration\":\"\\d+:\\d+:\\d+\\.\\d+\",\"ResponseCode\":\"200\",\"OperationName\":\"request-test\"\\},\\{\"__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\":\""
"\\[\\{\"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\":\""
+ instrumentationKey
+ "\",\"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\\}\\]";
QuickPulsePingSender pingSender =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ public static TelemetryItem createRequestTelemetry(
data.setDuration(FormattedDuration.fromMillis(durationMillis));
data.setResponseCode(responseCode);
data.setSuccess(success);
data.setUrl("foo");
telemetry.setTime(FormattedTime.offSetDateTimeFromDate(timestamp));
return telemetry;
}
Expand Down

0 comments on commit 8172def

Please sign in to comment.