tracer_handle.h 472 B

123456789101112131415161718192021222324252627
  1. // Copyright The OpenTelemetry Authors
  2. // SPDX-License-Identifier: Apache-2.0
  3. #pragma once
  4. #include "opentelemetry/version.h"
  5. OPENTELEMETRY_BEGIN_NAMESPACE
  6. namespace trace
  7. {
  8. class Tracer;
  9. } // namespace trace
  10. namespace plugin
  11. {
  12. /**
  13. * Manage the ownership of a dynamically loaded tracer.
  14. */
  15. class TracerHandle
  16. {
  17. public:
  18. virtual ~TracerHandle() = default;
  19. virtual trace::Tracer &tracer() const noexcept = 0;
  20. };
  21. } // namespace plugin
  22. OPENTELEMETRY_END_NAMESPACE