vector/internal_events/
eventstoredb_metrics.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 EventStoreDbMetricsHttpError {
7    pub error: crate::Error,
8}
9
10impl InternalEvent for EventStoreDbMetricsHttpError {
11    fn emit(self) {
12        error!(
13            message = "HTTP request processing error.",
14            error = ?self.error,
15            stage = error_stage::RECEIVING,
16            error_type = error_type::REQUEST_FAILED,
17            internal_log_rate_limit = true,
18        );
19        counter!(
20            "component_errors_total",
21            "stage" => error_stage::RECEIVING,
22            "error_type" => error_type::REQUEST_FAILED,
23        )
24        .increment(1);
25    }
26}
27
28#[derive(Debug)]
29pub struct EventStoreDbStatsParsingError {
30    pub error: serde_json::Error,
31}
32
33impl InternalEvent for EventStoreDbStatsParsingError {
34    fn emit(self) {
35        error!(
36            message = "JSON parsing error.",
37            error = ?self.error,
38            stage = error_stage::PROCESSING,
39            error_type = error_type::PARSER_FAILED,
40            internal_log_rate_limit = true,
41        );
42        counter!(
43            "component_errors_total",
44            "stage" => error_stage::PROCESSING,
45            "error_type" => error_type::PARSER_FAILED,
46        )
47        .increment(1);
48    }
49}