From 8cb4584edf292fb6588d6f5912cdee897ba5fb1b Mon Sep 17 00:00:00 2001 From: Akhigbe Eromosele Date: Tue, 14 Jan 2025 09:58:33 +0100 Subject: [PATCH] Split PR of easy review --- exporter/sematextexporter/README.md | 24 +-- exporter/sematextexporter/config.go | 81 +--------- exporter/sematextexporter/config_test.go | 183 ----------------------- exporter/sematextexporter/factory.go | 32 +--- exporter/sematextexporter/go.mod | 24 +-- exporter/sematextexporter/go.sum | 34 ----- 6 files changed, 18 insertions(+), 360 deletions(-) delete mode 100644 exporter/sematextexporter/config_test.go diff --git a/exporter/sematextexporter/README.md b/exporter/sematextexporter/README.md index 3ddaaaf13b3f..b5beaefa50eb 100644 --- a/exporter/sematextexporter/README.md +++ b/exporter/sematextexporter/README.md @@ -3,12 +3,11 @@ | Status | | | ------------- |-----------| | Stability | [development]: metrics, logs | -| Distributions | [contrib] | +| Distributions | [] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fsematext%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fsematext) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fsematext%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fsematext) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@AkhigbeEromo](https://www.github.com/AkhigbeEromo), [@boratanrikulu](https://www.github.com/boratanrikulu), [@akshatagarwl](https://www.github.com/akshatagarwl) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@AkhigbeEromo](https://www.github.com/AkhigbeEromo) | [development]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#development -[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib This exporter supports sending metrics to [Sematext Cloud](https://sematext.com/) in Influx line protocol format and logs using the Bulk Index Api format. @@ -20,20 +19,21 @@ The following configuration options are supported: * `region` Region specifies the Sematext region the user is operating in; must be one of: * `US` * `EU` +* `retry_on_failure` [details here](https://github.com/open-telemetry/opentelemetry-collector/blob/v0.25.0/exporter/exporterhelper/README.md#configuration) + * `enabled` (default = true) + * `initial_interval` (default = 5s) Time to wait after the first failure before retrying + * `max_interval` (default = 30s) Upper bound on backoff interval + * `max_elapsed_time` (default = 120s) Maximum amount of time (including retries) spent trying to send a request/batch * `metrics.app_token` specifies the token of the Sematext Monitoring App to which metrics data will be sent. It must be a valid UUID string in the format `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. For example: `2046e37c-4fac-45f6-831d-922d43fde759`. * `logs.app_token` specifies the token of the Sematext Logs App to which logs data will be sent. It must be a valid UUID string in the format `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. For example: `9604e37c-49ac-49f6-831d-922d43fde759`. -* `payload_max_lines` (default = 1_000) Maximum number of lines allowed per HTTP POST request -* `payload_max_bytes` (default = 300_000) Maximum number of bytes allowed per HTTP POST request -* `metrics_schema` (default = telegraf-prometheus-v2) The chosen metrics schema to write -* `sending_queue` [details here](https://github.com/open-telemetry/opentelemetry-collector/blob/v0.25.0/exporter/exporterhelper/README.md#configuration) +* `metrics.payload_max_lines` (default = 1_000) Maximum number of lines allowed per HTTP POST request +* `metrics.payload_max_bytes` (default = 300_000) Maximum number of bytes allowed per HTTP POST request +* `metrics.metrics_schema` (default = telegraf-prometheus-v2) The chosen metrics schema to write +* `metrics.sending_queue` [details here](https://github.com/open-telemetry/opentelemetry-collector/blob/v0.25.0/exporter/exporterhelper/README.md#configuration) * `enabled` (default = true) * `num_consumers` (default = 10) The number of consumers from the queue * `queue_size` (default = 1000) Maximum number of batches allowed in queue at a given time -* `retry_on_failure` [details here](https://github.com/open-telemetry/opentelemetry-collector/blob/v0.25.0/exporter/exporterhelper/README.md#configuration) - * `enabled` (default = true) - * `initial_interval` (default = 5s) Time to wait after the first failure before retrying - * `max_interval` (default = 30s) Upper bound on backoff interval - * `max_elapsed_time` (default = 120s) Maximum amount of time (including retries) spent trying to send a request/batch + The full list of settings exposed for this exporter are documented in [config.go](config.go). diff --git a/exporter/sematextexporter/config.go b/exporter/sematextexporter/config.go index 7d82f21c0243..055ec20fcaf0 100644 --- a/exporter/sematextexporter/config.go +++ b/exporter/sematextexporter/config.go @@ -3,83 +3,4 @@ package sematextexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sematextexporter" -import ( - "fmt" - "regexp" - "strings" - - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configretry" - "go.opentelemetry.io/collector/exporter/exporterhelper" -) - -const ( - euRegion = "eu" - usRegion = "us" - euMetricsEndpoint = "https://spm-receiver.eu.sematext.com" - euLogsEndpoint = "https://logsene-receiver.eu.sematext.com" - usMetricsEndpoint = "https://spm-receiver.sematext.com" - usLogsEndpoint = "https://logsene-receiver.sematext.com" -) - -type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - // Region specifies the Sematext region the user is operating in - // Options: - // - EU - // - US - Region string `mapstructure:"region"` - // MetricsConfig defines the configuration specific to metrics - MetricsConfig `mapstructure:"metrics"` - // LogsConfig defines the configuration specific to logs - LogsConfig `mapstructure:"logs"` -} - -type MetricsConfig struct { - // App token is the token of Sematext Monitoring App to which you want to send the metrics. - AppToken string `mapstructure:"app_token"` - // MetricsEndpoint specifies the endpoint for receiving metrics in Sematext - MetricsEndpoint string `mapstructure:"metrics_endpoint"` - QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` - // MetricsSchema indicates the metrics schema to emit to line protocol. - // Default: telegraf-prometheus-v2 - MetricsSchema string `mapstructure:"metrics_schema"` - // PayloadMaxLines is the maximum number of line protocol lines to POST in a single request. - PayloadMaxLines int `mapstructure:"payload_max_lines"` - // PayloadMaxBytes is the maximum number of line protocol bytes to POST in a single request. - PayloadMaxBytes int `mapstructure:"payload_max_bytes"` -} -type LogsConfig struct { - // App token is the token of Sematext Logs App to which you want to send the logs. - AppToken string `mapstructure:"app_token"` - // LogsEndpoint specifies the endpoint for receiving logs in Sematext - LogsEndpoint string `mapstructure:"logs_endpoint"` -} - -// Validate checks for invalid or missing entries in the configuration. -func (cfg *Config) Validate() error { - if strings.ToLower(cfg.Region) != euRegion && strings.ToLower(cfg.Region) != usRegion { - return fmt.Errorf("invalid region: %s. please use either 'EU' or 'US'", cfg.Region) - } - if !isValidUUID(cfg.MetricsConfig.AppToken) { - return fmt.Errorf("invalid metrics app_token: %s. app_token is not a valid UUID", cfg.MetricsConfig.AppToken) - } - if !isValidUUID(cfg.LogsConfig.AppToken) { - return fmt.Errorf("invalid logs app_token: %s. app_token is not a valid UUID", cfg.LogsConfig.AppToken) - } - if strings.ToLower(cfg.Region) == euRegion { - cfg.MetricsEndpoint = euMetricsEndpoint - cfg.LogsEndpoint = euLogsEndpoint - } - if strings.ToLower(cfg.Region) == usRegion { - cfg.MetricsEndpoint = usMetricsEndpoint - cfg.LogsEndpoint = usLogsEndpoint - } - - return nil -} -func isValidUUID(uuid string) bool { - const uuidPattern = `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` - return regexp.MustCompile(uuidPattern).MatchString(strings.ToLower(uuid)) -} +type Config struct{} diff --git a/exporter/sematextexporter/config_test.go b/exporter/sematextexporter/config_test.go deleted file mode 100644 index 8a0d7ea36d7c..000000000000 --- a/exporter/sematextexporter/config_test.go +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package sematextexporter - -import ( - "os" - "path/filepath" - "strings" - "testing" - "time" - - "github.com/cenkalti/backoff/v4" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configretry" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/exporter/exporterhelper" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sematextexporter/internal/metadata" -) - -func TestLoadConfig(t *testing.T) { - t.Parallel() - - content, err := os.ReadFile(filepath.Join("testdata", "config.yaml")) - require.NoError(t, err) - - contentStr := strings.ReplaceAll(string(content), "", metricsAppToken) - contentStr = strings.ReplaceAll(contentStr, "", logsAppToken) - - tmpConfigPath := filepath.Join("testdata", "config_tmp.yaml") - err = os.WriteFile(tmpConfigPath, []byte(contentStr), 0600) - require.NoError(t, err) - defer os.Remove(tmpConfigPath) - cm, err := confmaptest.LoadConf(tmpConfigPath) - require.NoError(t, err) - tests := []struct { - id component.ID - expected component.Config - }{ - { - id: component.NewIDWithName(metadata.Type, "default-config"), - expected: createDefaultConfig(), - }, - { - id: component.NewIDWithName(metadata.Type, "override-config"), - expected: &Config{ - ClientConfig: confighttp.ClientConfig{ - Timeout: 500 * time.Millisecond, - Headers: map[string]configopaque.String{"User-Agent": "OpenTelemetry -> Sematext"}, - }, - MetricsConfig: MetricsConfig{ - MetricsEndpoint: usMetricsEndpoint, - QueueSettings: exporterhelper.QueueConfig{ - Enabled: true, - NumConsumers: 3, - QueueSize: 10, - }, - AppToken: metricsAppToken, - MetricsSchema: "telegraf-prometheus-v2", - PayloadMaxLines: 72, - PayloadMaxBytes: 27, - }, - LogsConfig: LogsConfig{ - AppToken: logsAppToken, - LogsEndpoint: usLogsEndpoint, - }, - - BackOffConfig: configretry.BackOffConfig{ - Enabled: true, - InitialInterval: 1 * time.Second, - MaxInterval: 3 * time.Second, - MaxElapsedTime: 10 * time.Second, - RandomizationFactor: backoff.DefaultRandomizationFactor, - Multiplier: backoff.DefaultMultiplier, - }, - Region: usRegion, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.id.String(), func(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - sub, err := cm.Sub(tt.id.String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - assert.NoError(t, component.ValidateConfig(cfg)) - assert.Equal(t, tt.expected, cfg) - }) - } -} -func TestConfigValidation(t *testing.T) { - tests := []struct { - name string - config *Config - expectError bool - }{ - { - name: "Valid configuration 1", - config: &Config{ - Region: usRegion, - MetricsConfig: MetricsConfig{ - AppToken: metricsAppToken, - }, - LogsConfig: LogsConfig{ - AppToken: logsAppToken, - }, - }, - expectError: false, - }, - { - name: "Valid configuration 2", - config: &Config{ - Region: euRegion, - MetricsConfig: MetricsConfig{ - AppToken: metricsAppToken, - }, - LogsConfig: LogsConfig{ - AppToken: logsAppToken, - }, - }, - expectError: false, - }, - { - name: "Invalid region", - config: &Config{ - Region: "ASIA", - MetricsConfig: MetricsConfig{ - AppToken: metricsAppToken, - }, - LogsConfig: LogsConfig{ - AppToken: logsAppToken, - }, - }, - expectError: true, - }, - { - name: "Invalid metrics AppToken", - config: &Config{ - Region: usRegion, - MetricsConfig: MetricsConfig{ - AppToken: "short-token", - }, - LogsConfig: LogsConfig{ - AppToken: logsAppToken, - }, - }, - expectError: true, - }, - { - name: "Invalid logs AppToken", - config: &Config{ - Region: euRegion, - MetricsConfig: MetricsConfig{ - AppToken: metricsAppToken, - }, - LogsConfig: LogsConfig{ - AppToken: "short-token", - }, - }, - expectError: true, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.config.Validate() - if tt.expectError { - assert.Error(t, err, "Expected an error for invalid configuration") - } else { - assert.NoError(t, err, "Expected no error for valid configuration") - } - }) - } -} diff --git a/exporter/sematextexporter/factory.go b/exporter/sematextexporter/factory.go index c2048c18e69f..66c8fad98ed9 100644 --- a/exporter/sematextexporter/factory.go +++ b/exporter/sematextexporter/factory.go @@ -7,14 +7,8 @@ package sematextexporter // import "github.com/open-telemetry/opentelemetry-coll import ( "context" - "time" - "github.com/google/uuid" - "github.com/influxdata/influxdb-observability/common" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" "go.opentelemetry.io/collector/pdata/plog" @@ -23,9 +17,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sematextexporter/internal/metadata" ) -var metricsAppToken = uuid.NewString() -var logsAppToken = uuid.NewString() - // NewFactory creates a factory for the Sematext metrics exporter. func NewFactory() exporter.Factory { return exporter.NewFactory( @@ -37,28 +28,7 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { - cfg := &Config{ - ClientConfig: confighttp.ClientConfig{ - Timeout: 5 * time.Second, - Headers: map[string]configopaque.String{ - "User-Agent": "OpenTelemetry -> Sematext", - }, - }, - MetricsConfig: MetricsConfig{ - MetricsEndpoint: usMetricsEndpoint, - MetricsSchema: common.MetricsSchemaTelegrafPrometheusV2.String(), - AppToken: metricsAppToken, - QueueSettings: exporterhelper.NewDefaultQueueConfig(), - PayloadMaxLines: 1_000, - PayloadMaxBytes: 300_000, - }, - LogsConfig: LogsConfig{ - LogsEndpoint: usLogsEndpoint, - AppToken: logsAppToken, - }, - BackOffConfig: configretry.NewDefaultBackOffConfig(), - Region: usRegion, - } + cfg := &Config{} return cfg } diff --git a/exporter/sematextexporter/go.mod b/exporter/sematextexporter/go.mod index 5e1a9e7b9d98..722872caa831 100644 --- a/exporter/sematextexporter/go.mod +++ b/exporter/sematextexporter/go.mod @@ -3,14 +3,8 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/semate go 1.22.0 require ( - github.com/cenkalti/backoff/v4 v4.3.0 - github.com/google/uuid v1.6.0 - github.com/influxdata/influxdb-observability/common v0.5.12 github.com/stretchr/testify v1.9.0 go.opentelemetry.io/collector/component v0.112.0 - go.opentelemetry.io/collector/config/confighttp v0.112.0 - go.opentelemetry.io/collector/config/configopaque v1.18.0 - go.opentelemetry.io/collector/config/configretry v1.18.0 go.opentelemetry.io/collector/confmap v1.18.0 go.opentelemetry.io/collector/exporter v0.112.0 go.opentelemetry.io/collector/exporter/exportertest v0.112.0 @@ -19,16 +13,14 @@ require ( ) require ( + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/snappy v0.0.4 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -36,29 +28,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector/client v1.18.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect - go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect - go.opentelemetry.io/collector/config/internal v0.112.0 // indirect go.opentelemetry.io/collector/consumer v0.112.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect go.opentelemetry.io/collector/extension v0.112.0 // indirect - go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect go.opentelemetry.io/collector/pipeline v0.112.0 // indirect go.opentelemetry.io/collector/receiver v0.112.0 // indirect go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect - go.opentelemetry.io/collector/semconv v0.112.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect go.opentelemetry.io/otel v1.31.0 // indirect go.opentelemetry.io/otel/metric v1.31.0 // indirect go.opentelemetry.io/otel/sdk v1.31.0 // indirect diff --git a/exporter/sematextexporter/go.sum b/exporter/sematextexporter/go.sum index eff182c771d4..29308dfa2e65 100644 --- a/exporter/sematextexporter/go.sum +++ b/exporter/sematextexporter/go.sum @@ -3,10 +3,6 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -16,21 +12,15 @@ github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIx github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/influxdata/influxdb-observability/common v0.5.12 h1:4YwZ+vsodz6VfoiX+ZqVotmnyCa9vCCPksSBK/WLjBs= -github.com/influxdata/influxdb-observability/common v0.5.12/go.mod h1:u+CABnGO/F1IK51pDlZQroh4+igJNo695XrbLGDBhVc= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -50,40 +40,22 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= -github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= -go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= -go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= -go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= -go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= -go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= -go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= -go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= -go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= -go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= -go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= -go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= @@ -102,8 +74,6 @@ go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePp go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= -go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= -go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= @@ -118,10 +88,6 @@ go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHW go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= -go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= -go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE=