LCOV - code coverage report
Current view: top level - source/extensions/tracers/opentelemetry - trace_exporter.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 "source/common/common/logger.h"
       4             : 
       5             : #include "opentelemetry/proto/collector/trace/v1/trace_service.pb.h"
       6             : 
       7             : using opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest;
       8             : 
       9             : namespace Envoy {
      10             : namespace Extensions {
      11             : namespace Tracers {
      12             : namespace OpenTelemetry {
      13             : 
      14             : /**
      15             :  * @brief Base class for all OpenTelemetry Protocol (OTLP) exporters.
      16             :  * @see
      17             :  * https://github.com/open-telemetry/opentelemetry-proto/blob/v1.0.0/docs/specification.md#otlphttp
      18             :  */
      19             : class OpenTelemetryTraceExporter : public Logger::Loggable<Logger::Id::tracing> {
      20             : public:
      21           0 :   virtual ~OpenTelemetryTraceExporter() = default;
      22             : 
      23             :   /**
      24             :    * @brief Exports the trace request to the configured OTLP service.
      25             :    *
      26             :    * @param request The protobuf-encoded OTLP trace request.
      27             :    * @return true When the request was sent.
      28             :    * @return false When sending the request failed.
      29             :    */
      30             :   virtual bool log(const ExportTraceServiceRequest& request) = 0;
      31             : };
      32             : 
      33             : using OpenTelemetryTraceExporterPtr = std::unique_ptr<OpenTelemetryTraceExporter>;
      34             : 
      35             : } // namespace OpenTelemetry
      36             : } // namespace Tracers
      37             : } // namespace Extensions
      38             : } // namespace Envoy

Generated by: LCOV version 1.15