import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
public class TracingExample {
public static void main(String[] args) {
Tracer tracer = Tracing.getGlobalTracer("my-service");
Span span = tracer.spanBuilder("my-span").startSpan();
span.setAttribute("key", "value");
try {
} catch (Exception e) {
span.recordException(e);
} finally {
span.end();
}
}
}
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.sdk.logging.data.LogRecordBuilder;
import io.opentelemetry.sdk.logging.export.BatchLogProcessor;
import io.opentelemetry.sdk.logging.export.LoggingExporter;
import io.opentelemetry.sdk.logging.spi.BatchLogProcessorBuilder;
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
public class LoggingExample {
public static void main(String[] args) {
Logger logger = Logger.getLogger(LoggingExample.class.getName());
Tracer tracer = Tracing.getGlobalTracer("my-service");
BatchLogProcessor logProcessor = createLogProcessor();
Span span = tracer.spanBuilder("my-span").startSpan();
LogRecordBuilder logRecordBuilder = LoggingExporter.getLogRecordBuilder();
logRecordBuilder.setSeverity(Level.INFO);
logRecordBuilder.setName("my-log");
logRecordBuilder.setBody("This is a log message");
logRecordBuilder.setAttributes(Attributes.of(AttributeKey.stringKey("key"), "value"));
span.record(logRecordBuilder.build());
span.end();
}
private static BatchLogProcessor createLogProcessor() {
BatchLogProcessorBuilder logProcessorBuilder = LoggingExporter.getBatchLogProcessorBuilder();
logProcessorBuilder.setExporter(myExporter);
return logProcessorBuilder.build();
}
}