vector/internal_events/
file_descriptor.rs

1use metrics::counter;
2use vector_lib::internal_event::InternalEvent;
3use vector_lib::internal_event::{error_stage, error_type};
4
5#[derive(Debug)]
6pub struct FileDescriptorReadError<E> {
7    pub error: E,
8}
9
10impl<E> InternalEvent for FileDescriptorReadError<E>
11where
12    E: std::fmt::Display,
13{
14    fn emit(self) {
15        error!(
16            message = "Error reading from file descriptor.",
17            error = %self.error,
18            error_type = error_type::CONNECTION_FAILED,
19            stage = error_stage::RECEIVING,
20            internal_log_rate_limit = true
21        );
22        counter!(
23            "component_errors_total",
24            "error_type" => error_type::CONNECTION_FAILED,
25            "stage" => error_stage::RECEIVING,
26        )
27        .increment(1);
28    }
29}