pub struct ZipkinConfig {
pub collector_cluster: String,
pub collector_endpoint: String,
pub trace_id_128bit: bool,
pub shared_span_context: Option<BoolValue>,
pub collector_endpoint_version: i32,
pub collector_hostname: String,
pub split_spans_for_request: bool,
}
Expand description
Configuration for the Zipkin tracer. [#extension: envoy.tracers.zipkin] [#next-free-field: 8]
Fields§
§collector_cluster: String
The cluster manager cluster that hosts the Zipkin collectors.
collector_endpoint: String
The API endpoint of the Zipkin service where the spans will be sent. When using a standard Zipkin installation.
trace_id_128bit: bool
Determines whether a 128bit trace id will be used when creating a new trace instance. The default value is false, which will result in a 64 bit trace id being used.
Determines whether client and server spans will share the same span context. The default value is true.
collector_endpoint_version: i32
Determines the selected collector endpoint version.
collector_hostname: String
Optional hostname to use when sending spans to the collector_cluster. Useful for collectors
that require a specific hostname. Defaults to :ref:collector_cluster <envoy_v3_api_field_config.trace.v3.ZipkinConfig.collector_cluster>
above.
split_spans_for_request: bool
If this is set to true, then Envoy will be treated as an independent hop in trace chain. A complete span pair will be created for a single request. Server span will be created for the downstream request and client span will be created for the related upstream request. This should be set to true in the following cases:
- The Envoy Proxy is used as gateway or ingress.
- The Envoy Proxy is used as sidecar but inbound traffic capturing or outbound traffic capturing is disabled.
- Any case that the :ref:
start_child_span of router <envoy_v3_api_field_extensions.filters.http.router.v3.Router.start_child_span>
is set to true.
.. attention::
If this is set to true, then the
:ref:start_child_span of router <envoy_v3_api_field_extensions.filters.http.router.v3.Router.start_child_span>
SHOULD be set to true also to ensure the correctness of trace chain.
Both this field and start_child_span
are deprecated by the
:ref:spawn_upstream_span <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.spawn_upstream_span>
.
Please use that spawn_upstream_span
field to control the span creation.
Implementations§
Source§impl ZipkinConfig
impl ZipkinConfig
Sourcepub fn collector_endpoint_version(&self) -> CollectorEndpointVersion
pub fn collector_endpoint_version(&self) -> CollectorEndpointVersion
Returns the enum value of collector_endpoint_version
, or the default if the field is set to an invalid enum value.
Sourcepub fn set_collector_endpoint_version(
&mut self,
value: CollectorEndpointVersion,
)
pub fn set_collector_endpoint_version( &mut self, value: CollectorEndpointVersion, )
Sets collector_endpoint_version
to the provided enum value.
Trait Implementations§
Source§impl Clone for ZipkinConfig
impl Clone for ZipkinConfig
Source§fn clone(&self) -> ZipkinConfig
fn clone(&self) -> ZipkinConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ZipkinConfig
impl Debug for ZipkinConfig
Source§impl Default for ZipkinConfig
impl Default for ZipkinConfig
Source§impl Message for ZipkinConfig
impl Message for ZipkinConfig
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 ZipkinConfig
impl Name for ZipkinConfig
Source§const NAME: &'static str = "ZipkinConfig"
const NAME: &'static str = "ZipkinConfig"
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 ZipkinConfig
impl PartialEq for ZipkinConfig
impl StructuralPartialEq for ZipkinConfig
Auto Trait Implementations§
impl Freeze for ZipkinConfig
impl RefUnwindSafe for ZipkinConfig
impl Send for ZipkinConfig
impl Sync for ZipkinConfig
impl Unpin for ZipkinConfig
impl UnwindSafe for ZipkinConfig
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