pub trait TraceChunkProcessor {
// Required method
fn process(&mut self, chunk: &mut TraceChunk, index: usize);
}Expand description
A trait defining custom processing to be applied to TraceChunks.
TraceChunks are part of the v07 Trace payloads. Implementors of this trait can define specific
logic to modify or enrich trace chunks and pass it to the TracerPayloadCollection via
TracerPayloadParams.
§Examples
Implementing TraceChunkProcessor to add a custom tag to each span in a chunk:
use libdd_trace_protobuf::pb::{Span, TraceChunk};
use libdd_trace_utils::tracer_payload::TraceChunkProcessor;
use std::collections::HashMap;
struct CustomTagProcessor {
tag_key: String,
tag_value: String,
}
impl TraceChunkProcessor for CustomTagProcessor {
fn process(&mut self, chunk: &mut TraceChunk, index: usize) {
for span in &mut chunk.spans {
span.meta
.insert(self.tag_key.clone(), self.tag_value.clone());
}
}
}