Skip to main content

TraceChunkProcessor

Trait TraceChunkProcessor 

Source
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());
        }
    }
}

Required Methods§

Source

fn process(&mut self, chunk: &mut TraceChunk, index: usize)

Implementors§