xref: /aosp_15_r20/external/grpc-grpc-java/xds/third_party/envoy/src/main/proto/envoy/config/trace/v2/http_tracer.proto (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1syntax = "proto3";
2
3package envoy.config.trace.v2;
4
5import "google/protobuf/any.proto";
6import "google/protobuf/struct.proto";
7
8import "udpa/annotations/status.proto";
9import "validate/validate.proto";
10
11option java_package = "io.envoyproxy.envoy.config.trace.v2";
12option java_outer_classname = "HttpTracerProto";
13option java_multiple_files = true;
14option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/trace/v2;tracev2";
15option (udpa.annotations.file_status).package_version_status = FROZEN;
16
17// [#protodoc-title: Tracing]
18// Tracing :ref:`architecture overview <arch_overview_tracing>`.
19
20// The tracing configuration specifies settings for an HTTP tracer provider used by Envoy.
21//
22// Envoy may support other tracers in the future, but right now the HTTP tracer is the only one
23// supported.
24//
25// .. attention::
26//
27//   Use of this message type has been deprecated in favor of direct use of
28//   :ref:`Tracing.Http <envoy_api_msg_config.trace.v2.Tracing.Http>`.
29message Tracing {
30  // Configuration for an HTTP tracer provider used by Envoy.
31  //
32  // The configuration is defined by the
33  // :ref:`HttpConnectionManager.Tracing <envoy_api_msg_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing>`
34  // :ref:`provider <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.provider>`
35  // field.
36  message Http {
37    // The name of the HTTP trace driver to instantiate. The name must match a
38    // supported HTTP trace driver. Built-in trace drivers:
39    //
40    // - *envoy.tracers.lightstep*
41    // - *envoy.tracers.zipkin*
42    // - *envoy.tracers.dynamic_ot*
43    // - *envoy.tracers.datadog*
44    // - *envoy.tracers.opencensus*
45    // - *envoy.tracers.xray*
46    string name = 1 [(validate.rules).string = {min_bytes: 1}];
47
48    // Trace driver specific configuration which depends on the driver being instantiated.
49    // See the trace drivers for examples:
50    //
51    // - :ref:`LightstepConfig <envoy_api_msg_config.trace.v2.LightstepConfig>`
52    // - :ref:`ZipkinConfig <envoy_api_msg_config.trace.v2.ZipkinConfig>`
53    // - :ref:`DynamicOtConfig <envoy_api_msg_config.trace.v2.DynamicOtConfig>`
54    // - :ref:`DatadogConfig <envoy_api_msg_config.trace.v2.DatadogConfig>`
55    // - :ref:`OpenCensusConfig <envoy_api_msg_config.trace.v2.OpenCensusConfig>`
56    // - :ref:`AWS X-Ray <envoy_api_msg_config.trace.v2alpha.XRayConfig>`
57    oneof config_type {
58      google.protobuf.Struct config = 2 [deprecated = true];
59
60      google.protobuf.Any typed_config = 3;
61    }
62  }
63
64  // Provides configuration for the HTTP tracer.
65  Http http = 1;
66}
67