Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/envoy/http/context.h
Line
Count
Source
1
#pragma once
2
3
#include <memory>
4
5
#include "envoy/config/trace/v3/http_tracer.pb.h"
6
#include "envoy/http/codes.h"
7
8
namespace Envoy {
9
namespace Http {
10
11
struct UserAgentContext;
12
13
/**
14
 * Captures http-related structures with cardinality of one per server.
15
 */
16
class Context {
17
public:
18
24.5k
  virtual ~Context() = default;
19
20
  /**
21
   * Get the default tracing configuration, i.e. one from the bootstrap config.
22
   *
23
   * Once deprecation window for the tracer provider configuration in the bootstrap config is over,
24
   * this method will no longer be necessary.
25
   *
26
   * @return Tracing.
27
   */
28
  virtual const envoy::config::trace::v3::Tracing& defaultTracingConfig() PURE;
29
30
  virtual CodeStats& codeStats() PURE;
31
  virtual const UserAgentContext& userAgentContext() const PURE;
32
  virtual const Stats::StatName& asyncClientStatPrefix() const PURE;
33
};
34
35
using ContextPtr = std::unique_ptr<Context>;
36
37
} // namespace Http
38
} // namespace Envoy