vector/internal_events/
nginx_metrics.rs1use metrics::counter;
2use vector_lib::internal_event::InternalEvent;
3use vector_lib::{
4 internal_event::{error_stage, error_type},
5 json_size::JsonSize,
6};
7
8use crate::sources::nginx_metrics::parser::ParseError;
9
10#[derive(Debug)]
11pub struct NginxMetricsEventsReceived<'a> {
12 pub byte_size: JsonSize,
13 pub count: usize,
14 pub endpoint: &'a str,
15}
16
17impl InternalEvent for NginxMetricsEventsReceived<'_> {
18 fn emit(self) {
19 trace!(
20 message = "Events received.",
21 byte_size = %self.byte_size,
22 count = %self.count,
23 endpoint = self.endpoint,
24 );
25 counter!(
26 "component_received_events_total",
27 "endpoint" => self.endpoint.to_owned(),
28 )
29 .increment(self.count as u64);
30 counter!(
31 "component_received_event_bytes_total",
32 "endpoint" => self.endpoint.to_owned(),
33 )
34 .increment(self.byte_size.get() as u64);
35 }
36}
37
38pub struct NginxMetricsRequestError<'a> {
39 pub error: crate::Error,
40 pub endpoint: &'a str,
41}
42
43impl InternalEvent for NginxMetricsRequestError<'_> {
44 fn emit(self) {
45 error!(
46 message = "Nginx request error.",
47 endpoint = %self.endpoint,
48 error = %self.error,
49 error_type = error_type::REQUEST_FAILED,
50 stage = error_stage::RECEIVING,
51 internal_log_rate_limit = true,
52 );
53 counter!(
54 "component_errors_total",
55 "endpoint" => self.endpoint.to_owned(),
56 "error_type" => error_type::REQUEST_FAILED,
57 "stage" => error_stage::RECEIVING,
58 )
59 .increment(1);
60 }
61}
62
63pub(crate) struct NginxMetricsStubStatusParseError<'a> {
64 pub error: ParseError,
65 pub endpoint: &'a str,
66}
67
68impl InternalEvent for NginxMetricsStubStatusParseError<'_> {
69 fn emit(self) {
70 error!(
71 message = "NginxStubStatus parse error.",
72 endpoint = %self.endpoint,
73 error = %self.error,
74 error_type = error_type::PARSER_FAILED,
75 stage = error_stage::PROCESSING,
76 internal_log_rate_limit = true,
77 );
78 counter!(
79 "component_errors_total",
80 "endpoint" => self.endpoint.to_owned(),
81 "error_type" => error_type::PARSER_FAILED,
82 "stage" => error_stage::PROCESSING,
83 )
84 .increment(1);
85 }
86}