diff --git a/Cargo.lock b/Cargo.lock index a523be885a85b..f45ac0c3abb1f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9727,7 +9727,6 @@ dependencies = [ "chrono", "cidr-utils", "clap 4.4.7", - "codecs", "colored", "console-subscriber", "criterion", @@ -10112,6 +10111,7 @@ dependencies = [ name = "vector-lib" version = "0.1.0" dependencies = [ + "codecs", "vector-common", "vector-config", "vector-core", diff --git a/Cargo.toml b/Cargo.toml index bfffda55b751c..559a90230606a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -129,7 +129,6 @@ vrl.workspace = true pin-project.workspace = true # Internal libs -codecs = { path = "lib/codecs", default-features = false } dnsmsg-parser = { path = "lib/dnsmsg-parser", optional = true } enrichment = { path = "lib/enrichment" } fakedata = { path = "lib/fakedata", optional = true } @@ -468,7 +467,7 @@ enrichment-tables = ["enrichment-tables-geoip"] enrichment-tables-geoip = ["dep:maxminddb"] # Codecs -codecs-syslog = ["codecs/syslog"] +codecs-syslog = ["vector-lib/syslog"] # Sources sources = ["sources-logs", "sources-metrics"] diff --git a/lib/vector-lib/Cargo.toml b/lib/vector-lib/Cargo.toml index ce943c519d916..524bf2f7f00b6 100644 --- a/lib/vector-lib/Cargo.toml +++ b/lib/vector-lib/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" publish = false [dependencies] +codecs = { path = "../codecs", default-features = false } vector-common = { path = "../vector-common" } vector-config = { path = "../vector-config" } vector-core = { path = "../vector-core", default-features = false } @@ -14,5 +15,6 @@ vector-stream = { path = "../vector-stream" } [features] api = ["vector-core/api"] lua = ["vector-core/lua"] +syslog = ["codecs/syslog"] test = ["vector-core/test"] vrl = ["vector-core/vrl"] diff --git a/lib/vector-lib/src/lib.rs b/lib/vector-lib/src/lib.rs index 949d69d2f60ec..6c59a84d1d756 100644 --- a/lib/vector-lib/src/lib.rs +++ b/lib/vector-lib/src/lib.rs @@ -1,3 +1,4 @@ +pub use codecs; pub use vector_common::{ assert_event_data_eq, btreemap, byte_size_of, byte_size_of::ByteSizeOf, conversion, encode_logfmt, finalization, finalizer, impl_event_data_eq, internal_event, json_size, diff --git a/src/codecs/decoding/config.rs b/src/codecs/decoding/config.rs index 80a78cb7594ed..55b13c4268cd2 100644 --- a/src/codecs/decoding/config.rs +++ b/src/codecs/decoding/config.rs @@ -1,5 +1,5 @@ -use codecs::decoding::{DeserializerConfig, FramingConfig}; use serde::{Deserialize, Serialize}; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::LogNamespace; use crate::codecs::Decoder; diff --git a/src/codecs/decoding/decoder.rs b/src/codecs/decoding/decoder.rs index 6229961a4f4f1..816cedfdd820c 100644 --- a/src/codecs/decoding/decoder.rs +++ b/src/codecs/decoding/decoder.rs @@ -1,9 +1,9 @@ use bytes::{Bytes, BytesMut}; -use codecs::decoding::{ +use smallvec::SmallVec; +use vector_lib::codecs::decoding::{ format::Deserializer as _, BoxedFramingError, BytesDeserializer, Deserializer, Error, Framer, NewlineDelimitedDecoder, }; -use smallvec::SmallVec; use vector_lib::config::LogNamespace; use crate::{ @@ -103,12 +103,12 @@ impl tokio_util::codec::Decoder for Decoder { mod tests { use super::Decoder; use bytes::Bytes; - use codecs::{ + use futures::{stream, StreamExt}; + use tokio_util::{codec::FramedRead, io::StreamReader}; + use vector_lib::codecs::{ decoding::{Deserializer, Framer}, JsonDeserializer, NewlineDelimitedDecoder, StreamDecodingError, }; - use futures::{stream, StreamExt}; - use tokio_util::{codec::FramedRead, io::StreamReader}; use vrl::value::Value; #[tokio::test] diff --git a/src/codecs/encoding/config.rs b/src/codecs/encoding/config.rs index 6f974e4d7854c..5db46ad1e72fd 100644 --- a/src/codecs/encoding/config.rs +++ b/src/codecs/encoding/config.rs @@ -1,5 +1,5 @@ use crate::codecs::Transformer; -use codecs::{ +use vector_lib::codecs::{ encoding::{Framer, FramingConfig, Serializer, SerializerConfig}, CharacterDelimitedEncoder, LengthDelimitedEncoder, NewlineDelimitedEncoder, }; diff --git a/src/codecs/encoding/encoder.rs b/src/codecs/encoding/encoder.rs index 1ee47131ebcd7..d12f2ab85cb78 100644 --- a/src/codecs/encoding/encoder.rs +++ b/src/codecs/encoding/encoder.rs @@ -1,9 +1,9 @@ use bytes::BytesMut; -use codecs::{ +use tokio_util::codec::Encoder as _; +use vector_lib::codecs::{ encoding::{Error, Framer, Serializer}, CharacterDelimitedEncoder, NewlineDelimitedEncoder, TextSerializerConfig, }; -use tokio_util::codec::Encoder as _; use crate::{ event::Event, @@ -184,9 +184,9 @@ impl tokio_util::codec::Encoder for Encoder<()> { #[cfg(test)] mod tests { use bytes::BufMut; - use codecs::encoding::BoxedFramingError; use futures_util::{SinkExt, StreamExt}; use tokio_util::codec::FramedWrite; + use vector_lib::codecs::encoding::BoxedFramingError; use vector_lib::event::LogEvent; use super::*; diff --git a/src/components/validation/resources/event.rs b/src/components/validation/resources/event.rs index c36a13cf7dfe6..4bce09acd4ce5 100644 --- a/src/components/validation/resources/event.rs +++ b/src/components/validation/resources/event.rs @@ -4,7 +4,7 @@ use snafu::Snafu; use tokio_util::codec::Encoder as _; use crate::codecs::Encoder; -use codecs::{ +use vector_lib::codecs::{ encoding, JsonSerializer, LengthDelimitedEncoder, LogfmtSerializer, MetricTagValues, NewlineDelimitedEncoder, }; diff --git a/src/components/validation/resources/mod.rs b/src/components/validation/resources/mod.rs index 0f6b77abbcb55..3ac220633c7a0 100644 --- a/src/components/validation/resources/mod.rs +++ b/src/components/validation/resources/mod.rs @@ -1,14 +1,14 @@ mod event; mod http; -use codecs::{ +use tokio::sync::mpsc; +use vector_lib::codecs::{ decoding::{self, DeserializerConfig}, encoding::{ self, Framer, FramingConfig, JsonSerializerConfig, SerializerConfig, TextSerializerConfig, }, BytesEncoder, }; -use tokio::sync::mpsc; use vector_lib::{config::DataType, event::Event}; use crate::codecs::{Decoder, DecodingConfig, Encoder, EncodingConfig, EncodingConfigWithFraming}; @@ -143,8 +143,8 @@ fn deserializer_config_to_serializer(config: &DeserializerConfig) -> encoding::S DeserializerConfig::Bytes => SerializerConfig::Text(TextSerializerConfig::default()), DeserializerConfig::Json { .. } => SerializerConfig::Json(JsonSerializerConfig::default()), DeserializerConfig::Protobuf(config) => { - SerializerConfig::Protobuf(codecs::encoding::ProtobufSerializerConfig { - protobuf: codecs::encoding::ProtobufSerializerOptions { + SerializerConfig::Protobuf(vector_lib::codecs::encoding::ProtobufSerializerConfig { + protobuf: vector_lib::codecs::encoding::ProtobufSerializerOptions { desc_file: config.protobuf.desc_file.clone(), message_type: config.protobuf.message_type.clone(), }, @@ -197,8 +197,8 @@ fn serializer_config_to_deserializer( SerializerConfig::Native => DeserializerConfig::Native, SerializerConfig::NativeJson => DeserializerConfig::NativeJson(Default::default()), SerializerConfig::Protobuf(config) => { - DeserializerConfig::Protobuf(codecs::decoding::ProtobufDeserializerConfig { - protobuf: codecs::decoding::ProtobufDeserializerOptions { + DeserializerConfig::Protobuf(vector_lib::codecs::decoding::ProtobufDeserializerConfig { + protobuf: vector_lib::codecs::decoding::ProtobufDeserializerOptions { desc_file: config.protobuf.desc_file.clone(), message_type: config.protobuf.message_type.clone(), }, diff --git a/src/components/validation/runner/mod.rs b/src/components/validation/runner/mod.rs index 0ad661c4d101f..4dd742f5e418f 100644 --- a/src/components/validation/runner/mod.rs +++ b/src/components/validation/runner/mod.rs @@ -18,7 +18,7 @@ use tokio::{ }; use tokio_util::codec::Encoder as _; -use codecs::encoding; +use vector_lib::codecs::encoding; use vector_lib::{event::Event, EstimatedJsonEncodedSizeOf}; use crate::{ diff --git a/src/internal_events/codecs.rs b/src/internal_events/codecs.rs index e6867be7628dc..6ab9fe2488b77 100644 --- a/src/internal_events/codecs.rs +++ b/src/internal_events/codecs.rs @@ -52,7 +52,7 @@ impl<'a> InternalEvent for DecoderDeserializeError<'a> { #[derive(Debug)] pub struct EncoderFramingError<'a> { - pub error: &'a codecs::encoding::BoxedFramingError, + pub error: &'a vector_lib::codecs::encoding::BoxedFramingError, } impl<'a> InternalEvent for EncoderFramingError<'a> { diff --git a/src/internal_events/journald.rs b/src/internal_events/journald.rs index 713d87b36df23..08d9ebbda3222 100644 --- a/src/internal_events/journald.rs +++ b/src/internal_events/journald.rs @@ -1,5 +1,5 @@ -use codecs::decoding::BoxedFramingError; use metrics::counter; +use vector_lib::codecs::decoding::BoxedFramingError; use vector_lib::internal_event::InternalEvent; use vector_lib::internal_event::{error_stage, error_type}; diff --git a/src/serde.rs b/src/serde.rs index 04f80c51ab858..8743b9220e4cb 100644 --- a/src/serde.rs +++ b/src/serde.rs @@ -1,10 +1,10 @@ #![allow(missing_docs)] -use codecs::{ +use indexmap::map::IndexMap; +use serde::{Deserialize, Serialize}; +use vector_lib::codecs::{ decoding::{DeserializerConfig, FramingConfig}, BytesDecoderConfig, BytesDeserializerConfig, }; -use indexmap::map::IndexMap; -use serde::{Deserialize, Serialize}; use vector_lib::configurable::configurable_component; pub use vector_lib::serde::{bool_or_struct, skip_serializing_if_default}; diff --git a/src/sinks/amqp/config.rs b/src/sinks/amqp/config.rs index b266bb1892370..f871e4bc29ba4 100644 --- a/src/sinks/amqp/config.rs +++ b/src/sinks/amqp/config.rs @@ -1,8 +1,8 @@ //! Configuration functionality for the `AMQP` sink. use crate::{amqp::AmqpConfig, sinks::prelude::*}; -use codecs::TextSerializerConfig; use lapin::{types::ShortString, BasicProperties}; use std::sync::Arc; +use vector_lib::codecs::TextSerializerConfig; use super::sink::AmqpSink; diff --git a/src/sinks/aws_cloudwatch_logs/config.rs b/src/sinks/aws_cloudwatch_logs/config.rs index 8827bd708fb12..e3fb55de82726 100644 --- a/src/sinks/aws_cloudwatch_logs/config.rs +++ b/src/sinks/aws_cloudwatch_logs/config.rs @@ -1,8 +1,8 @@ use aws_sdk_cloudwatchlogs::Client as CloudwatchLogsClient; use aws_smithy_types::retry::RetryConfig; -use codecs::JsonSerializerConfig; use futures::FutureExt; use tower::ServiceBuilder; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::configurable::configurable_component; use vector_lib::schema; use vrl::value::Kind; diff --git a/src/sinks/aws_cloudwatch_logs/integration_tests.rs b/src/sinks/aws_cloudwatch_logs/integration_tests.rs index 872a470216ba8..bafa29e32df89 100644 --- a/src/sinks/aws_cloudwatch_logs/integration_tests.rs +++ b/src/sinks/aws_cloudwatch_logs/integration_tests.rs @@ -3,9 +3,9 @@ use std::convert::TryFrom; use aws_sdk_cloudwatchlogs::Client as CloudwatchLogsClient; use aws_sdk_cloudwatchlogs::Region; use chrono::Duration; -use codecs::TextSerializerConfig; use futures::{stream, StreamExt}; use similar_asserts::assert_eq; +use vector_lib::codecs::TextSerializerConfig; use super::*; use crate::aws::create_client; diff --git a/src/sinks/aws_kinesis/firehose/integration_tests.rs b/src/sinks/aws_kinesis/firehose/integration_tests.rs index bc0c755d5003f..002df851b1085 100644 --- a/src/sinks/aws_kinesis/firehose/integration_tests.rs +++ b/src/sinks/aws_kinesis/firehose/integration_tests.rs @@ -3,10 +3,10 @@ use aws_sdk_elasticsearch::Client as EsClient; use aws_sdk_firehose::model::ElasticsearchDestinationConfiguration; -use codecs::JsonSerializerConfig; use futures::TryFutureExt; use serde_json::{json, Value}; use tokio::time::{sleep, Duration}; +use vector_lib::codecs::JsonSerializerConfig; use super::{config::KinesisFirehoseClientBuilder, *}; use crate::{ diff --git a/src/sinks/aws_kinesis/firehose/tests.rs b/src/sinks/aws_kinesis/firehose/tests.rs index bb6b94729d344..63b4f013e1474 100644 --- a/src/sinks/aws_kinesis/firehose/tests.rs +++ b/src/sinks/aws_kinesis/firehose/tests.rs @@ -1,6 +1,6 @@ #![cfg(test)] -use codecs::JsonSerializerConfig; +use vector_lib::codecs::JsonSerializerConfig; use super::*; use crate::{ diff --git a/src/sinks/aws_kinesis/streams/integration_tests.rs b/src/sinks/aws_kinesis/streams/integration_tests.rs index a800ff2b2960a..378e3e5a403d2 100644 --- a/src/sinks/aws_kinesis/streams/integration_tests.rs +++ b/src/sinks/aws_kinesis/streams/integration_tests.rs @@ -5,8 +5,8 @@ use aws_sdk_kinesis::{ model::{Record, ShardIteratorType}, types::DateTime, }; -use codecs::TextSerializerConfig; use tokio::time::{sleep, Duration}; +use vector_lib::codecs::TextSerializerConfig; use super::{config::KinesisClientBuilder, *}; use crate::{ diff --git a/src/sinks/aws_s3/config.rs b/src/sinks/aws_s3/config.rs index 80e2ecb552ea0..2e8a497952359 100644 --- a/src/sinks/aws_s3/config.rs +++ b/src/sinks/aws_s3/config.rs @@ -1,11 +1,11 @@ use std::convert::TryInto; use aws_sdk_s3::Client as S3Client; -use codecs::{ +use tower::ServiceBuilder; +use vector_lib::codecs::{ encoding::{Framer, FramingConfig}, TextSerializerConfig, }; -use tower::ServiceBuilder; use vector_lib::configurable::configurable_component; use vector_lib::sink::VectorSink; diff --git a/src/sinks/aws_s3/integration_tests.rs b/src/sinks/aws_s3/integration_tests.rs index ee66a346c2886..27c53c1214429 100644 --- a/src/sinks/aws_s3/integration_tests.rs +++ b/src/sinks/aws_s3/integration_tests.rs @@ -16,11 +16,11 @@ use aws_sdk_s3::{ Client as S3Client, }; use bytes::Buf; -use codecs::{encoding::FramingConfig, TextSerializerConfig}; use flate2::read::MultiGzDecoder; use futures::{stream, Stream}; use similar_asserts::assert_eq; use tokio_stream::StreamExt; +use vector_lib::codecs::{encoding::FramingConfig, TextSerializerConfig}; use vector_lib::{ config::proxy::ProxyConfig, event::{BatchNotifier, BatchStatus, BatchStatusReceiver, Event, EventArray, LogEvent}, diff --git a/src/sinks/aws_s3/sink.rs b/src/sinks/aws_s3/sink.rs index 8223b3bfcd0fb..553908064b680 100644 --- a/src/sinks/aws_s3/sink.rs +++ b/src/sinks/aws_s3/sink.rs @@ -2,8 +2,8 @@ use std::io; use bytes::Bytes; use chrono::Utc; -use codecs::encoding::Framer; use uuid::Uuid; +use vector_lib::codecs::encoding::Framer; use vector_lib::event::Finalizable; use vector_lib::request_metadata::RequestMetadata; diff --git a/src/sinks/aws_s_s/sns/integration_tests.rs b/src/sinks/aws_s_s/sns/integration_tests.rs index cf79d4d97c5f8..f676e5b0aea70 100644 --- a/src/sinks/aws_s_s/sns/integration_tests.rs +++ b/src/sinks/aws_s_s/sns/integration_tests.rs @@ -3,8 +3,8 @@ use std::collections::HashMap; use aws_sdk_sns::{Client as SnsClient, Region}; use aws_sdk_sqs::model::QueueAttributeName; use aws_sdk_sqs::Client as SqsClient; -use codecs::TextSerializerConfig; use tokio::time::{sleep, Duration}; +use vector_lib::codecs::TextSerializerConfig; use super::{ config::SnsClientBuilder, diff --git a/src/sinks/aws_s_s/sqs/integration_tests.rs b/src/sinks/aws_s_s/sqs/integration_tests.rs index a3c7171857391..525c6879d41ad 100644 --- a/src/sinks/aws_s_s/sqs/integration_tests.rs +++ b/src/sinks/aws_s_s/sqs/integration_tests.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; use aws_sdk_sqs::{model::QueueAttributeName, Client as SqsClient, Region}; -use codecs::TextSerializerConfig; use tokio::time::{sleep, Duration}; +use vector_lib::codecs::TextSerializerConfig; use crate::config::{SinkConfig, SinkContext}; use crate::sinks::aws_s_s::sqs::config::{healthcheck, SqsSinkConfig}; diff --git a/src/sinks/azure_blob/config.rs b/src/sinks/azure_blob/config.rs index 5822dce243162..859af08823b4b 100644 --- a/src/sinks/azure_blob/config.rs +++ b/src/sinks/azure_blob/config.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use azure_storage_blobs::prelude::*; -use codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use tower::ServiceBuilder; +use vector_lib::codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use vector_lib::configurable::configurable_component; use vector_lib::sensitive_string::SensitiveString; diff --git a/src/sinks/azure_blob/integration_tests.rs b/src/sinks/azure_blob/integration_tests.rs index c810b8017c456..754425806d16d 100644 --- a/src/sinks/azure_blob/integration_tests.rs +++ b/src/sinks/azure_blob/integration_tests.rs @@ -6,13 +6,13 @@ use std::{ use azure_core::{error::HttpError, prelude::Range}; use azure_storage_blobs::prelude::*; use bytes::{Buf, BytesMut}; -use codecs::{ - encoding::FramingConfig, JsonSerializerConfig, NewlineDelimitedEncoderConfig, - TextSerializerConfig, -}; use flate2::read::GzDecoder; use futures::{stream, Stream, StreamExt}; use http::StatusCode; +use vector_lib::codecs::{ + encoding::FramingConfig, JsonSerializerConfig, NewlineDelimitedEncoderConfig, + TextSerializerConfig, +}; use vector_lib::ByteSizeOf; use super::config::AzureBlobSinkConfig; diff --git a/src/sinks/azure_blob/request_builder.rs b/src/sinks/azure_blob/request_builder.rs index 60fe5758418ff..507874ab406f1 100644 --- a/src/sinks/azure_blob/request_builder.rs +++ b/src/sinks/azure_blob/request_builder.rs @@ -1,7 +1,7 @@ use bytes::Bytes; use chrono::Utc; -use codecs::encoding::Framer; use uuid::Uuid; +use vector_lib::codecs::encoding::Framer; use vector_lib::request_metadata::RequestMetadata; use vector_lib::EstimatedJsonEncodedSizeOf; diff --git a/src/sinks/azure_blob/test.rs b/src/sinks/azure_blob/test.rs index a0f93fb1d6584..49ce854686c38 100644 --- a/src/sinks/azure_blob/test.rs +++ b/src/sinks/azure_blob/test.rs @@ -1,6 +1,6 @@ use bytes::Bytes; use chrono::Utc; -use codecs::{ +use vector_lib::codecs::{ encoding::{Framer, FramingConfig}, NewlineDelimitedEncoder, TextSerializerConfig, }; diff --git a/src/sinks/azure_monitor_logs/sink.rs b/src/sinks/azure_monitor_logs/sink.rs index 20db422f01420..75a2362c9ec7b 100644 --- a/src/sinks/azure_monitor_logs/sink.rs +++ b/src/sinks/azure_monitor_logs/sink.rs @@ -1,8 +1,8 @@ use std::{fmt::Debug, io}; use bytes::Bytes; -use codecs::{encoding::Framer, CharacterDelimitedEncoder, JsonSerializerConfig}; use lookup::{OwnedValuePath, PathPrefix}; +use vector_lib::codecs::{encoding::Framer, CharacterDelimitedEncoder, JsonSerializerConfig}; use crate::sinks::prelude::*; diff --git a/src/sinks/clickhouse/sink.rs b/src/sinks/clickhouse/sink.rs index be9c28a0e83b4..6888892ec8414 100644 --- a/src/sinks/clickhouse/sink.rs +++ b/src/sinks/clickhouse/sink.rs @@ -1,5 +1,5 @@ use bytes::Bytes; -use codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; +use vector_lib::codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use super::service::{ClickhouseRequest, ClickhouseRetryLogic, ClickhouseService}; use crate::sinks::prelude::*; diff --git a/src/sinks/console/config.rs b/src/sinks/console/config.rs index 7ae4a648b6017..124def05b92de 100644 --- a/src/sinks/console/config.rs +++ b/src/sinks/console/config.rs @@ -1,9 +1,9 @@ -use codecs::{ +use futures::{future, FutureExt}; +use tokio::io; +use vector_lib::codecs::{ encoding::{Framer, FramingConfig}, JsonSerializerConfig, }; -use futures::{future, FutureExt}; -use tokio::io; use vector_lib::configurable::configurable_component; use crate::{ diff --git a/src/sinks/console/sink.rs b/src/sinks/console/sink.rs index 788630eda5e93..8f5b49a76e4b6 100644 --- a/src/sinks/console/sink.rs +++ b/src/sinks/console/sink.rs @@ -1,9 +1,9 @@ use async_trait::async_trait; use bytes::BytesMut; -use codecs::encoding::Framer; use futures::{stream::BoxStream, StreamExt}; use tokio::{io, io::AsyncWriteExt}; use tokio_util::codec::Encoder as _; +use vector_lib::codecs::encoding::Framer; use vector_lib::{ internal_event::{ ByteSize, BytesSent, CountByteSize, EventsSent, InternalEventHandle as _, Output, Protocol, @@ -65,9 +65,9 @@ where #[cfg(test)] mod test { - use codecs::{JsonSerializerConfig, NewlineDelimitedEncoder}; use futures::future::ready; use futures_util::stream; + use vector_lib::codecs::{JsonSerializerConfig, NewlineDelimitedEncoder}; use vector_lib::sink::VectorSink; use super::*; diff --git a/src/sinks/databend/config.rs b/src/sinks/databend/config.rs index 6b0caa4a0dc7d..4a29b97f4a807 100644 --- a/src/sinks/databend/config.rs +++ b/src/sinks/databend/config.rs @@ -1,8 +1,8 @@ use std::collections::BTreeMap; -use codecs::encoding::{Framer, FramingConfig}; use futures::future::FutureExt; use tower::ServiceBuilder; +use vector_lib::codecs::encoding::{Framer, FramingConfig}; use vector_lib::configurable::{component::GenerateConfig, configurable_component}; use vector_lib::tls::TlsSettings; diff --git a/src/sinks/databend/encoding.rs b/src/sinks/databend/encoding.rs index f0fd102352514..0d1fea4b1184e 100644 --- a/src/sinks/databend/encoding.rs +++ b/src/sinks/databend/encoding.rs @@ -1,4 +1,4 @@ -use codecs::{encoding::SerializerConfig, CsvSerializerConfig, JsonSerializerConfig}; +use vector_lib::codecs::{encoding::SerializerConfig, CsvSerializerConfig, JsonSerializerConfig}; use vector_lib::configurable::configurable_component; use crate::codecs::{EncodingConfig, Transformer}; diff --git a/src/sinks/databend/request_builder.rs b/src/sinks/databend/request_builder.rs index db5eebc1adf6d..5dbc3ecb856ec 100644 --- a/src/sinks/databend/request_builder.rs +++ b/src/sinks/databend/request_builder.rs @@ -1,7 +1,7 @@ use std::io; use bytes::Bytes; -use codecs::encoding::Framer; +use vector_lib::codecs::encoding::Framer; use vector_lib::event::Event; use vector_lib::finalization::{EventFinalizers, Finalizable}; use vector_lib::request_metadata::RequestMetadata; diff --git a/src/sinks/datadog/events/request_builder.rs b/src/sinks/datadog/events/request_builder.rs index 3a0fbf92fc17b..6e191bff02cdc 100644 --- a/src/sinks/datadog/events/request_builder.rs +++ b/src/sinks/datadog/events/request_builder.rs @@ -1,8 +1,8 @@ use std::{io, sync::Arc}; use bytes::Bytes; -use codecs::JsonSerializerConfig; use lookup::lookup_v2::ConfigValuePath; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::request_metadata::{MetaDescriptive, RequestMetadata}; use vector_lib::ByteSizeOf; diff --git a/src/sinks/datadog/logs/sink.rs b/src/sinks/datadog/logs/sink.rs index 7b1245edb6389..4a422826102af 100644 --- a/src/sinks/datadog/logs/sink.rs +++ b/src/sinks/datadog/logs/sink.rs @@ -1,9 +1,9 @@ use std::{fmt::Debug, io, sync::Arc}; use bytes::Bytes; -use codecs::{encoding::Framer, CharacterDelimitedEncoder, JsonSerializerConfig}; use lookup::event_path; use snafu::Snafu; +use vector_lib::codecs::{encoding::Framer, CharacterDelimitedEncoder, JsonSerializerConfig}; use super::{config::MAX_PAYLOAD_BYTES, service::LogApiRequest}; use crate::sinks::{ diff --git a/src/sinks/file/mod.rs b/src/sinks/file/mod.rs index 0c17058f2008e..e8679ab98e887 100644 --- a/src/sinks/file/mod.rs +++ b/src/sinks/file/mod.rs @@ -4,10 +4,6 @@ use std::time::{Duration, Instant}; use async_compression::tokio::write::{GzipEncoder, ZstdEncoder}; use async_trait::async_trait; use bytes::{Bytes, BytesMut}; -use codecs::{ - encoding::{Framer, FramingConfig}, - TextSerializerConfig, -}; use futures::{ future, stream::{BoxStream, StreamExt}, @@ -19,6 +15,10 @@ use tokio::{ io::AsyncWriteExt, }; use tokio_util::codec::Encoder as _; +use vector_lib::codecs::{ + encoding::{Framer, FramingConfig}, + TextSerializerConfig, +}; use vector_lib::configurable::configurable_component; use vector_lib::{ internal_event::{CountByteSize, EventsSent, InternalEventHandle as _, Output, Registered}, diff --git a/src/sinks/gcp/cloud_storage.rs b/src/sinks/gcp/cloud_storage.rs index e43607bbfdca9..af1f0cd2ea41c 100644 --- a/src/sinks/gcp/cloud_storage.rs +++ b/src/sinks/gcp/cloud_storage.rs @@ -2,7 +2,6 @@ use std::{collections::HashMap, convert::TryFrom, io}; use bytes::Bytes; use chrono::Utc; -use codecs::encoding::Framer; use http::header::{HeaderName, HeaderValue}; use http::Uri; use indoc::indoc; @@ -10,6 +9,7 @@ use snafu::ResultExt; use snafu::Snafu; use tower::ServiceBuilder; use uuid::Uuid; +use vector_lib::codecs::encoding::Framer; use vector_lib::configurable::configurable_component; use vector_lib::event::{EventFinalizers, Finalizable}; use vector_lib::request_metadata::RequestMetadata; @@ -407,9 +407,11 @@ fn make_header((name, value): (&String, &String)) -> crate::Result<(HeaderName, #[cfg(test)] mod tests { - use codecs::encoding::FramingConfig; - use codecs::{JsonSerializerConfig, NewlineDelimitedEncoderConfig, TextSerializerConfig}; use futures_util::{future::ready, stream}; + use vector_lib::codecs::encoding::FramingConfig; + use vector_lib::codecs::{ + JsonSerializerConfig, NewlineDelimitedEncoderConfig, TextSerializerConfig, + }; use vector_lib::partition::Partitioner; use vector_lib::request_metadata::GroupedCountByteSize; use vector_lib::EstimatedJsonEncodedSizeOf; diff --git a/src/sinks/gcp/pubsub.rs b/src/sinks/gcp/pubsub.rs index 29e8e43e69460..658b62061de63 100644 --- a/src/sinks/gcp/pubsub.rs +++ b/src/sinks/gcp/pubsub.rs @@ -268,10 +268,10 @@ mod tests { #[cfg(all(test, feature = "gcp-integration-tests"))] mod integration_tests { - use codecs::JsonSerializerConfig; use reqwest::{Client, Method, Response}; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; + use vector_lib::codecs::JsonSerializerConfig; use vector_lib::event::{BatchNotifier, BatchStatus}; use super::*; diff --git a/src/sinks/http/batch.rs b/src/sinks/http/batch.rs index c3d03a621088d..f433501f9070f 100644 --- a/src/sinks/http/batch.rs +++ b/src/sinks/http/batch.rs @@ -1,6 +1,6 @@ //! Batch settings for the `http` sink. -use codecs::encoding::Framer; +use vector_lib::codecs::encoding::Framer; use vector_lib::stream::batcher::limiter::ItemBatchSize; use vector_lib::{event::Event, ByteSizeOf, EstimatedJsonEncodedSizeOf}; @@ -15,7 +15,8 @@ pub(super) struct HttpBatchSizer { impl ItemBatchSize for HttpBatchSizer { fn size(&self, item: &Event) -> usize { match self.encoder.serializer() { - codecs::encoding::Serializer::Json(_) | codecs::encoding::Serializer::NativeJson(_) => { + vector_lib::codecs::encoding::Serializer::Json(_) + | vector_lib::codecs::encoding::Serializer::NativeJson(_) => { item.estimated_json_encoded_size_of().get() } _ => item.size_of(), diff --git a/src/sinks/http/config.rs b/src/sinks/http/config.rs index c5782cae0cabc..0bc67044012a4 100644 --- a/src/sinks/http/config.rs +++ b/src/sinks/http/config.rs @@ -1,12 +1,12 @@ //! Configuration for the `http` sink. -use codecs::{ - encoding::{Framer, Serializer}, - CharacterDelimitedEncoder, -}; use http::{header::AUTHORIZATION, HeaderName, HeaderValue, Method, Request, StatusCode}; use hyper::Body; use indexmap::IndexMap; +use vector_lib::codecs::{ + encoding::{Framer, Serializer}, + CharacterDelimitedEncoder, +}; use crate::{ codecs::{EncodingConfigWithFraming, SinkType}, @@ -308,8 +308,8 @@ impl SinkConfig for HttpSinkConfig { impl ValidatableComponent for HttpSinkConfig { fn validation_configuration() -> ValidationConfiguration { - use codecs::{JsonSerializerConfig, MetricTagValues}; use std::str::FromStr; + use vector_lib::codecs::{JsonSerializerConfig, MetricTagValues}; let config = Self { uri: UriSerde::from_str("http://127.0.0.1:9000/endpoint") diff --git a/src/sinks/http/encoder.rs b/src/sinks/http/encoder.rs index ad13df3e4fb92..f28b8028c0d36 100644 --- a/src/sinks/http/encoder.rs +++ b/src/sinks/http/encoder.rs @@ -5,7 +5,9 @@ use crate::{ sinks::util::encoding::{write_all, Encoder as SinkEncoder}, }; use bytes::{BufMut, BytesMut}; -use codecs::{ +use std::io; +use tokio_util::codec::Encoder as _; +use vector_lib::codecs::{ encoding::{ Framer, Framer::{CharacterDelimited, NewlineDelimited}, @@ -13,8 +15,6 @@ use codecs::{ }, CharacterDelimitedEncoder, }; -use std::io; -use tokio_util::codec::Encoder as _; use crate::sinks::prelude::*; diff --git a/src/sinks/http/tests.rs b/src/sinks/http/tests.rs index 4953c1d86ff2e..790cb9b602d27 100644 --- a/src/sinks/http/tests.rs +++ b/src/sinks/http/tests.rs @@ -6,16 +6,16 @@ use std::{ }; use bytes::{Buf, Bytes}; -use codecs::{ - encoding::{Framer, FramingConfig}, - JsonSerializerConfig, NewlineDelimitedEncoderConfig, TextSerializerConfig, -}; use flate2::{read::MultiGzDecoder, read::ZlibDecoder}; use futures::{channel::mpsc, stream}; use headers::{Authorization, HeaderMapExt}; use http::request::Parts; use hyper::{Body, Method, Response, StatusCode}; use serde::{de, Deserialize}; +use vector_lib::codecs::{ + encoding::{Framer, FramingConfig}, + JsonSerializerConfig, NewlineDelimitedEncoderConfig, TextSerializerConfig, +}; use vector_lib::event::{BatchNotifier, BatchStatus, Event, LogEvent}; diff --git a/src/sinks/humio/logs.rs b/src/sinks/humio/logs.rs index 357a3bf1c9bf8..ddb78d12090c2 100644 --- a/src/sinks/humio/logs.rs +++ b/src/sinks/humio/logs.rs @@ -1,5 +1,5 @@ -use codecs::JsonSerializerConfig; use lookup::lookup_v2::{ConfigValuePath, OptionalValuePath}; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::configurable::configurable_component; use vector_lib::sensitive_string::SensitiveString; diff --git a/src/sinks/humio/metrics.rs b/src/sinks/humio/metrics.rs index 1c197ef3aedd2..63af0ffd72366 100644 --- a/src/sinks/humio/metrics.rs +++ b/src/sinks/humio/metrics.rs @@ -1,9 +1,9 @@ use async_trait::async_trait; -use codecs::JsonSerializerConfig; use futures::StreamExt; use futures_util::stream::BoxStream; use indoc::indoc; use lookup::lookup_v2::{ConfigValuePath, OptionalValuePath}; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::configurable::configurable_component; use vector_lib::sensitive_string::SensitiveString; use vector_lib::sink::StreamSink; diff --git a/src/sinks/influxdb/logs.rs b/src/sinks/influxdb/logs.rs index 322dce392ef7a..38003349f2923 100644 --- a/src/sinks/influxdb/logs.rs +++ b/src/sinks/influxdb/logs.rs @@ -881,8 +881,8 @@ mod integration_tests { use futures::stream; use vrl::value; - use codecs::BytesDeserializerConfig; use lookup::{owned_value_path, path}; + use vector_lib::codecs::BytesDeserializerConfig; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::event::{BatchNotifier, BatchStatus, Event, LogEvent}; diff --git a/src/sinks/kafka/config.rs b/src/sinks/kafka/config.rs index c5d5d3e02bc8b..b527b9ccee4a1 100644 --- a/src/sinks/kafka/config.rs +++ b/src/sinks/kafka/config.rs @@ -1,10 +1,10 @@ use std::{collections::HashMap, time::Duration}; -use codecs::JsonSerializerConfig; use futures::FutureExt; use lookup::lookup_v2::ConfigTargetPath; use rdkafka::ClientConfig; use serde_with::serde_as; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::configurable::configurable_component; use vrl::value::Kind; diff --git a/src/sinks/kafka/tests.rs b/src/sinks/kafka/tests.rs index e7cd3d221db48..2ef2ce55ccd28 100644 --- a/src/sinks/kafka/tests.rs +++ b/src/sinks/kafka/tests.rs @@ -11,7 +11,6 @@ mod integration_test { }; use bytes::Bytes; - use codecs::TextSerializerConfig; use futures::StreamExt; use lookup::lookup_v2::ConfigTargetPath; use rdkafka::{ @@ -19,6 +18,7 @@ mod integration_test { message::Headers, Message, Offset, TopicPartitionList, }; + use vector_lib::codecs::TextSerializerConfig; use vector_lib::{ config::{init_telemetry, Tags, Telemetry}, event::{BatchNotifier, BatchStatus}, diff --git a/src/sinks/loki/sink.rs b/src/sinks/loki/sink.rs index b2362b16fa956..6c0d5f05ef7a5 100644 --- a/src/sinks/loki/sink.rs +++ b/src/sinks/loki/sink.rs @@ -520,8 +520,8 @@ mod tests { convert::TryFrom, }; - use codecs::JsonSerializerConfig; use futures::stream::StreamExt; + use vector_lib::codecs::JsonSerializerConfig; use vector_lib::event::{Event, LogEvent, Value}; use super::{EventEncoder, KeyPartitioner, RecordFilter}; diff --git a/src/sinks/nats/config.rs b/src/sinks/nats/config.rs index 28f5b1a08e251..db78aff4a9bdd 100644 --- a/src/sinks/nats/config.rs +++ b/src/sinks/nats/config.rs @@ -1,6 +1,6 @@ -use codecs::JsonSerializerConfig; use futures_util::TryFutureExt; use snafu::ResultExt; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::tls::TlsEnableableConfig; use crate::{ diff --git a/src/sinks/nats/integration_tests.rs b/src/sinks/nats/integration_tests.rs index c8972d8fb11e9..cf2c620db9401 100644 --- a/src/sinks/nats/integration_tests.rs +++ b/src/sinks/nats/integration_tests.rs @@ -1,5 +1,5 @@ -use codecs::TextSerializerConfig; use std::time::Duration; +use vector_lib::codecs::TextSerializerConfig; use super::{config::NatsSinkConfig, sink::NatsSink, NatsError}; use crate::{ diff --git a/src/sinks/nats/mod.rs b/src/sinks/nats/mod.rs index a9670aeea514a..a1729c84d574a 100644 --- a/src/sinks/nats/mod.rs +++ b/src/sinks/nats/mod.rs @@ -19,7 +19,7 @@ mod tests; enum NatsError { #[snafu(display("invalid encoding: {}", source))] Encoding { - source: codecs::encoding::BuildError, + source: vector_lib::codecs::encoding::BuildError, }, #[snafu(display("NATS Config Error: {}", source))] Config { source: NatsConfigError }, diff --git a/src/sinks/opendal_common.rs b/src/sinks/opendal_common.rs index 34b4962771835..4396002ae64b3 100644 --- a/src/sinks/opendal_common.rs +++ b/src/sinks/opendal_common.rs @@ -11,10 +11,10 @@ use std::{fmt, task::Poll}; use bytes::Bytes; -use codecs::encoding::Framer; use opendal::Operator; use snafu::Snafu; use tracing::Instrument; +use vector_lib::codecs::encoding::Framer; use crate::sinks::{prelude::*, util::partitioner::KeyPartitioner}; diff --git a/src/sinks/papertrail.rs b/src/sinks/papertrail.rs index 2e02d9c187672..c7aa2c767d1a3 100644 --- a/src/sinks/papertrail.rs +++ b/src/sinks/papertrail.rs @@ -131,7 +131,7 @@ struct PapertrailEncoder { } impl tokio_util::codec::Encoder for PapertrailEncoder { - type Error = codecs::encoding::Error; + type Error = vector_lib::codecs::encoding::Error; fn encode( &mut self, @@ -186,9 +186,9 @@ mod tests { use std::convert::TryFrom; use bytes::BytesMut; - use codecs::JsonSerializerConfig; use futures::{future::ready, stream}; use tokio_util::codec::Encoder as _; + use vector_lib::codecs::JsonSerializerConfig; use vector_lib::event::{Event, LogEvent}; use crate::test_util::{ diff --git a/src/sinks/pulsar/config.rs b/src/sinks/pulsar/config.rs index 64f5d6afcbfe2..8f8c4a4a1c194 100644 --- a/src/sinks/pulsar/config.rs +++ b/src/sinks/pulsar/config.rs @@ -5,7 +5,6 @@ use crate::{ pulsar::sink::{healthcheck, PulsarSink}, }, }; -use codecs::{encoding::SerializerConfig, TextSerializerConfig}; use futures_util::FutureExt; use lookup::lookup_v2::OptionalTargetPath; use pulsar::{ @@ -17,6 +16,7 @@ use pulsar::{ }; use pulsar::{error::AuthenticationError, OperationRetryOptions}; use snafu::ResultExt; +use vector_lib::codecs::{encoding::SerializerConfig, TextSerializerConfig}; use vector_lib::config::DataType; use vector_lib::sensitive_string::SensitiveString; use vrl::value::Kind; diff --git a/src/sinks/redis/integration_tests.rs b/src/sinks/redis/integration_tests.rs index 38e04eb10776d..1461b3896a25f 100644 --- a/src/sinks/redis/integration_tests.rs +++ b/src/sinks/redis/integration_tests.rs @@ -1,7 +1,7 @@ -use codecs::JsonSerializerConfig; use futures::stream; use rand::Rng; use redis::AsyncCommands; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::{ config::{init_telemetry, Tags, Telemetry}, event::LogEvent, diff --git a/src/sinks/redis/tests.rs b/src/sinks/redis/tests.rs index e3c20a4e88787..5e885ce16b583 100644 --- a/src/sinks/redis/tests.rs +++ b/src/sinks/redis/tests.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use codecs::{JsonSerializerConfig, TextSerializerConfig}; +use vector_lib::codecs::{JsonSerializerConfig, TextSerializerConfig}; use vector_lib::event::LogEvent; use vector_lib::request_metadata::GroupedCountByteSize; diff --git a/src/sinks/socket.rs b/src/sinks/socket.rs index 0e63bc1613cb9..1ed0d42822f1a 100644 --- a/src/sinks/socket.rs +++ b/src/sinks/socket.rs @@ -1,4 +1,4 @@ -use codecs::{ +use vector_lib::codecs::{ encoding::{Framer, FramingConfig}, TextSerializerConfig, }; @@ -164,7 +164,6 @@ mod test { net::{SocketAddr, UdpSocket}, }; - use codecs::JsonSerializerConfig; use futures::stream::StreamExt; use futures_util::stream; use serde_json::Value; @@ -174,6 +173,7 @@ mod test { }; use tokio_stream::wrappers::TcpListenerStream; use tokio_util::codec::{FramedRead, LinesCodec}; + use vector_lib::codecs::JsonSerializerConfig; use super::*; use crate::{ diff --git a/src/sinks/splunk_hec/logs/config.rs b/src/sinks/splunk_hec/logs/config.rs index f4bcdd90b92a4..862830ccf7b81 100644 --- a/src/sinks/splunk_hec/logs/config.rs +++ b/src/sinks/splunk_hec/logs/config.rs @@ -1,9 +1,9 @@ use std::sync::Arc; -use codecs::TextSerializerConfig; use futures_util::FutureExt; use lookup::lookup_v2::{ConfigValuePath, OptionalValuePath}; use tower::ServiceBuilder; +use vector_lib::codecs::TextSerializerConfig; use vector_lib::configurable::configurable_component; use vector_lib::sensitive_string::SensitiveString; use vector_lib::sink::VectorSink; diff --git a/src/sinks/splunk_hec/logs/integration_tests.rs b/src/sinks/splunk_hec/logs/integration_tests.rs index dca874ea73567..5bdf697fe4a15 100644 --- a/src/sinks/splunk_hec/logs/integration_tests.rs +++ b/src/sinks/splunk_hec/logs/integration_tests.rs @@ -1,11 +1,11 @@ use std::{convert::TryFrom, iter, num::NonZeroU8}; use chrono::{TimeZone, Timelike, Utc}; -use codecs::{JsonSerializerConfig, TextSerializerConfig}; use futures::{future::ready, stream}; use lookup::lookup_v2::{ConfigValuePath, OptionalValuePath}; use serde_json::Value as JsonValue; use tokio::time::{sleep, Duration}; +use vector_lib::codecs::{JsonSerializerConfig, TextSerializerConfig}; use vector_lib::{ config::{init_telemetry, Tags, Telemetry}, event::{BatchNotifier, BatchStatus, Event, LogEvent}, diff --git a/src/sinks/splunk_hec/logs/tests.rs b/src/sinks/splunk_hec/logs/tests.rs index 9e5851e151f92..51270163e5823 100644 --- a/src/sinks/splunk_hec/logs/tests.rs +++ b/src/sinks/splunk_hec/logs/tests.rs @@ -1,11 +1,11 @@ use std::{collections::BTreeMap, sync::Arc}; use chrono::{TimeZone, Utc}; -use codecs::{JsonSerializerConfig, TextSerializerConfig}; use futures_util::StreamExt; use lookup::lookup_v2::OptionalValuePath; use lookup::{OwnedValuePath, PathPrefix}; use serde::Deserialize; +use vector_lib::codecs::{JsonSerializerConfig, TextSerializerConfig}; use vector_lib::{ config::log_schema, event::{Event, LogEvent, Value}, diff --git a/src/sinks/util/encoding.rs b/src/sinks/util/encoding.rs index 0f39f75887068..dabaf350e42fc 100644 --- a/src/sinks/util/encoding.rs +++ b/src/sinks/util/encoding.rs @@ -1,9 +1,9 @@ use std::io; use bytes::BytesMut; -use codecs::encoding::Framer; use itertools::{Itertools, Position}; use tokio_util::codec::Encoder as _; +use vector_lib::codecs::encoding::Framer; use vector_lib::request_metadata::GroupedCountByteSize; use vector_lib::{config::telemetry, EstimatedJsonEncodedSizeOf}; @@ -146,7 +146,7 @@ where mod tests { use std::collections::BTreeMap; - use codecs::{ + use vector_lib::codecs::{ CharacterDelimitedEncoder, JsonSerializerConfig, NewlineDelimitedEncoder, TextSerializerConfig, }; diff --git a/src/sinks/util/tcp.rs b/src/sinks/util/tcp.rs index 505cbb93a6ad5..ba9465b6c5010 100644 --- a/src/sinks/util/tcp.rs +++ b/src/sinks/util/tcp.rs @@ -107,7 +107,11 @@ impl TcpSinkConfig { pub fn build( &self, transformer: Transformer, - encoder: impl Encoder + Clone + Send + Sync + 'static, + encoder: impl Encoder + + Clone + + Send + + Sync + + 'static, ) -> crate::Result<(VectorSink, Healthcheck)> { let uri = self.address.parse::()?; let host = uri.host().ok_or(SinkBuildError::MissingHost)?.to_string(); @@ -216,7 +220,7 @@ impl TcpConnector { struct TcpSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { connector: TcpConnector, transformer: Transformer, @@ -225,7 +229,7 @@ where impl TcpSink where - E: Encoder + Clone + Send + Sync + 'static, + E: Encoder + Clone + Send + Sync + 'static, { const fn new(connector: TcpConnector, transformer: Transformer, encoder: E) -> Self { Self { @@ -268,7 +272,12 @@ where #[async_trait] impl StreamSink for TcpSink where - E: Encoder + Clone + Send + Sync + Sync + 'static, + E: Encoder + + Clone + + Send + + Sync + + Sync + + 'static, { async fn run(self: Box, input: BoxStream<'_, Event>) -> Result<(), ()> { // We need [Peekable](https://docs.rs/futures/0.3.6/futures/stream/struct.Peekable.html) for initiating diff --git a/src/sinks/util/udp.rs b/src/sinks/util/udp.rs index 65396fc9d1935..96b0c0393e37c 100644 --- a/src/sinks/util/udp.rs +++ b/src/sinks/util/udp.rs @@ -81,7 +81,11 @@ impl UdpSinkConfig { pub fn build( &self, transformer: Transformer, - encoder: impl Encoder + Clone + Send + Sync + 'static, + encoder: impl Encoder + + Clone + + Send + + Sync + + 'static, ) -> crate::Result<(VectorSink, Healthcheck)> { let connector = self.build_connector()?; let sink = UdpSink::new(connector.clone(), transformer, encoder); @@ -162,7 +166,7 @@ impl UdpConnector { struct UdpSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { connector: UdpConnector, transformer: Transformer, @@ -172,7 +176,7 @@ where impl UdpSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { fn new(connector: UdpConnector, transformer: Transformer, encoder: E) -> Self { Self { @@ -187,7 +191,7 @@ where #[async_trait] impl StreamSink for UdpSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { async fn run(self: Box, input: BoxStream<'_, Event>) -> Result<(), ()> { let mut input = input.peekable(); diff --git a/src/sinks/util/unix.rs b/src/sinks/util/unix.rs index 510615f23234b..b89ece6b37a94 100644 --- a/src/sinks/util/unix.rs +++ b/src/sinks/util/unix.rs @@ -56,7 +56,11 @@ impl UnixSinkConfig { pub fn build( &self, transformer: Transformer, - encoder: impl Encoder + Clone + Send + Sync + 'static, + encoder: impl Encoder + + Clone + + Send + + Sync + + 'static, ) -> crate::Result<(VectorSink, Healthcheck)> { let connector = UnixConnector::new(self.path.clone()); let sink = UnixSink::new(connector.clone(), transformer, encoder); @@ -115,7 +119,7 @@ impl UnixConnector { struct UnixSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { connector: UnixConnector, transformer: Transformer, @@ -124,7 +128,7 @@ where impl UnixSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { pub const fn new(connector: UnixConnector, transformer: Transformer, encoder: E) -> Self { Self { @@ -143,7 +147,7 @@ where #[async_trait] impl StreamSink for UnixSink where - E: Encoder + Clone + Send + Sync, + E: Encoder + Clone + Send + Sync, { // Same as TcpSink, more details there. async fn run(mut self: Box, input: BoxStream<'_, Event>) -> Result<(), ()> { @@ -197,8 +201,8 @@ where #[cfg(test)] mod tests { - use codecs::{encoding::Framer, NewlineDelimitedEncoder, TextSerializerConfig}; use tokio::net::UnixListener; + use vector_lib::codecs::{encoding::Framer, NewlineDelimitedEncoder, TextSerializerConfig}; use super::*; use crate::{ diff --git a/src/sinks/webhdfs/config.rs b/src/sinks/webhdfs/config.rs index 1c638837efe87..42bbff0c276aa 100644 --- a/src/sinks/webhdfs/config.rs +++ b/src/sinks/webhdfs/config.rs @@ -1,6 +1,6 @@ -use codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use opendal::{layers::LoggingLayer, services::Webhdfs, Operator}; use tower::ServiceBuilder; +use vector_lib::codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use vector_lib::configurable::configurable_component; use vector_lib::{ config::{AcknowledgementsConfig, DataType, Input}, diff --git a/src/sinks/webhdfs/integration_tests.rs b/src/sinks/webhdfs/integration_tests.rs index 935da81f226c5..0388da9246af9 100644 --- a/src/sinks/webhdfs/integration_tests.rs +++ b/src/sinks/webhdfs/integration_tests.rs @@ -3,10 +3,10 @@ use std::{ time::Duration, }; -use codecs::{encoding::FramingConfig, TextSerializerConfig}; use futures::{stream, StreamExt}; use opendal::{Entry, Metakey}; use similar_asserts::assert_eq; +use vector_lib::codecs::{encoding::FramingConfig, TextSerializerConfig}; use vector_lib::event::{Event, LogEvent}; use super::WebHdfsConfig; diff --git a/src/sinks/webhdfs/test.rs b/src/sinks/webhdfs/test.rs index 3e2eed0697d27..a2ec07b135a5e 100644 --- a/src/sinks/webhdfs/test.rs +++ b/src/sinks/webhdfs/test.rs @@ -1,5 +1,5 @@ use bytes::Bytes; -use codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; +use vector_lib::codecs::{encoding::Framer, JsonSerializerConfig, NewlineDelimitedEncoderConfig}; use vector_lib::partition::Partitioner; use vector_lib::request_metadata::GroupedCountByteSize; diff --git a/src/sinks/websocket/config.rs b/src/sinks/websocket/config.rs index 31f3ecc5a4b53..b5234aa8a0ab2 100644 --- a/src/sinks/websocket/config.rs +++ b/src/sinks/websocket/config.rs @@ -1,7 +1,7 @@ use std::num::NonZeroU64; -use codecs::JsonSerializerConfig; use snafu::ResultExt; +use vector_lib::codecs::JsonSerializerConfig; use vector_lib::configurable::configurable_component; use crate::{ diff --git a/src/sinks/websocket/sink.rs b/src/sinks/websocket/sink.rs index 47fcf53f2b3d3..70c5bcffeeb45 100644 --- a/src/sinks/websocket/sink.rs +++ b/src/sinks/websocket/sink.rs @@ -234,7 +234,7 @@ impl WebSocketSink { } const fn should_encode_as_binary(&self) -> bool { - use codecs::encoding::Serializer::{ + use vector_lib::codecs::encoding::Serializer::{ Avro, Csv, Gelf, Json, Logfmt, Native, NativeJson, Protobuf, RawMessage, Text, }; @@ -388,7 +388,6 @@ const fn is_closed(error: &WsError) -> bool { mod tests { use std::net::SocketAddr; - use codecs::JsonSerializerConfig; use futures::{future, FutureExt, StreamExt}; use serde_json::Value as JsonValue; use tokio::time::timeout; @@ -397,6 +396,7 @@ mod tests { tungstenite::error::{Error as WsError, ProtocolError}, tungstenite::handshake::server::{Request, Response}, }; + use vector_lib::codecs::JsonSerializerConfig; use super::*; use crate::{ diff --git a/src/sources/amqp.rs b/src/sources/amqp.rs index 7e3528b5d66d1..f9da0019a4cd7 100644 --- a/src/sources/amqp.rs +++ b/src/sources/amqp.rs @@ -16,7 +16,6 @@ use crate::{ use async_stream::stream; use bytes::Bytes; use chrono::{TimeZone, Utc}; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use futures::{FutureExt, StreamExt}; use futures_util::Stream; use lapin::{acker::Acker, message::Delivery, Channel}; @@ -24,6 +23,7 @@ use lookup::{lookup_v2::OptionalValuePath, metadata_path, owned_value_path, path use snafu::Snafu; use std::{io::Cursor, pin::Pin}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::configurable::configurable_component; use vector_lib::{ config::{log_schema, LegacyKey, LogNamespace, SourceAcknowledgementsConfig}, @@ -359,7 +359,7 @@ async fn receive_event( } } Err(error) => { - use codecs::StreamDecodingError as _; + use vector_lib::codecs::StreamDecodingError as _; // Error is logged by `codecs::Decoder`, no further handling // is needed here. diff --git a/src/sources/aws_kinesis_firehose/handlers.rs b/src/sources/aws_kinesis_firehose/handlers.rs index 0a479f0af63ee..6d4e6e1cf246b 100644 --- a/src/sources/aws_kinesis_firehose/handlers.rs +++ b/src/sources/aws_kinesis_firehose/handlers.rs @@ -3,12 +3,12 @@ use std::io::Read; use base64::prelude::{Engine as _, BASE64_STANDARD}; use bytes::Bytes; use chrono::Utc; -use codecs::StreamDecodingError; use flate2::read::MultiGzDecoder; use futures::StreamExt; use lookup::{metadata_path, path, PathPrefix}; use snafu::{ResultExt, Snafu}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::StreamDecodingError; use vector_lib::{ config::{LegacyKey, LogNamespace}, event::BatchNotifier, diff --git a/src/sources/aws_kinesis_firehose/mod.rs b/src/sources/aws_kinesis_firehose/mod.rs index b3116c2825b97..1376ac67e9445 100644 --- a/src/sources/aws_kinesis_firehose/mod.rs +++ b/src/sources/aws_kinesis_firehose/mod.rs @@ -1,9 +1,9 @@ use std::{fmt, net::SocketAddr}; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use futures::FutureExt; use lookup::owned_value_path; use tracing::Span; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::sensitive_string::SensitiveString; diff --git a/src/sources/aws_s3/mod.rs b/src/sources/aws_s3/mod.rs index 4fc2abe3d753a..2c58bebbb281a 100644 --- a/src/sources/aws_s3/mod.rs +++ b/src/sources/aws_s3/mod.rs @@ -2,12 +2,14 @@ use std::{convert::TryInto, io::ErrorKind}; use async_compression::tokio::bufread; use aws_sdk_s3::types::ByteStream; -use codecs::decoding::{DeserializerConfig, FramingConfig, NewlineDelimitedDecoderOptions}; -use codecs::NewlineDelimitedDecoderConfig; use futures::{stream, stream::StreamExt, TryStreamExt}; use lookup::owned_value_path; use snafu::Snafu; use tokio_util::io::StreamReader; +use vector_lib::codecs::decoding::{ + DeserializerConfig, FramingConfig, NewlineDelimitedDecoderOptions, +}; +use vector_lib::codecs::NewlineDelimitedDecoderConfig; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vrl::value::{kind::Collection, Kind}; @@ -443,9 +445,9 @@ mod integration_tests { use aws_sdk_s3::{types::ByteStream, Client as S3Client}; use aws_sdk_sqs::{model::QueueAttributeName, Client as SqsClient}; - use codecs::{decoding::DeserializerConfig, JsonDeserializerConfig}; use lookup::path; use similar_asserts::assert_eq; + use vector_lib::codecs::{decoding::DeserializerConfig, JsonDeserializerConfig}; use vrl::value::Value; use super::{sqs, AwsS3Config, Compression, Strategy}; diff --git a/src/sources/aws_s3/sqs.rs b/src/sources/aws_s3/sqs.rs index 0fc66ea6b1921..f44f14693ca34 100644 --- a/src/sources/aws_s3/sqs.rs +++ b/src/sources/aws_s3/sqs.rs @@ -12,7 +12,6 @@ use aws_smithy_client::SdkError; use aws_types::region::Region; use bytes::Bytes; use chrono::{DateTime, TimeZone, Utc}; -use codecs::decoding::FramingError; use futures::{FutureExt, Stream, StreamExt, TryFutureExt}; use once_cell::sync::Lazy; use serde::{Deserialize, Deserializer, Serialize, Serializer}; @@ -22,6 +21,7 @@ use snafu::{ResultExt, Snafu}; use tokio::{pin, select}; use tokio_util::codec::FramedRead; use tracing::Instrument; +use vector_lib::codecs::decoding::FramingError; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ ByteSize, BytesReceived, CountByteSize, InternalEventHandle as _, Protocol, Registered, diff --git a/src/sources/aws_sqs/config.rs b/src/sources/aws_sqs/config.rs index e3e43a74692aa..0859f7d238fa2 100644 --- a/src/sources/aws_sqs/config.rs +++ b/src/sources/aws_sqs/config.rs @@ -1,7 +1,7 @@ use std::num::NonZeroUsize; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use lookup::owned_value_path; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vrl::value::Kind; diff --git a/src/sources/datadog_agent/logs.rs b/src/sources/datadog_agent/logs.rs index e9b59f40a71ac..400e966f5ce36 100644 --- a/src/sources/datadog_agent/logs.rs +++ b/src/sources/datadog_agent/logs.rs @@ -2,10 +2,10 @@ use std::sync::Arc; use bytes::{BufMut, Bytes, BytesMut}; use chrono::Utc; -use codecs::StreamDecodingError; use http::StatusCode; use lookup::path; use tokio_util::codec::Decoder; +use vector_lib::codecs::StreamDecodingError; use vector_lib::internal_event::{CountByteSize, InternalEventHandle as _}; use vector_lib::{config::LegacyKey, EstimatedJsonEncodedSizeOf}; use warp::{filters::BoxedFilter, path as warp_path, path::FullPath, reply::Response, Filter}; diff --git a/src/sources/datadog_agent/mod.rs b/src/sources/datadog_agent/mod.rs index 76686629276d1..9e15898020742 100644 --- a/src/sources/datadog_agent/mod.rs +++ b/src/sources/datadog_agent/mod.rs @@ -21,7 +21,6 @@ use std::{fmt::Debug, io::Read, net::SocketAddr, sync::Arc}; use bytes::{Buf, Bytes}; use chrono::{serde::ts_milliseconds, DateTime, Utc}; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use flate2::read::{MultiGzDecoder, ZlibDecoder}; use futures::FutureExt; use http::StatusCode; @@ -30,6 +29,7 @@ use regex::Regex; use serde::{Deserialize, Serialize}; use snafu::Snafu; use tracing::Span; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::event::{BatchNotifier, BatchStatus}; diff --git a/src/sources/datadog_agent/tests.rs b/src/sources/datadog_agent/tests.rs index 9f98f83a0b662..852c7e3091dba 100644 --- a/src/sources/datadog_agent/tests.rs +++ b/src/sources/datadog_agent/tests.rs @@ -7,10 +7,6 @@ use std::{ use bytes::Bytes; use chrono::{TimeZone, Utc}; -use codecs::{ - decoding::{Deserializer, DeserializerConfig, Framer}, - BytesDecoder, BytesDeserializer, -}; use futures::{Stream, StreamExt}; use http::HeaderMap; use indoc::indoc; @@ -19,6 +15,10 @@ use ordered_float::NotNan; use prost::Message; use quickcheck::{Arbitrary, Gen, QuickCheck, TestResult}; use similar_asserts::assert_eq; +use vector_lib::codecs::{ + decoding::{Deserializer, DeserializerConfig, Framer}, + BytesDecoder, BytesDeserializer, +}; use vector_lib::{ config::LogNamespace, event::{metric::TagValue, MetricTags}, diff --git a/src/sources/demo_logs.rs b/src/sources/demo_logs.rs index 3f464b137fb6f..d318dbf8acc21 100644 --- a/src/sources/demo_logs.rs +++ b/src/sources/demo_logs.rs @@ -1,8 +1,4 @@ use chrono::Utc; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use fakedata::logs::*; use futures::StreamExt; use lookup::{owned_value_path, path}; @@ -12,6 +8,10 @@ use snafu::Snafu; use std::task::Poll; use tokio::time::{self, Duration}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ ByteSize, BytesReceived, CountByteSize, InternalEventHandle as _, Protocol, diff --git a/src/sources/docker_logs/mod.rs b/src/sources/docker_logs/mod.rs index 8ebea56ec6f0b..427b41c252e85 100644 --- a/src/sources/docker_logs/mod.rs +++ b/src/sources/docker_logs/mod.rs @@ -11,7 +11,6 @@ use bollard::{ }; use bytes::{Buf, Bytes}; use chrono::{DateTime, FixedOffset, Local, ParseError, Utc}; -use codecs::{BytesDeserializer, BytesDeserializerConfig}; use futures::{Stream, StreamExt}; use lookup::{ lookup_v2::OptionalValuePath, metadata_path, owned_value_path, path, OwnedValuePath, PathPrefix, @@ -20,6 +19,7 @@ use once_cell::sync::Lazy; use serde_with::serde_as; use tokio::sync::mpsc; use tracing_futures::Instrument; +use vector_lib::codecs::{BytesDeserializer, BytesDeserializerConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ diff --git a/src/sources/exec/mod.rs b/src/sources/exec/mod.rs index 924ad5db9ca33..dd176424625e8 100644 --- a/src/sources/exec/mod.rs +++ b/src/sources/exec/mod.rs @@ -6,10 +6,6 @@ use std::{ }; use chrono::Utc; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use futures::StreamExt; use smallvec::SmallVec; use snafu::Snafu; @@ -21,6 +17,10 @@ use tokio::{ }; use tokio_stream::wrappers::IntervalStream; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ByteSize, BytesReceived, InternalEventHandle as _, Protocol}; use vector_lib::{config::LegacyKey, EstimatedJsonEncodedSizeOf}; diff --git a/src/sources/file.rs b/src/sources/file.rs index cec4afafee781..361ebee0d3d27 100644 --- a/src/sources/file.rs +++ b/src/sources/file.rs @@ -2,7 +2,6 @@ use std::{convert::TryInto, future, path::PathBuf, time::Duration}; use bytes::Bytes; use chrono::Utc; -use codecs::{BytesDeserializer, BytesDeserializerConfig}; use file_source::{ calculate_ignore_before, paths_provider::glob::{Glob, MatchOptions}, @@ -16,6 +15,7 @@ use serde_with::serde_as; use snafu::{ResultExt, Snafu}; use tokio::{sync::oneshot, task::spawn_blocking}; use tracing::{Instrument, Span}; +use vector_lib::codecs::{BytesDeserializer, BytesDeserializerConfig}; use vector_lib::configurable::configurable_component; use vector_lib::finalizer::OrderedFinalizer; use vector_lib::{ diff --git a/src/sources/file_descriptors/file_descriptor.rs b/src/sources/file_descriptors/file_descriptor.rs index 44cb42b006d86..0130b1847b278 100644 --- a/src/sources/file_descriptors/file_descriptor.rs +++ b/src/sources/file_descriptors/file_descriptor.rs @@ -1,9 +1,9 @@ use std::{fs::File, io, os::unix::io::FromRawFd}; use super::{outputs, FileDescriptorConfig}; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use indoc::indoc; use lookup::lookup_v2::OptionalValuePath; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::LogNamespace; use vector_lib::configurable::configurable_component; diff --git a/src/sources/file_descriptors/mod.rs b/src/sources/file_descriptors/mod.rs index f48732fc22658..19c7acfce961b 100644 --- a/src/sources/file_descriptors/mod.rs +++ b/src/sources/file_descriptors/mod.rs @@ -3,13 +3,13 @@ use std::io; use async_stream::stream; use bytes::Bytes; use chrono::Utc; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use futures::{channel::mpsc, executor, SinkExt, StreamExt}; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path, OwnedValuePath}; use tokio_util::{codec::FramedRead, io::StreamReader}; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::NamedComponent; use vector_lib::internal_event::{ ByteSize, BytesReceived, CountByteSize, InternalEventHandle as _, Protocol, diff --git a/src/sources/file_descriptors/stdin.rs b/src/sources/file_descriptors/stdin.rs index d538d63c32750..f9679fc82f4b0 100644 --- a/src/sources/file_descriptors/stdin.rs +++ b/src/sources/file_descriptors/stdin.rs @@ -1,7 +1,7 @@ use std::io; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use lookup::lookup_v2::OptionalValuePath; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::LogNamespace; use vector_lib::configurable::configurable_component; diff --git a/src/sources/fluent/mod.rs b/src/sources/fluent/mod.rs index 1bb61b0e1624c..61f31e62b1f56 100644 --- a/src/sources/fluent/mod.rs +++ b/src/sources/fluent/mod.rs @@ -6,7 +6,6 @@ use std::time::Duration; use base64::prelude::{Engine as _, BASE64_STANDARD}; use bytes::{Buf, Bytes, BytesMut}; use chrono::Utc; -use codecs::{BytesDeserializerConfig, StreamDecodingError}; use flate2::read::MultiGzDecoder; use lookup::lookup_v2::parse_value_path; use lookup::{metadata_path, owned_value_path, path, OwnedValuePath}; @@ -14,6 +13,7 @@ use rmp_serde::{decode, Deserializer, Serializer}; use serde::{Deserialize, Serialize}; use smallvec::{smallvec, SmallVec}; use tokio_util::codec::Decoder; +use vector_lib::codecs::{BytesDeserializerConfig, StreamDecodingError}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::schema::Definition; diff --git a/src/sources/gcp_pubsub.rs b/src/sources/gcp_pubsub.rs index 5f61534545bb7..f30b0bb54488a 100644 --- a/src/sources/gcp_pubsub.rs +++ b/src/sources/gcp_pubsub.rs @@ -5,7 +5,6 @@ use std::{ }; use chrono::NaiveDateTime; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use derivative::Derivative; use futures::{stream, stream::FuturesUnordered, FutureExt, Stream, StreamExt, TryFutureExt}; use http::uri::{InvalidUri, Scheme, Uri}; @@ -20,6 +19,7 @@ use tonic::{ transport::{Certificate, ClientTlsConfig, Endpoint, Identity}, Code, Request, Status, }; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ diff --git a/src/sources/heroku_logs.rs b/src/sources/heroku_logs.rs index 3cc33314f3424..eae4378dcd04b 100644 --- a/src/sources/heroku_logs.rs +++ b/src/sources/heroku_logs.rs @@ -7,13 +7,13 @@ use std::{ use bytes::{Buf, BufMut, Bytes, BytesMut}; use chrono::{DateTime, Utc}; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use lookup::{lookup_v2::parse_value_path, owned_value_path, path}; use smallvec::SmallVec; use tokio_util::codec::Decoder as _; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vrl::value::{kind::Collection, Kind}; use warp::http::{HeaderMap, StatusCode}; diff --git a/src/sources/http_client/client.rs b/src/sources/http_client/client.rs index d1fa5c1bb035c..68304e40ca6f6 100644 --- a/src/sources/http_client/client.rs +++ b/src/sources/http_client/client.rs @@ -28,7 +28,7 @@ use crate::{ Result, }; use crate::{components::validation::*, sources::util::http_client}; -use codecs::{ +use vector_lib::codecs::{ decoding::{DeserializerConfig, FramingConfig}, StreamDecodingError, }; diff --git a/src/sources/http_client/integration_tests.rs b/src/sources/http_client/integration_tests.rs index 256b31aa63713..a648019000b55 100644 --- a/src/sources/http_client/integration_tests.rs +++ b/src/sources/http_client/integration_tests.rs @@ -15,7 +15,7 @@ use crate::{ tls::TlsConfig, SourceSender, }; -use codecs::decoding::DeserializerConfig; +use vector_lib::codecs::decoding::DeserializerConfig; use vector_lib::config::log_schema; use super::{ diff --git a/src/sources/http_client/tests.rs b/src/sources/http_client/tests.rs index 99e12534d36c2..33143d2d24a64 100644 --- a/src/sources/http_client/tests.rs +++ b/src/sources/http_client/tests.rs @@ -1,11 +1,13 @@ -use codecs::CharacterDelimitedDecoderConfig; use std::collections::HashMap; use tokio::time::Duration; +use vector_lib::codecs::CharacterDelimitedDecoderConfig; use warp::{http::HeaderMap, Filter}; use crate::sources::util::http::HttpMethod; use crate::{serde::default_decoding, serde::default_framing_message_based}; -use codecs::decoding::{CharacterDelimitedDecoderOptions, DeserializerConfig, FramingConfig}; +use vector_lib::codecs::decoding::{ + CharacterDelimitedDecoderOptions, DeserializerConfig, FramingConfig, +}; use vector_lib::event::Event; use super::HttpClientConfig; diff --git a/src/sources/http_server.rs b/src/sources/http_server.rs index bfca943edbc58..d87f24030126d 100644 --- a/src/sources/http_server.rs +++ b/src/sources/http_server.rs @@ -8,12 +8,12 @@ use tokio_util::codec::Decoder as _; use vrl::value::{kind::Collection, Kind}; use warp::http::{HeaderMap, HeaderValue}; -use codecs::{ +use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path}; +use vector_lib::codecs::{ decoding::{DeserializerConfig, FramingConfig}, BytesDecoderConfig, BytesDeserializerConfig, JsonDeserializerConfig, NewlineDelimitedDecoderConfig, }; -use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path}; use vector_lib::configurable::configurable_component; use vector_lib::{ config::{DataType, LegacyKey, LogNamespace}, @@ -489,12 +489,12 @@ mod tests { use vrl::value::kind::Collection; use vrl::value::Kind; - use codecs::{ + use lookup::lookup_v2::OptionalValuePath; + use lookup::{event_path, owned_value_path, OwnedTargetPath}; + use vector_lib::codecs::{ decoding::{DeserializerConfig, FramingConfig}, BytesDecoderConfig, JsonDeserializerConfig, }; - use lookup::lookup_v2::OptionalValuePath; - use lookup::{event_path, owned_value_path, OwnedTargetPath}; use vector_lib::config::LogNamespace; use vector_lib::event::LogEvent; use vector_lib::schema::Definition; diff --git a/src/sources/internal_logs.rs b/src/sources/internal_logs.rs index 92d4f9702679a..8d694decce906 100644 --- a/src/sources/internal_logs.rs +++ b/src/sources/internal_logs.rs @@ -1,8 +1,8 @@ use chrono::Utc; -use codecs::BytesDeserializerConfig; use futures::{stream, StreamExt}; use lookup::lookup_v2::OptionalValuePath; use lookup::{owned_value_path, path, OwnedValuePath}; +use vector_lib::codecs::BytesDeserializerConfig; use vector_lib::config::log_schema; use vector_lib::configurable::configurable_component; use vector_lib::{ diff --git a/src/sources/journald.rs b/src/sources/journald.rs index 47ca086a9ccee..94169b01d76d8 100644 --- a/src/sources/journald.rs +++ b/src/sources/journald.rs @@ -10,7 +10,6 @@ use std::{ use bytes::Bytes; use chrono::{TimeZone, Utc}; -use codecs::{decoding::BoxedFramingError, CharacterDelimitedDecoder}; use futures::{poll, stream::BoxStream, task::Poll, StreamExt}; use lookup::{metadata_path, owned_value_path, path}; use nix::{ @@ -28,6 +27,7 @@ use tokio::{ time::sleep, }; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{decoding::BoxedFramingError, CharacterDelimitedDecoder}; use vector_lib::configurable::configurable_component; use vector_lib::{ config::{LegacyKey, LogNamespace}, diff --git a/src/sources/kafka.rs b/src/sources/kafka.rs index a7a3f3dc022f0..949890468f35c 100644 --- a/src/sources/kafka.rs +++ b/src/sources/kafka.rs @@ -12,10 +12,6 @@ use std::{ use async_stream::stream; use bytes::Bytes; use chrono::{DateTime, TimeZone, Utc}; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use futures::{Stream, StreamExt}; use futures_util::future::OptionFuture; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path, OwnedValuePath}; @@ -41,6 +37,10 @@ use tokio::{ time::Sleep, }; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::configurable_component; use vector_lib::finalizer::OrderedFinalizer; diff --git a/src/sources/kubernetes_logs/mod.rs b/src/sources/kubernetes_logs/mod.rs index 49c3e81053c89..af68b8cca5e4c 100644 --- a/src/sources/kubernetes_logs/mod.rs +++ b/src/sources/kubernetes_logs/mod.rs @@ -8,7 +8,6 @@ use std::{path::PathBuf, time::Duration}; use bytes::Bytes; use chrono::Utc; -use codecs::{BytesDeserializer, BytesDeserializerConfig}; use file_source::{ calculate_ignore_before, Checkpointer, FileServer, FileServerShutdown, FingerprintStrategy, Fingerprinter, Line, ReadFrom, ReadFromConfig, @@ -26,6 +25,7 @@ use kube::{ use lifecycle::Lifecycle; use lookup::{lookup_v2::OptionalTargetPath, owned_value_path, path, OwnedTargetPath}; use serde_with::serde_as; +use vector_lib::codecs::{BytesDeserializer, BytesDeserializerConfig}; use vector_lib::configurable::configurable_component; use vector_lib::{config::LegacyKey, config::LogNamespace, EstimatedJsonEncodedSizeOf}; use vector_lib::{ diff --git a/src/sources/logstash.rs b/src/sources/logstash.rs index d130cfee4ccfd..46f46fe508092 100644 --- a/src/sources/logstash.rs +++ b/src/sources/logstash.rs @@ -7,12 +7,12 @@ use std::{ }; use bytes::{Buf, Bytes, BytesMut}; -use codecs::{BytesDeserializerConfig, StreamDecodingError}; use flate2::read::ZlibDecoder; use lookup::{event_path, metadata_path, owned_value_path, path, OwnedValuePath}; use smallvec::{smallvec, SmallVec}; use snafu::{ResultExt, Snafu}; use tokio_util::codec::Decoder; +use vector_lib::codecs::{BytesDeserializerConfig, StreamDecodingError}; use vector_lib::configurable::configurable_component; use vector_lib::{ config::{LegacyKey, LogNamespace}, diff --git a/src/sources/nats.rs b/src/sources/nats.rs index 0f5a4613c19e8..3aec2874a1100 100644 --- a/src/sources/nats.rs +++ b/src/sources/nats.rs @@ -1,9 +1,9 @@ use chrono::Utc; -use codecs::decoding::{DeserializerConfig, FramingConfig, StreamDecodingError}; use futures::{pin_mut, StreamExt}; use lookup::{lookup_v2::OptionalValuePath, owned_value_path}; use snafu::{ResultExt, Snafu}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig, StreamDecodingError}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ ByteSize, BytesReceived, CountByteSize, EventsReceived, InternalEventHandle as _, Protocol, diff --git a/src/sources/redis/mod.rs b/src/sources/redis/mod.rs index 4ca3bc3b73e46..1b3375066364a 100644 --- a/src/sources/redis/mod.rs +++ b/src/sources/redis/mod.rs @@ -1,13 +1,13 @@ use bytes::Bytes; use chrono::Utc; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use futures::StreamExt; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path, OwnedValuePath}; use snafu::{ResultExt, Snafu}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ ByteSize, BytesReceived, CountByteSize, InternalEventHandle as _, Protocol, Registered, diff --git a/src/sources/socket/mod.rs b/src/sources/socket/mod.rs index 7773ec0984a23..64fdcd99b225b 100644 --- a/src/sources/socket/mod.rs +++ b/src/sources/socket/mod.rs @@ -3,8 +3,8 @@ pub mod udp; #[cfg(unix)] mod unix; -use codecs::decoding::DeserializerConfig; use lookup::{lookup_v2::OptionalValuePath, owned_value_path}; +use vector_lib::codecs::decoding::DeserializerConfig; use vector_lib::config::{log_schema, LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vrl::value::{kind::Collection, Kind}; @@ -332,9 +332,6 @@ mod test { }; use bytes::{BufMut, Bytes, BytesMut}; - use codecs::NewlineDelimitedDecoderConfig; - #[cfg(unix)] - use codecs::{decoding::CharacterDelimitedDecoderOptions, CharacterDelimitedDecoderConfig}; use futures::{stream, StreamExt}; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path}; use tokio::io::AsyncReadExt; @@ -343,6 +340,11 @@ mod test { task::JoinHandle, time::{timeout, Duration, Instant}, }; + use vector_lib::codecs::NewlineDelimitedDecoderConfig; + #[cfg(unix)] + use vector_lib::codecs::{ + decoding::CharacterDelimitedDecoderOptions, CharacterDelimitedDecoderConfig, + }; use vector_lib::event::EventContainer; use vrl::btreemap; use vrl::value; @@ -765,7 +767,7 @@ mod test { bytes: Bytes, } impl tokio_util::codec::Encoder for Serializer { - type Error = codecs::encoding::Error; + type Error = vector_lib::codecs::encoding::Error; fn encode(&mut self, _: Event, buffer: &mut BytesMut) -> Result<(), Self::Error> { buffer.put(self.bytes.as_ref()); diff --git a/src/sources/socket/tcp.rs b/src/sources/socket/tcp.rs index 1d2899563a896..955eceb80fc55 100644 --- a/src/sources/socket/tcp.rs +++ b/src/sources/socket/tcp.rs @@ -1,10 +1,10 @@ use std::time::Duration; use chrono::Utc; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path}; use serde_with::serde_as; use smallvec::SmallVec; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; @@ -203,7 +203,7 @@ impl RawTcpSource { } impl TcpSource for RawTcpSource { - type Error = codecs::decoding::Error; + type Error = vector_lib::codecs::decoding::Error; type Item = SmallVec<[Event; 1]>; type Decoder = Decoder; type Acker = TcpNullAcker; diff --git a/src/sources/socket/udp.rs b/src/sources/socket/udp.rs index 3831926009de2..b2c557c608a59 100644 --- a/src/sources/socket/udp.rs +++ b/src/sources/socket/udp.rs @@ -1,13 +1,13 @@ use bytes::BytesMut; use chrono::Utc; -use codecs::{ - decoding::{DeserializerConfig, FramingConfig}, - StreamDecodingError, -}; use futures::StreamExt; use listenfd::ListenFd; use lookup::{lookup_v2::OptionalValuePath, owned_value_path, path}; use tokio_util::codec::FramedRead; +use vector_lib::codecs::{ + decoding::{DeserializerConfig, FramingConfig}, + StreamDecodingError, +}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{ByteSize, BytesReceived, InternalEventHandle as _, Protocol}; use vector_lib::{ diff --git a/src/sources/socket/unix.rs b/src/sources/socket/unix.rs index 78dad0fcf059b..8624340db7748 100644 --- a/src/sources/socket/unix.rs +++ b/src/sources/socket/unix.rs @@ -2,8 +2,8 @@ use std::path::PathBuf; use bytes::Bytes; use chrono::Utc; -use codecs::decoding::{DeserializerConfig, FramingConfig}; use lookup::{lookup_v2::OptionalValuePath, path}; +use vector_lib::codecs::decoding::{DeserializerConfig, FramingConfig}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vector_lib::shutdown::ShutdownSignal; diff --git a/src/sources/splunk_hec/mod.rs b/src/sources/splunk_hec/mod.rs index 7e666796a8177..4aa39a56af692 100644 --- a/src/sources/splunk_hec/mod.rs +++ b/src/sources/splunk_hec/mod.rs @@ -1209,10 +1209,10 @@ mod tests { use std::{net::SocketAddr, num::NonZeroU64}; use chrono::{TimeZone, Utc}; - use codecs::{JsonSerializerConfig, TextSerializerConfig}; use futures_util::Stream; use reqwest::{RequestBuilder, Response}; use serde::Deserialize; + use vector_lib::codecs::{JsonSerializerConfig, TextSerializerConfig}; use vector_lib::sensitive_string::SensitiveString; use vector_lib::{event::EventStatus, schema::Definition}; use vrl::path::PathPrefix; diff --git a/src/sources/statsd/mod.rs b/src/sources/statsd/mod.rs index 0f9a29c341486..6e7139495c103 100644 --- a/src/sources/statsd/mod.rs +++ b/src/sources/statsd/mod.rs @@ -4,15 +4,15 @@ use std::{ }; use bytes::Bytes; -use codecs::{ - decoding::{self, Deserializer, Framer}, - NewlineDelimitedDecoder, -}; use futures::{StreamExt, TryFutureExt}; use listenfd::ListenFd; use serde_with::serde_as; use smallvec::{smallvec, SmallVec}; use tokio_util::udp::UdpFramed; +use vector_lib::codecs::{ + decoding::{self, Deserializer, Framer}, + NewlineDelimitedDecoder, +}; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{CountByteSize, InternalEventHandle as _, Registered}; use vector_lib::EstimatedJsonEncodedSizeOf; @@ -315,7 +315,7 @@ async fn statsd_udp( struct StatsdTcpSource; impl TcpSource for StatsdTcpSource { - type Error = codecs::decoding::Error; + type Error = vector_lib::codecs::decoding::Error; type Item = SmallVec<[Event; 1]>; type Decoder = Decoder; type Acker = TcpNullAcker; diff --git a/src/sources/statsd/unix.rs b/src/sources/statsd/unix.rs index fd2116f1859a1..e61fe9e7b2c46 100644 --- a/src/sources/statsd/unix.rs +++ b/src/sources/statsd/unix.rs @@ -1,6 +1,6 @@ use std::path::PathBuf; -use codecs::{ +use vector_lib::codecs::{ decoding::{Deserializer, Framer}, NewlineDelimitedDecoder, }; diff --git a/src/sources/syslog.rs b/src/sources/syslog.rs index 8e3e800991cdd..cb1dd777775b9 100644 --- a/src/sources/syslog.rs +++ b/src/sources/syslog.rs @@ -4,15 +4,15 @@ use std::{net::SocketAddr, time::Duration}; use bytes::Bytes; use chrono::Utc; -use codecs::{ - decoding::{Deserializer, Framer}, - BytesDecoder, OctetCountingDecoder, SyslogDeserializerConfig, -}; use futures::StreamExt; use listenfd::ListenFd; use lookup::{lookup_v2::OptionalValuePath, path, OwnedValuePath}; use smallvec::SmallVec; use tokio_util::udp::UdpFramed; +use vector_lib::codecs::{ + decoding::{Deserializer, Framer}, + BytesDecoder, OctetCountingDecoder, SyslogDeserializerConfig, +}; use vector_lib::config::{LegacyKey, LogNamespace}; use vector_lib::configurable::configurable_component; use vrl::event_path; @@ -271,7 +271,7 @@ struct SyslogTcpSource { } impl TcpSource for SyslogTcpSource { - type Error = codecs::decoding::Error; + type Error = vector_lib::codecs::decoding::Error; type Item = SmallVec<[Event; 1]>; type Decoder = Decoder; type Acker = TcpNullAcker; @@ -443,12 +443,12 @@ mod test { }; use chrono::prelude::*; - use codecs::decoding::format::Deserializer; use rand::{thread_rng, Rng}; use serde::Deserialize; use tokio::time::{sleep, Duration, Instant}; use tokio_util::codec::BytesCodec; use vector_lib::assert_event_data_eq; + use vector_lib::codecs::decoding::format::Deserializer; use vector_lib::{config::ComponentKey, schema::Definition}; use vrl::value::{kind::Collection, Kind, Value}; diff --git a/src/sources/util/message_decoding.rs b/src/sources/util/message_decoding.rs index 255d7391e2c76..7fcb43ea77163 100644 --- a/src/sources/util/message_decoding.rs +++ b/src/sources/util/message_decoding.rs @@ -2,9 +2,9 @@ use std::iter; use bytes::{Bytes, BytesMut}; use chrono::{DateTime, Utc}; -use codecs::StreamDecodingError; use lookup::{metadata_path, path, PathPrefix}; use tokio_util::codec::Decoder as _; +use vector_lib::codecs::StreamDecodingError; use vector_lib::internal_event::{ CountByteSize, EventsReceived, InternalEventHandle as _, Registered, }; diff --git a/src/sources/util/net/tcp/mod.rs b/src/sources/util/net/tcp/mod.rs index c9d049f224d7b..a25ff055e1309 100644 --- a/src/sources/util/net/tcp/mod.rs +++ b/src/sources/util/net/tcp/mod.rs @@ -3,7 +3,6 @@ mod request_limiter; use std::{collections::BTreeMap, io, mem::drop, net::SocketAddr, time::Duration}; use bytes::Bytes; -use codecs::StreamDecodingError; use futures::{future::BoxFuture, FutureExt, StreamExt}; use futures_util::future::OptionFuture; use listenfd::ListenFd; @@ -17,6 +16,7 @@ use tokio::{ }; use tokio_util::codec::{Decoder, FramedRead}; use tracing::Instrument; +use vector_lib::codecs::StreamDecodingError; use vector_lib::finalization::AddBatchNotifier; use vector_lib::{ config::{LegacyKey, LogNamespace, SourceAcknowledgementsConfig}, diff --git a/src/sources/util/unix_datagram.rs b/src/sources/util/unix_datagram.rs index bc9371e06b109..af3ce7c01e336 100644 --- a/src/sources/util/unix_datagram.rs +++ b/src/sources/util/unix_datagram.rs @@ -1,11 +1,11 @@ use std::{fs::remove_file, path::PathBuf}; use bytes::{Bytes, BytesMut}; -use codecs::StreamDecodingError; use futures::StreamExt; use tokio::net::UnixDatagram; use tokio_util::codec::FramedRead; use tracing::field; +use vector_lib::codecs::StreamDecodingError; use vector_lib::internal_event::{ByteSize, BytesReceived, InternalEventHandle as _, Protocol}; use vector_lib::EstimatedJsonEncodedSizeOf; @@ -72,7 +72,7 @@ async fn listen( tokio::select! { recv = socket.recv_from(&mut buf) => { let (byte_size, address) = recv.map_err(|error| { - let error = codecs::decoding::Error::FramingError(error.into()); + let error = vector_lib::codecs::decoding::Error::FramingError(error.into()); emit!(SocketReceiveError { mode: SocketMode::Unix, error: &error diff --git a/src/sources/util/unix_stream.rs b/src/sources/util/unix_stream.rs index 8c1712477063d..00dbd0b5ef070 100644 --- a/src/sources/util/unix_stream.rs +++ b/src/sources/util/unix_stream.rs @@ -1,7 +1,6 @@ use std::{fs::remove_file, path::PathBuf, time::Duration}; use bytes::Bytes; -use codecs::StreamDecodingError; use futures::{FutureExt, StreamExt}; use tokio::{ io::AsyncWriteExt, @@ -11,6 +10,7 @@ use tokio::{ use tokio_stream::wrappers::UnixListenerStream; use tokio_util::codec::FramedRead; use tracing::{field, Instrument}; +use vector_lib::codecs::StreamDecodingError; use vector_lib::internal_event::{ByteSize, BytesReceived, InternalEventHandle as _, Protocol}; use vector_lib::EstimatedJsonEncodedSizeOf; diff --git a/src/sources/vector/mod.rs b/src/sources/vector/mod.rs index 0d006952ba439..0df5d61f70829 100644 --- a/src/sources/vector/mod.rs +++ b/src/sources/vector/mod.rs @@ -2,9 +2,9 @@ use std::net::SocketAddr; use chrono::Utc; -use codecs::NativeDeserializerConfig; use futures::TryFutureExt; use tonic::{Request, Response, Status}; +use vector_lib::codecs::NativeDeserializerConfig; use vector_lib::configurable::configurable_component; use vector_lib::internal_event::{CountByteSize, InternalEventHandle as _}; use vector_lib::{ diff --git a/src/topology/test/source_finished.rs b/src/topology/test/source_finished.rs index a9b3101674f3c..7fcba3a3ade16 100644 --- a/src/topology/test/source_finished.rs +++ b/src/topology/test/source_finished.rs @@ -1,5 +1,5 @@ -use codecs::{encoding::FramingConfig, TextSerializerConfig}; use tokio::time::{timeout, Duration}; +use vector_lib::codecs::{encoding::FramingConfig, TextSerializerConfig}; use crate::{ config::Config, diff --git a/src/transforms/lua/v2/mod.rs b/src/transforms/lua/v2/mod.rs index e2f60bc5c9c48..390d2232224eb 100644 --- a/src/transforms/lua/v2/mod.rs +++ b/src/transforms/lua/v2/mod.rs @@ -1,8 +1,8 @@ use std::{path::PathBuf, sync::Arc, time::Duration}; -use codecs::MetricTagValues; use serde_with::serde_as; use snafu::{ResultExt, Snafu}; +use vector_lib::codecs::MetricTagValues; use vector_lib::configurable::configurable_component; pub use vector_lib::event::lua; use vector_lib::transform::runtime_transform::{RuntimeTransform, Timer}; diff --git a/src/transforms/metric_to_log.rs b/src/transforms/metric_to_log.rs index 082af69b84c1c..0b4e00332032e 100644 --- a/src/transforms/metric_to_log.rs +++ b/src/transforms/metric_to_log.rs @@ -1,8 +1,8 @@ use chrono::Utc; -use codecs::MetricTagValues; use lookup::{event_path, owned_value_path, path, PathPrefix}; use serde_json::Value; use std::collections::{BTreeMap, BTreeSet}; +use vector_lib::codecs::MetricTagValues; use vector_lib::config::LogNamespace; use vector_lib::configurable::configurable_component; use vector_lib::TimeZone; diff --git a/src/transforms/remap.rs b/src/transforms/remap.rs index 099aaf0ccc9fc..f455780c1d2d9 100644 --- a/src/transforms/remap.rs +++ b/src/transforms/remap.rs @@ -6,9 +6,9 @@ use std::{ path::PathBuf, }; -use codecs::MetricTagValues; use lookup::{metadata_path, owned_value_path, PathPrefix}; use snafu::{ResultExt, Snafu}; +use vector_lib::codecs::MetricTagValues; use vector_lib::compile_vrl; use vector_lib::config::LogNamespace; use vector_lib::configurable::configurable_component;