Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion smoke-tests/apps/LiveMetrics/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ dependencies {
implementation("log4j:log4j:1.2.17")
implementation("io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:1.22.1")
implementation("com.azure:azure-json:1.0.0")
implementation("com.azure:azure-monitor-opentelemetry-autoconfigure:1.0.0-beta.1")
implementation("com.azure:azure-monitor-opentelemetry-autoconfigure:1.1.0")
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
package com.microsoft.applicationinsights.smoketestapp;

import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.logs.Severity;
import io.opentelemetry.semconv.ExceptionAttributes;
import java.io.PrintWriter;
Expand Down Expand Up @@ -37,4 +38,17 @@ public String testCustomExceptionTypeAndMessage() {
.emit();
return "OK!";
}

@GetMapping("/test-custom-event")
public String testCustomEvent() {
GlobalOpenTelemetry.get()
.getLogsBridge()
.get("my logger")
.logRecordBuilder()
.setAttribute(AttributeKey.stringKey("microsoft.custom_event.name"), "my_custom_event")
.setSeverity(Severity.INFO)
.emit();
return "OK!";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

import com.microsoft.applicationinsights.smoketest.schemav2.Data;
import com.microsoft.applicationinsights.smoketest.schemav2.Envelope;
import com.microsoft.applicationinsights.smoketest.schemav2.EventData;
import com.microsoft.applicationinsights.smoketest.schemav2.ExceptionData;
import com.microsoft.applicationinsights.smoketest.schemav2.RequestData;
import java.util.List;
Expand Down Expand Up @@ -60,6 +61,36 @@ void testCustomExceptionTypeAndMessage() throws Exception {
.isEqualTo("This is an custom exception with custom exception type");
}

@Test
@TargetUri("/test-custom-event")
void testCustomEvent() throws Exception {
List<Envelope> rdList = testing.mockedIngestion.waitForItems("RequestData", 1);
Envelope rdEnvelope = rdList.get(0);

RequestData rd = (RequestData) ((Data<?>) rdEnvelope.getData()).getBaseData();
assertThat(rd.getUrl())
.matches(
"http://localhost:[0-9]+/OpenTelemetryApiLogBridge/test-custom-event");
assertThat(rd.getResponseCode()).isEqualTo("200");
assertThat(rd.getSuccess()).isTrue();
assertThat(rd.getSource()).isNull();
assertThat(rd.getProperties()).hasSize(1);
assertThat(rd.getProperties()).containsEntry("_MS.ProcessedByMetricExtractors", "True");

assertThat(rdEnvelope.getIKey()).isEqualTo("00000000-0000-0000-0000-0FEEDDADBEEF");
assertThat(rdEnvelope.getTags())
.hasEntrySatisfying("ai.internal.sdkVersion", v -> assertThat(v).startsWith("java:3."));

String operationId = rdEnvelope.getTags().get("ai.operation.id");
List<Envelope> edList =
testing.mockedIngestion.waitForItemsInOperation("EventData", 1, operationId);
assertThat(edList.size()).isNotZero();
EventData ed = (EventData) ((Data<?>) edList.get(0).getData()).getBaseData();
assertThat(ed.getName()).isEqualTo("my_custom_event");
}



@Environment(TOMCAT_8_JAVA_8)
static class Tomcat8Java8Test extends OpenTelemetryApiLogBridgeTest {}

Expand Down
Loading