vector/internal_events/
postgresql_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 PostgresqlMetricsCollectError<'a> {
7    pub error: String,
8    pub endpoint: &'a str,
9}
10
11impl InternalEvent for PostgresqlMetricsCollectError<'_> {
12    fn emit(self) {
13        error!(
14            message = "PostgreSQL query error.",
15            error = %self.error,
16            error_type = error_type::REQUEST_FAILED,
17            stage = error_stage::RECEIVING,
18            endpoint = %self.endpoint,
19            internal_log_rate_limit = true,
20        );
21        counter!(
22            "component_errors_total",
23            "error_type" => error_type::REQUEST_FAILED,
24            "stage" => error_stage::RECEIVING,
25        )
26        .increment(1);
27    }
28}