1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
- package com.example.javaagent;
- import io.opentelemetry.context.Context;
- import io.opentelemetry.sdk.common.CompletableResultCode;
- import io.opentelemetry.sdk.trace.ReadWriteSpan;
- import io.opentelemetry.sdk.trace.ReadableSpan;
- import io.opentelemetry.sdk.trace.SpanProcessor;
- import org.apache.commons.lang3.RandomStringUtils;
- /**
- * See <a
- * href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#span-processor">
- * OpenTelemetry Specification</a> for more information about {@link SpanProcessor}.
- *
- * @see DemoAutoConfigurationCustomizerProvider
- */
- public class DemoSpanProcessor implements SpanProcessor {
- @Override
- public void onStart(Context parentContext, ReadWriteSpan span) {
- /*
- The sole purpose of this attribute is to introduce runtime dependency on some external library.
- We need this to demonstrate how extension can use them.
- */
- span.setAttribute("random", RandomStringUtils.random(10));
- span.setAttribute("custom", "demo");
- }
- @Override
- public boolean isStartRequired() {
- return true;
- }
- @Override
- public void onEnd(ReadableSpan span) {}
- @Override
- public boolean isEndRequired() {
- return false;
- }
- @Override
- public CompletableResultCode shutdown() {
- return CompletableResultCode.ofSuccess();
- }
- @Override
- public CompletableResultCode forceFlush() {
- return CompletableResultCode.ofSuccess();
- }
- }
|