vector/internal_events/
aws.rs

1use metrics::counter;
2use vector_lib::NamedInternalEvent;
3use vector_lib::internal_event::InternalEvent;
4
5#[derive(NamedInternalEvent)]
6pub struct AwsBytesSent {
7    pub byte_size: usize,
8    pub region: Option<aws_types::region::Region>,
9}
10
11impl InternalEvent for AwsBytesSent {
12    fn emit(self) {
13        let region = self
14            .region
15            .as_ref()
16            .map_or(String::new(), |r| r.as_ref().to_string());
17        trace!(
18            message = "Bytes sent.",
19            protocol = "https",
20            byte_size = %self.byte_size,
21            region = ?self.region,
22        );
23        counter!(
24            "component_sent_bytes_total",
25            "protocol" => "https",
26            "region" => region,
27        )
28        .increment(self.byte_size as u64);
29    }
30}