From 7424a10bcf83f5c726de99bae7d00c4d9e70d1ea Mon Sep 17 00:00:00 2001 From: Stephen Wakely Date: Tue, 27 Jun 2023 12:24:46 +0100 Subject: [PATCH 1/3] Fix issues with event_cache PR Signed-off-by: Stephen Wakely --- lib/vector-common/src/request_metadata.rs | 10 +++++++++- lib/vector-core/src/event/log_event.rs | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/vector-common/src/request_metadata.rs b/lib/vector-common/src/request_metadata.rs index d28d7da681a58..9b93a63df7626 100644 --- a/lib/vector-common/src/request_metadata.rs +++ b/lib/vector-common/src/request_metadata.rs @@ -25,6 +25,14 @@ impl EventCountTags { service: OptionalTag::Specified(None), } } + + #[must_use] + pub fn new_unspecified() -> Self { + Self { + source: OptionalTag::Ignored, + service: OptionalTag::Ignored, + } + } } /// Must be implemented by events to get the tags that will be attached to @@ -133,7 +141,7 @@ impl GroupedCountByteSize { } } GroupedCountByteSize::Untagged { size } => { - event_cache.emit(&EventCountTags::new_empty(), *size); + event_cache.emit(&EventCountTags::new_unspecified(), *size); } } } diff --git a/lib/vector-core/src/event/log_event.rs b/lib/vector-core/src/event/log_event.rs index c782476b5c515..e5755f12d7e66 100644 --- a/lib/vector-core/src/event/log_event.rs +++ b/lib/vector-core/src/event/log_event.rs @@ -224,7 +224,7 @@ impl GetEventCountTags for LogEvent { let service = if telemetry().tags().emit_service { self.get_by_meaning("service") - .map(ToString::to_string) + .map(|value| value.to_string_lossy().to_string()) .into() } else { OptionalTag::Ignored From a887a7e1e6b9f7552359a1fb0d87a0964763f55b Mon Sep 17 00:00:00 2001 From: Stephen Wakely Date: Tue, 27 Jun 2023 13:30:33 +0100 Subject: [PATCH 2/3] Update cue docs Signed-off-by: Stephen Wakely --- website/cue/reference/configuration.cue | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/website/cue/reference/configuration.cue b/website/cue/reference/configuration.cue index 6fcacb5c6c3c6..9406da3f645ae 100644 --- a/website/cue/reference/configuration.cue +++ b/website/cue/reference/configuration.cue @@ -252,6 +252,56 @@ configuration: { } } + telemetry: { + common: false + description: """ + Configures options for how Vector emits telemetry. + """ + required: false + type: object: { + examples: [] + options: { + tags: { + required: false + description: """ + Controls which tags should be emitted with the `vector_component_sent_events_total` and + `vector_component_sent_event_bytes_total` metrics. + """ + type: object: { + examples: [] + options: { + emit_source: { + common: true + description: """ + Emit the name of the source component the event was received from. If there is + no source component, for example if the event was generated by the `lua` transform + a `-` is emitted for this tag. + """ + required: false + type: bool: { + default: false + } + } + emit_service: { + common: false + description: """ + Emit the service the event was generated by. This is taken from a field of the event + that has been determined to mean `service`. The field used depends on the source + of the data. For example, with `syslog` events the `appname` field is used. If no + service is available a `-` is emitted for this tag. + """ + required: false + type: bool: { + default: false + } + } + } + } + } + } + } + } + log_schema: { common: false description: """ From 7f9ab2f0cb9ad90affa06aab82554154b7457ba3 Mon Sep 17 00:00:00 2001 From: Stephen Wakely Date: Tue, 27 Jun 2023 17:03:37 +0100 Subject: [PATCH 3/3] Update feedback from Jesse Signed-off-by: Stephen Wakely --- website/cue/reference/configuration.cue | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/website/cue/reference/configuration.cue b/website/cue/reference/configuration.cue index 9406da3f645ae..d1a1476d3de38 100644 --- a/website/cue/reference/configuration.cue +++ b/website/cue/reference/configuration.cue @@ -264,7 +264,7 @@ configuration: { tags: { required: false description: """ - Controls which tags should be emitted with the `vector_component_sent_events_total` and + Controls which tags should be included with the `vector_component_sent_events_total` and `vector_component_sent_event_bytes_total` metrics. """ type: object: { @@ -273,9 +273,10 @@ configuration: { emit_source: { common: true description: """ - Emit the name of the source component the event was received from. If there is - no source component, for example if the event was generated by the `lua` transform - a `-` is emitted for this tag. + Add a `source` tag with the source component the event was received from. + + If there is no source component, for example if the event was generated by + the `lua` transform a `-` is emitted for this tag. """ required: false type: bool: { @@ -285,10 +286,15 @@ configuration: { emit_service: { common: false description: """ - Emit the service the event was generated by. This is taken from a field of the event - that has been determined to mean `service`. The field used depends on the source - of the data. For example, with `syslog` events the `appname` field is used. If no - service is available a `-` is emitted for this tag. + Adds a `service` tag with the service component the event was received from. + + For logs this is the field that has been determined to mean `service`. Each source may + define different fields for this. For example, with `syslog` events the `appname` field + is used. + + Metric events will use the tag named `service`. + + If no service is available a `-` is emitted for this tag. """ required: false type: bool: {