pub struct OpenTelemetryConfig {
pub grpc_service: Option<GrpcService>,
pub http_service: Option<HttpService>,
pub service_name: String,
pub resource_detectors: Vec<TypedExtensionConfig>,
pub sampler: Option<TypedExtensionConfig>,
}
Expand description
Configuration for the OpenTelemetry tracer. [#extension: envoy.tracers.opentelemetry] [#next-free-field: 6]
Fields§
§grpc_service: Option<GrpcService>
The upstream gRPC cluster that will receive OTLP traces.
Note that the tracer drops traces if the server does not read data fast enough.
This field can be left empty to disable reporting traces to the gRPC service.
Only one of grpc_service
, http_service
may be used.
http_service: Option<HttpService>
The upstream HTTP cluster that will receive OTLP traces.
This field can be left empty to disable reporting traces to the HTTP service.
Only one of grpc_service
, http_service
may be used.
.. note::
Note: The request_headers_to_add
property in the OTLP HTTP exporter service
does not support the :ref:format specifier <config_access_log_format>
as used for
:ref:HTTP access logging <config_access_log>
.
The values configured are added as HTTP headers on the OTLP export request
without any formatting applied.
service_name: String
The name for the service. This will be populated in the ResourceSpan Resource attributes. If it is not provided, it will default to “unknown_service:envoy”.
resource_detectors: Vec<TypedExtensionConfig>
An ordered list of resource detectors [#extension-category: envoy.tracers.opentelemetry.resource_detectors]
sampler: Option<TypedExtensionConfig>
Specifies the sampler to be used by the OpenTelemetry tracer. The configured sampler implements the Sampler interface defined by the OpenTelemetry specification. This field can be left empty. In this case, the default Envoy sampling decision is used.
See: OpenTelemetry sampler specification <<https://opentelemetry.io/docs/specs/otel/trace/sdk/#sampler>
_>
[#extension-category: envoy.tracers.opentelemetry.samplers]
Trait Implementations§
Source§impl Clone for OpenTelemetryConfig
impl Clone for OpenTelemetryConfig
Source§fn clone(&self) -> OpenTelemetryConfig
fn clone(&self) -> OpenTelemetryConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OpenTelemetryConfig
impl Debug for OpenTelemetryConfig
Source§impl Default for OpenTelemetryConfig
impl Default for OpenTelemetryConfig
Source§impl Message for OpenTelemetryConfig
impl Message for OpenTelemetryConfig
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for OpenTelemetryConfig
impl Name for OpenTelemetryConfig
Source§const NAME: &'static str = "OpenTelemetryConfig"
const NAME: &'static str = "OpenTelemetryConfig"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.config.trace.v3"
const PACKAGE: &'static str = "envoy.config.trace.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for OpenTelemetryConfig
impl PartialEq for OpenTelemetryConfig
impl StructuralPartialEq for OpenTelemetryConfig
Auto Trait Implementations§
impl Freeze for OpenTelemetryConfig
impl RefUnwindSafe for OpenTelemetryConfig
impl Send for OpenTelemetryConfig
impl Sync for OpenTelemetryConfig
impl Unpin for OpenTelemetryConfig
impl UnwindSafe for OpenTelemetryConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request