LCOV - code coverage report
Current view: top level - source/extensions/tracers/opentelemetry/resource_detectors - resource_provider.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 0 1 0.0 %
Date: 2024-01-05 06:35:25 Functions: 0 1 0.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/config/trace/v3/opentelemetry.pb.h"
       4             : 
       5             : #include "source/extensions/tracers/opentelemetry/resource_detectors/resource_detector.h"
       6             : 
       7             : namespace Envoy {
       8             : namespace Extensions {
       9             : namespace Tracers {
      10             : namespace OpenTelemetry {
      11             : 
      12             : constexpr absl::string_view kServiceNameKey = "service.name";
      13             : constexpr absl::string_view kDefaultServiceName = "unknown_service:envoy";
      14             : 
      15             : class ResourceProvider : public Logger::Loggable<Logger::Id::tracing> {
      16             : public:
      17           0 :   virtual ~ResourceProvider() = default;
      18             : 
      19             :   /**
      20             :    * @brief Iterates through all loaded resource detectors and merge all the returned
      21             :    * resources into one. Resource merging is done according to the OpenTelemetry
      22             :    * resource SDK specification. @see
      23             :    * https://github.com/open-telemetry/opentelemetry-specification/blob/v1.24.0/specification/resource/sdk.md#merge.
      24             :    *
      25             :    * @param opentelemetry_config The OpenTelemetry configuration, which contains the configured
      26             :    * resource detectors.
      27             :    * @param context The tracer factory context.
      28             :    * @return Resource const The merged resource.
      29             :    */
      30             :   virtual Resource
      31             :   getResource(const envoy::config::trace::v3::OpenTelemetryConfig& opentelemetry_config,
      32             :               Server::Configuration::TracerFactoryContext& context) const PURE;
      33             : };
      34             : 
      35             : class ResourceProviderImpl : public ResourceProvider {
      36             : public:
      37             :   Resource getResource(const envoy::config::trace::v3::OpenTelemetryConfig& opentelemetry_config,
      38             :                        Server::Configuration::TracerFactoryContext& context) const override;
      39             : };
      40             : 
      41             : } // namespace OpenTelemetry
      42             : } // namespace Tracers
      43             : } // namespace Extensions
      44             : } // namespace Envoy

Generated by: LCOV version 1.15