DemoIdGenerator.java 791 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * Copyright The OpenTelemetry Authors
  3. * SPDX-License-Identifier: Apache-2.0
  4. */
  5. package com.example.javaagent;
  6. import io.opentelemetry.sdk.trace.IdGenerator;
  7. import java.util.concurrent.atomic.AtomicLong;
  8. /**
  9. * Custom {@link IdGenerator} which provides span and trace ids.
  10. *
  11. * @see io.opentelemetry.sdk.trace.SdkTracerProvider
  12. * @see DemoSdkTracerProviderConfigurer
  13. */
  14. public class DemoIdGenerator implements IdGenerator {
  15. private static final AtomicLong traceId = new AtomicLong(0);
  16. private static final AtomicLong spanId = new AtomicLong(0);
  17. @Override
  18. public String generateSpanId() {
  19. return String.format("%016d", spanId.incrementAndGet());
  20. }
  21. @Override
  22. public String generateTraceId() {
  23. return String.format("%032d", traceId.incrementAndGet());
  24. }
  25. }