Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/envoy/tracing/tracer.h
Line
Count
Source
1
#pragma once
2
3
#include <memory>
4
5
#include "envoy/common/pure.h"
6
#include "envoy/tracing/trace_context.h"
7
#include "envoy/tracing/trace_driver.h"
8
#include "envoy/tracing/trace_reason.h"
9
10
namespace Envoy {
11
namespace Tracing {
12
13
/**
14
 * Tracer is responsible for handling traces and delegate actions to the
15
 * corresponding drivers.
16
 */
17
class Tracer {
18
public:
19
15.9k
  virtual ~Tracer() = default;
20
21
  virtual SpanPtr startSpan(const Config& config, TraceContext& trace_context,
22
                            const StreamInfo::StreamInfo& stream_info,
23
                            Tracing::Decision tracing_decision) PURE;
24
};
25
26
using TracerSharedPtr = std::shared_ptr<Tracer>;
27
28
} // namespace Tracing
29
} // namespace Envoy