Skip to content

Commit 0c0d9d6

Browse files
committed
test for custom events with otel api
1 parent d2d8b52 commit 0c0d9d6

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

smoke-tests/apps/LiveMetrics/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ dependencies {
77
implementation("log4j:log4j:1.2.17")
88
implementation("io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:1.22.1")
99
implementation("com.azure:azure-json:1.0.0")
10-
implementation("com.azure:azure-monitor-opentelemetry-autoconfigure:1.0.0-beta.1")
10+
implementation("com.azure:azure-monitor-opentelemetry-autoconfigure:1.1.0")
1111
}

smoke-tests/apps/OpenTelemetryApiLogBridge/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package com.microsoft.applicationinsights.smoketestapp;
55

66
import io.opentelemetry.api.GlobalOpenTelemetry;
7+
import io.opentelemetry.api.common.AttributeKey;
78
import io.opentelemetry.api.logs.Severity;
89
import io.opentelemetry.semconv.ExceptionAttributes;
910
import java.io.PrintWriter;
@@ -37,4 +38,17 @@ public String testCustomExceptionTypeAndMessage() {
3738
.emit();
3839
return "OK!";
3940
}
41+
42+
@GetMapping("/test-custom-event")
43+
public String testCustomEvent() {
44+
GlobalOpenTelemetry.get()
45+
.getLogsBridge()
46+
.get("my logger")
47+
.logRecordBuilder()
48+
.setAttribute(AttributeKey.stringKey("microsoft.custom_event.name"), "my_custom_event")
49+
.setSeverity(Severity.INFO)
50+
.emit();
51+
return "OK!";
52+
}
53+
4054
}

smoke-tests/apps/OpenTelemetryApiLogBridge/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/OpenTelemetryApiLogBridgeTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.microsoft.applicationinsights.smoketest.schemav2.Data;
2121
import com.microsoft.applicationinsights.smoketest.schemav2.Envelope;
22+
import com.microsoft.applicationinsights.smoketest.schemav2.EventData;
2223
import com.microsoft.applicationinsights.smoketest.schemav2.ExceptionData;
2324
import com.microsoft.applicationinsights.smoketest.schemav2.RequestData;
2425
import java.util.List;
@@ -60,6 +61,36 @@ void testCustomExceptionTypeAndMessage() throws Exception {
6061
.isEqualTo("This is an custom exception with custom exception type");
6162
}
6263

64+
@Test
65+
@TargetUri("/test-custom-event")
66+
void testCustomEvent() throws Exception {
67+
List<Envelope> rdList = testing.mockedIngestion.waitForItems("RequestData", 1);
68+
Envelope rdEnvelope = rdList.get(0);
69+
70+
RequestData rd = (RequestData) ((Data<?>) rdEnvelope.getData()).getBaseData();
71+
assertThat(rd.getUrl())
72+
.matches(
73+
"http://localhost:[0-9]+/OpenTelemetryApiLogBridge/test-custom-event");
74+
assertThat(rd.getResponseCode()).isEqualTo("200");
75+
assertThat(rd.getSuccess()).isTrue();
76+
assertThat(rd.getSource()).isNull();
77+
assertThat(rd.getProperties()).hasSize(1);
78+
assertThat(rd.getProperties()).containsEntry("_MS.ProcessedByMetricExtractors", "True");
79+
80+
assertThat(rdEnvelope.getIKey()).isEqualTo("00000000-0000-0000-0000-0FEEDDADBEEF");
81+
assertThat(rdEnvelope.getTags())
82+
.hasEntrySatisfying("ai.internal.sdkVersion", v -> assertThat(v).startsWith("java:3."));
83+
84+
String operationId = rdEnvelope.getTags().get("ai.operation.id");
85+
List<Envelope> edList =
86+
testing.mockedIngestion.waitForItemsInOperation("EventData", 1, operationId);
87+
assertThat(edList.size()).isNotZero();
88+
EventData ed = (EventData) ((Data<?>) edList.get(0).getData()).getBaseData();
89+
assertThat(ed.getName()).isEqualTo("my_custom_event");
90+
}
91+
92+
93+
6394
@Environment(TOMCAT_8_JAVA_8)
6495
static class Tomcat8Java8Test extends OpenTelemetryApiLogBridgeTest {}
6596

0 commit comments

Comments
 (0)