Skip to main content

vector/internal_events/
eventstoredb_metrics.rs

1use vector_lib::{
2    NamedInternalEvent, counter,
3    internal_event::{CounterName, InternalEvent, error_stage, error_type},
4};
5
6#[derive(Debug, NamedInternalEvent)]
7pub struct EventStoreDbMetricsHttpError {
8    pub error: crate::Error,
9}
10
11impl InternalEvent for EventStoreDbMetricsHttpError {
12    fn emit(self) {
13        error!(
14            message = "HTTP request processing error.",
15            error = ?self.error,
16            stage = error_stage::RECEIVING,
17            error_type = error_type::REQUEST_FAILED,
18        );
19        counter!(
20            CounterName::ComponentErrorsTotal,
21            "stage" => error_stage::RECEIVING,
22            "error_type" => error_type::REQUEST_FAILED,
23        )
24        .increment(1);
25    }
26}
27
28#[derive(Debug, NamedInternalEvent)]
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        );
41        counter!(
42            CounterName::ComponentErrorsTotal,
43            "stage" => error_stage::PROCESSING,
44            "error_type" => error_type::PARSER_FAILED,
45        )
46        .increment(1);
47    }
48}