Skip to content

Commit

Permalink
[java] Replace OpenTelemetry deprecated method
Browse files Browse the repository at this point in the history
  • Loading branch information
pujagani committed Aug 1, 2022
1 parent 2f93cc4 commit dd37ae5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;

import org.openqa.selenium.internal.Require;
import org.openqa.selenium.remote.tracing.Propagator;
import org.openqa.selenium.remote.tracing.TraceContext;
Expand Down Expand Up @@ -71,10 +72,14 @@ private static OpenTelemetryTracer createTracer() {
// If the metrics exporter property is not set to none, external dependency is required.
System.setProperty("otel.metrics.exporter", "none");
String exporter = System.getProperty("otel.traces.exporter");
if(exporter == null) {
if (exporter == null) {
System.setProperty("otel.traces.exporter", "none");
}
OpenTelemetrySdk autoConfiguredSdk = AutoConfiguredOpenTelemetrySdk.initialize().getOpenTelemetrySdk();
OpenTelemetrySdk autoConfiguredSdk = AutoConfiguredOpenTelemetrySdk.builder()
.addTracerProviderCustomizer(((sdkTracerProviderBuilder, configProperties) -> sdkTracerProviderBuilder
.addSpanProcessor(SeleniumSpanExporter.getSpanProcessor())))
.build()
.getOpenTelemetrySdk();

return new OpenTelemetryTracer(
autoConfiguredSdk.getTracer("default"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

package org.openqa.selenium.remote.tracing.opentelemetry;

import com.google.auto.service.AutoService;
import com.google.common.collect.ImmutableSet;

import org.openqa.selenium.json.Json;
Expand All @@ -27,10 +26,8 @@
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.data.EventData;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
Expand All @@ -44,13 +41,12 @@
import java.util.logging.Level;
import java.util.logging.Logger;

@AutoService(SdkTracerProviderConfigurer.class)
public class SeleniumSpanExporter implements SdkTracerProviderConfigurer {
public class SeleniumSpanExporter {

private static final Logger LOG = Logger.getLogger(SeleniumSpanExporter.class.getName());
private static final ImmutableSet<String> EXCEPTION_ATTRIBUTES =
ImmutableSet.of("exception.message", "exception.stacktrace");
private final boolean httpLogs = OpenTelemetryTracer.getHttpLogs();
private static final boolean httpLogs = OpenTelemetryTracer.getHttpLogs();

private static String getJsonString(Map<String, Object> map) {
StringBuilder text = new StringBuilder();
Expand All @@ -61,10 +57,8 @@ private static String getJsonString(Map<String, Object> map) {
return text.toString();
}

@Override
public void configure(SdkTracerProviderBuilder tracerProvider,
ConfigProperties configProperties) {
tracerProvider.addSpanProcessor(SimpleSpanProcessor.create(new SpanExporter() {
public static SpanProcessor getSpanProcessor() {
return SimpleSpanProcessor.create(new SpanExporter() {
@Override
public CompletableResultCode export(Collection<SpanData> spans) {
spans.forEach(span -> {
Expand All @@ -84,13 +78,11 @@ public CompletableResultCode export(Collection<SpanData> spans) {
Attributes attributes = event.getAttributes();
map.put("attributes", attributes.asMap());

EXCEPTION_ATTRIBUTES.forEach(exceptionAttribute -> {
attributes.asMap().keySet()
.stream()
.filter(key -> exceptionAttribute.equalsIgnoreCase(key.getKey()))
.findFirst()
.ifPresent(key -> LOG.log(logLevel, attributes.asMap().get(key).toString()));
});
EXCEPTION_ATTRIBUTES.forEach(exceptionAttribute -> attributes.asMap().keySet()
.stream()
.filter(key -> exceptionAttribute.equalsIgnoreCase(key.getKey()))
.findFirst()
.ifPresent(key -> LOG.log(logLevel, attributes.asMap().get(key).toString())));
String jsonString = getJsonString(map);
LOG.log(logLevel, jsonString);
});
Expand All @@ -108,10 +100,10 @@ public CompletableResultCode shutdown() {
// no-op
return CompletableResultCode.ofSuccess();
}
}));
});
}

private Level getLogLevel(SpanData span) {
private static Level getLogLevel(SpanData span) {
Level level = Level.FINE;

Optional<String> kind =
Expand Down

0 comments on commit dd37ae5

Please sign in to comment.