Skip to content

Commit 956b411

Browse files
committed
fix
1 parent 0e42353 commit 956b411

File tree

1 file changed

+1
-65
lines changed

1 file changed

+1
-65
lines changed

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/AzureMonitorLogFilteringProcessor.java

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
package com.microsoft.applicationinsights.agent.internal.init;
55

6-
import com.azure.core.util.logging.ClientLogger;
76
import com.azure.monitor.opentelemetry.autoconfigure.implementation.AiSemanticAttributes;
87
import com.microsoft.applicationinsights.agent.internal.configuration.Configuration;
98
import com.microsoft.applicationinsights.agent.internal.sampling.AiFixedPercentageSampler;
@@ -13,29 +12,16 @@
1312
import io.opentelemetry.context.Context;
1413
import io.opentelemetry.instrumentation.api.instrumenter.LocalRootSpan;
1514
import io.opentelemetry.sdk.common.CompletableResultCode;
16-
import io.opentelemetry.sdk.internal.AttributesMap;
1715
import io.opentelemetry.sdk.logs.LogRecordProcessor;
1816
import io.opentelemetry.sdk.logs.ReadWriteLogRecord;
1917
import io.opentelemetry.sdk.trace.ReadableSpan;
2018
import io.opentelemetry.sdk.trace.samplers.SamplingDecision;
2119
import io.opentelemetry.sdk.trace.samplers.SamplingResult;
2220
import io.opentelemetry.semconv.ExceptionAttributes;
23-
import java.lang.reflect.Field;
2421
import java.util.List;
25-
import javax.annotation.Nullable;
2622

2723
public class AzureMonitorLogFilteringProcessor implements LogRecordProcessor {
2824

29-
private static final ClientLogger logger = new ClientLogger(AzureMonitorLogProcessor.class);
30-
private static final Field lockField;
31-
private static final Field attributesMapField;
32-
33-
static {
34-
Class<?> sdkReadWriteLogRecordClass = getSdkReadWriteLogRecordClass();
35-
lockField = getLockField(sdkReadWriteLogRecordClass);
36-
attributesMapField = getAttributesMapField(sdkReadWriteLogRecordClass);
37-
}
38-
3925
private final SamplingOverrides logSamplingOverrides;
4026
private final SamplingOverrides exceptionSamplingOverrides;
4127
private final LogRecordProcessor batchLogRecordProcessor;
@@ -132,58 +118,8 @@ public void close() {
132118
batchLogRecordProcessor.close();
133119
}
134120

135-
@Nullable
136-
private static Class<?> getSdkReadWriteLogRecordClass() {
137-
try {
138-
return Class.forName("io.opentelemetry.sdk.logs.SdkReadWriteLogRecord");
139-
} catch (ClassNotFoundException e) {
140-
return null;
141-
}
142-
}
143-
144-
@Nullable
145-
private static Field getLockField(Class<?> sdkReadWriteLogRecordClass) {
146-
if (sdkReadWriteLogRecordClass == null) {
147-
return null;
148-
}
149-
try {
150-
Field lockField = sdkReadWriteLogRecordClass.getDeclaredField("lock");
151-
lockField.setAccessible(true);
152-
return lockField;
153-
} catch (NoSuchFieldException e) {
154-
return null;
155-
}
156-
}
157-
158-
@Nullable
159-
private static Field getAttributesMapField(Class<?> sdkReadWriteLogRecordClass) {
160-
if (sdkReadWriteLogRecordClass == null) {
161-
return null;
162-
}
163-
try {
164-
Field attributesMapField = sdkReadWriteLogRecordClass.getDeclaredField("attributes");
165-
attributesMapField.setAccessible(true);
166-
return attributesMapField;
167-
} catch (NoSuchFieldException e) {
168-
return null;
169-
}
170-
}
171-
172121
private static void setAttributeExceptionLogged(Span span, ReadWriteLogRecord logRecord) {
173-
if (lockField == null || attributesMapField == null) {
174-
return;
175-
}
176-
String stacktrace = null;
177-
try {
178-
synchronized (lockField) {
179-
// TODO add `getAttribute()` to `ReadWriteLogRecord` upstream
180-
stacktrace =
181-
((AttributesMap) attributesMapField.get(logRecord))
182-
.get(ExceptionAttributes.EXCEPTION_STACKTRACE);
183-
}
184-
} catch (Exception e) {
185-
logger.error(e.getMessage(), e);
186-
}
122+
String stacktrace = logRecord.getAttribute(ExceptionAttributes.EXCEPTION_STACKTRACE);
187123
if (stacktrace != null) {
188124
span.setAttribute(AiSemanticAttributes.LOGGED_EXCEPTION, stacktrace);
189125
}

0 commit comments

Comments
 (0)