From 42001aabe567c2a3676bb704bf34a778dcc81a78 Mon Sep 17 00:00:00 2001 From: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com> Date: Tue, 3 Sep 2024 12:52:56 -0600 Subject: [PATCH] Remove logging exporter --- .chloggen/remove-logging-exporter.yaml | 25 +++ Makefile | 2 - cmd/builder/internal/config/default.yaml | 1 - cmd/builder/test/core.builder.yaml | 1 - cmd/otelcorecol/builder-config.yaml | 2 - cmd/otelcorecol/components.go | 3 - cmd/otelcorecol/go.mod | 3 - component/config_test.go | 1 - connector/forwardconnector/README.md | 2 +- exporter/debugexporter/README.md | 2 +- exporter/debugexporter/config.go | 4 +- exporter/debugexporter/exporter.go | 4 - exporter/loggingexporter/Makefile | 1 - exporter/loggingexporter/README.md | 52 ----- exporter/loggingexporter/config.go | 94 --------- exporter/loggingexporter/config_test.go | 181 ------------------ exporter/loggingexporter/doc.go | 7 - exporter/loggingexporter/factory.go | 80 -------- exporter/loggingexporter/factory_test.go | 49 ----- .../generated_component_test.go | 151 --------------- .../loggingexporter/generated_package_test.go | 13 -- exporter/loggingexporter/go.mod | 103 ---------- exporter/loggingexporter/go.sum | 110 ----------- .../internal/metadata/generated_status.go | 18 -- exporter/loggingexporter/metadata.yaml | 8 - .../testdata/config_loglevel.yaml | 3 - .../testdata/config_loglevel_typo.yaml | 2 - .../testdata/config_verbosity.yaml | 3 - .../testdata/invalid_verbosity_loglevel.yaml | 2 - .../testdata/loglevel_info.yaml | 1 - versions.yaml | 1 - 31 files changed, 29 insertions(+), 900 deletions(-) create mode 100644 .chloggen/remove-logging-exporter.yaml delete mode 100644 exporter/loggingexporter/Makefile delete mode 100644 exporter/loggingexporter/README.md delete mode 100644 exporter/loggingexporter/config.go delete mode 100644 exporter/loggingexporter/config_test.go delete mode 100644 exporter/loggingexporter/doc.go delete mode 100644 exporter/loggingexporter/factory.go delete mode 100644 exporter/loggingexporter/factory_test.go delete mode 100644 exporter/loggingexporter/generated_component_test.go delete mode 100644 exporter/loggingexporter/generated_package_test.go delete mode 100644 exporter/loggingexporter/go.mod delete mode 100644 exporter/loggingexporter/go.sum delete mode 100644 exporter/loggingexporter/internal/metadata/generated_status.go delete mode 100644 exporter/loggingexporter/metadata.yaml delete mode 100644 exporter/loggingexporter/testdata/config_loglevel.yaml delete mode 100644 exporter/loggingexporter/testdata/config_loglevel_typo.yaml delete mode 100644 exporter/loggingexporter/testdata/config_verbosity.yaml delete mode 100644 exporter/loggingexporter/testdata/invalid_verbosity_loglevel.yaml delete mode 100644 exporter/loggingexporter/testdata/loglevel_info.yaml diff --git a/.chloggen/remove-logging-exporter.yaml b/.chloggen/remove-logging-exporter.yaml new file mode 100644 index 00000000000..9de89981bf1 --- /dev/null +++ b/.chloggen/remove-logging-exporter.yaml @@ -0,0 +1,25 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) +component: loggingexporter + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Removed the deprecated logging exporter. Use the debug exporter instead. + +# One or more tracking issues or pull requests related to the change +issues: [11037] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/Makefile b/Makefile index 58b0335e895..c4694a2a4fa 100644 --- a/Makefile +++ b/Makefile @@ -291,7 +291,6 @@ check-contrib: -replace go.opentelemetry.io/collector/exporter=$(CURDIR)/exporter \ -replace go.opentelemetry.io/collector/exporter/debugexporter=$(CURDIR)/exporter/debugexporter \ -replace go.opentelemetry.io/collector/exporter/exporterprofiles=$(CURDIR)/exporter/exporterprofiles \ - -replace go.opentelemetry.io/collector/exporter/loggingexporter=$(CURDIR)/exporter/loggingexporter \ -replace go.opentelemetry.io/collector/exporter/nopexporter=$(CURDIR)/exporter/nopexporter \ -replace go.opentelemetry.io/collector/exporter/otlpexporter=$(CURDIR)/exporter/otlpexporter \ -replace go.opentelemetry.io/collector/exporter/otlphttpexporter=$(CURDIR)/exporter/otlphttpexporter \ @@ -361,7 +360,6 @@ restore-contrib: -dropreplace go.opentelemetry.io/collector/consumer/consumertest \ -dropreplace go.opentelemetry.io/collector/exporter \ -dropreplace go.opentelemetry.io/collector/exporter/debugexporter \ - -dropreplace go.opentelemetry.io/collector/exporter/loggingexporter \ -dropreplace go.opentelemetry.io/collector/exporter/nopexporter \ -dropreplace go.opentelemetry.io/collector/exporter/otlpexporter \ -dropreplace go.opentelemetry.io/collector/exporter/otlphttpexporter \ diff --git a/cmd/builder/internal/config/default.yaml b/cmd/builder/internal/config/default.yaml index d7b7a011acd..3e3f2483d70 100644 --- a/cmd/builder/internal/config/default.yaml +++ b/cmd/builder/internal/config/default.yaml @@ -18,7 +18,6 @@ receivers: - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.110.0 exporters: - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.110.0 - - gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.110.0 diff --git a/cmd/builder/test/core.builder.yaml b/cmd/builder/test/core.builder.yaml index e6aab6c3c6b..b9b7b03166b 100644 --- a/cmd/builder/test/core.builder.yaml +++ b/cmd/builder/test/core.builder.yaml @@ -40,7 +40,6 @@ replaces: - go.opentelemetry.io/collector/connector/connectorprofiles => ${WORKSPACE_DIR}/connector/connectorprofiles - go.opentelemetry.io/collector/exporter => ${WORKSPACE_DIR}/exporter - go.opentelemetry.io/collector/exporter/debugexporter => ${WORKSPACE_DIR}/exporter/debugexporter - - go.opentelemetry.io/collector/exporter/loggingexporter => ${WORKSPACE_DIR}/exporter/loggingexporter - go.opentelemetry.io/collector/exporter/exporterprofiles => ${WORKSPACE_DIR}/exporter/exporterprofiles - go.opentelemetry.io/collector/extension => ${WORKSPACE_DIR}/extension - go.opentelemetry.io/collector/extension/auth => ${WORKSPACE_DIR}/extension/auth diff --git a/cmd/otelcorecol/builder-config.yaml b/cmd/otelcorecol/builder-config.yaml index e3f58c89e34..defb0612a0c 100644 --- a/cmd/otelcorecol/builder-config.yaml +++ b/cmd/otelcorecol/builder-config.yaml @@ -18,7 +18,6 @@ receivers: - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.110.0 exporters: - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.110.0 - - gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.110.0 - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.110.0 @@ -72,7 +71,6 @@ replaces: - go.opentelemetry.io/collector/exporter => ../../exporter - go.opentelemetry.io/collector/exporter/debugexporter => ../../exporter/debugexporter - go.opentelemetry.io/collector/exporter/exporterprofiles => ../../exporter/exporterprofiles - - go.opentelemetry.io/collector/exporter/loggingexporter => ../../exporter/loggingexporter - go.opentelemetry.io/collector/exporter/nopexporter => ../../exporter/nopexporter - go.opentelemetry.io/collector/exporter/otlpexporter => ../../exporter/otlpexporter - go.opentelemetry.io/collector/exporter/otlphttpexporter => ../../exporter/otlphttpexporter diff --git a/cmd/otelcorecol/components.go b/cmd/otelcorecol/components.go index aa0858060ef..c5901f2beef 100644 --- a/cmd/otelcorecol/components.go +++ b/cmd/otelcorecol/components.go @@ -8,7 +8,6 @@ import ( forwardconnector "go.opentelemetry.io/collector/connector/forwardconnector" "go.opentelemetry.io/collector/exporter" debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" - loggingexporter "go.opentelemetry.io/collector/exporter/loggingexporter" nopexporter "go.opentelemetry.io/collector/exporter/nopexporter" otlpexporter "go.opentelemetry.io/collector/exporter/otlpexporter" otlphttpexporter "go.opentelemetry.io/collector/exporter/otlphttpexporter" @@ -52,7 +51,6 @@ func components() (otelcol.Factories, error) { factories.Exporters, err = exporter.MakeFactoryMap( debugexporter.NewFactory(), - loggingexporter.NewFactory(), nopexporter.NewFactory(), otlpexporter.NewFactory(), otlphttpexporter.NewFactory(), @@ -62,7 +60,6 @@ func components() (otelcol.Factories, error) { } factories.ExporterModules = make(map[component.Type]string, len(factories.Exporters)) factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.110.0" - factories.ExporterModules[loggingexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/loggingexporter v0.110.0" factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.110.0" factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.110.0" factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.110.0" diff --git a/cmd/otelcorecol/go.mod b/cmd/otelcorecol/go.mod index 0854c01ffad..1425c1251f5 100644 --- a/cmd/otelcorecol/go.mod +++ b/cmd/otelcorecol/go.mod @@ -18,7 +18,6 @@ require ( go.opentelemetry.io/collector/connector/forwardconnector v0.110.0 go.opentelemetry.io/collector/exporter v0.110.0 go.opentelemetry.io/collector/exporter/debugexporter v0.110.0 - go.opentelemetry.io/collector/exporter/loggingexporter v0.110.0 go.opentelemetry.io/collector/exporter/nopexporter v0.110.0 go.opentelemetry.io/collector/exporter/otlpexporter v0.110.0 go.opentelemetry.io/collector/exporter/otlphttpexporter v0.110.0 @@ -214,8 +213,6 @@ replace go.opentelemetry.io/collector/exporter/debugexporter => ../../exporter/d replace go.opentelemetry.io/collector/exporter/exporterprofiles => ../../exporter/exporterprofiles -replace go.opentelemetry.io/collector/exporter/loggingexporter => ../../exporter/loggingexporter - replace go.opentelemetry.io/collector/exporter/nopexporter => ../../exporter/nopexporter replace go.opentelemetry.io/collector/exporter/otlpexporter => ../../exporter/otlpexporter diff --git a/component/config_test.go b/component/config_test.go index afdbc61b06e..9e6daa0f618 100644 --- a/component/config_test.go +++ b/component/config_test.go @@ -306,7 +306,6 @@ func TestNewType(t *testing.T) { {name: "kinetica"}, {name: "kubeletstats"}, {name: "loadbalancing"}, - {name: "logging"}, {name: "logicmonitor"}, {name: "logstransform"}, {name: "logzio"}, diff --git a/connector/forwardconnector/README.md b/connector/forwardconnector/README.md index bf71e5785d8..413b87a7464 100644 --- a/connector/forwardconnector/README.md +++ b/connector/forwardconnector/README.md @@ -129,7 +129,7 @@ service: # - forward # traces/log: # receivers: [forward] - # exporters: [logging] + # exporters: [debug] ``` [Connectors README]:../README.md diff --git a/exporter/debugexporter/README.md b/exporter/debugexporter/README.md index 9b581eea46f..d9cb1304b39 100644 --- a/exporter/debugexporter/README.md +++ b/exporter/debugexporter/README.md @@ -24,7 +24,7 @@ See also the [Troubleshooting][troubleshooting_docs] document for examples on us The following settings are optional: -- `verbosity` (default = `basic`): the verbosity of the logging export +- `verbosity` (default = `basic`): the verbosity of the debug exporter (detailed|normal|basic). When set to `detailed`, pipeline data is verbosely logged. - `sampling_initial` (default = `2`): number of messages initially logged each diff --git a/exporter/debugexporter/config.go b/exporter/debugexporter/config.go index 2ebd85e78ab..3ddf8434dfa 100644 --- a/exporter/debugexporter/config.go +++ b/exporter/debugexporter/config.go @@ -20,9 +20,9 @@ var ( } ) -// Config defines configuration for logging exporter. +// Config defines configuration for debug exporter. type Config struct { - // Verbosity defines the logging exporter verbosity. + // Verbosity defines the debug exporter verbosity. Verbosity configtelemetry.Level `mapstructure:"verbosity,omitempty"` // SamplingInitial defines how many samples are initially logged during each second. diff --git a/exporter/debugexporter/exporter.go b/exporter/debugexporter/exporter.go index 324cd19935c..2df9edf7a6f 100644 --- a/exporter/debugexporter/exporter.go +++ b/exporter/debugexporter/exporter.go @@ -1,10 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// NOTE: If you are making changes to this file, consider whether you want to make similar changes -// to the Logging exporter in /exporter/internal/common/logging_exporter.go, which has similar logic. -// This is especially important for security issues. - package debugexporter // import "go.opentelemetry.io/collector/exporter/debugexporter" import ( diff --git a/exporter/loggingexporter/Makefile b/exporter/loggingexporter/Makefile deleted file mode 100644 index ded7a36092d..00000000000 --- a/exporter/loggingexporter/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../Makefile.Common diff --git a/exporter/loggingexporter/README.md b/exporter/loggingexporter/README.md deleted file mode 100644 index 685e1264e28..00000000000 --- a/exporter/loggingexporter/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Logging Exporter - - -| Status | | -| ------------- |-----------| -| Stability | [deprecated]: traces, metrics, logs | -| Distributions | [core], [contrib] | -| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Flogging%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Flogging) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Flogging%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Flogging) | - -[deprecated]: https://github.com/open-telemetry/opentelemetry-collector#deprecated -[core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol -[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib - - -This exporter is being deprecated in favour of the [debug exporter]. It will be removed in September 2024. - -Exports data to the console via zap.Logger. - -Supported pipeline types: traces, metrics, logs - -## Getting Started - -The following settings are optional: - -- `loglevel` (default = `info`): the log level of the logging export - (debug|info|warn|error). When set to `debug`, pipeline data is verbosely - logged. - - **Note**: This option has been deprecated in favor of `verbosity` -- `verbosity` (default = `normal`): the verbosity of the logging export - (detailed|normal|basic). When set to `detailed`, pipeline data is verbosely - logged. -- `sampling_initial` (default = `2`): number of messages initially logged each - second. -- `sampling_thereafter` (default = `500`): sampling rate after the initial - messages are logged (every Mth message is logged). Refer to [Zap - docs](https://godoc.org/go.uber.org/zap/zapcore#NewSampler) for more details - on how sampling parameters impact number of messages. - -### Note -`loglevel` is deprecated, use `verbosity` instead. - -Example: - -```yaml -exporters: - logging: - verbosity: detailed - sampling_initial: 5 - sampling_thereafter: 200 -``` - -[debug exporter]: ../debugexporter/README.md diff --git a/exporter/loggingexporter/config.go b/exporter/loggingexporter/config.go deleted file mode 100644 index d35cdd6fa4d..00000000000 --- a/exporter/loggingexporter/config.go +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package loggingexporter // import "go.opentelemetry.io/collector/exporter/loggingexporter" - -import ( - "fmt" - - "go.uber.org/zap/zapcore" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/confmap" -) - -var ( - // supportedLevels in this exporter's configuration. - // configtelemetry.LevelNone and other future values are not supported. - supportedLevels map[configtelemetry.Level]struct{} = map[configtelemetry.Level]struct{}{ - configtelemetry.LevelBasic: {}, - configtelemetry.LevelNormal: {}, - configtelemetry.LevelDetailed: {}, - } -) - -// Config defines configuration for logging exporter. -type Config struct { - // LogLevel defines log level of the logging exporter; options are debug, info, warn, error. - // Deprecated: Use `Verbosity` instead. - LogLevel zapcore.Level `mapstructure:"loglevel,omitempty"` - - // Verbosity defines the logging exporter verbosity. - Verbosity configtelemetry.Level `mapstructure:"verbosity,omitempty"` - - // SamplingInitial defines how many samples are initially logged during each second. - SamplingInitial int `mapstructure:"sampling_initial"` - - // SamplingThereafter defines the sampling rate after the initial samples are logged. - SamplingThereafter int `mapstructure:"sampling_thereafter"` - - // warnLogLevel is set on unmarshaling to warn users about `loglevel` usage. - warnLogLevel bool -} - -var _ component.Config = (*Config)(nil) -var _ confmap.Unmarshaler = (*Config)(nil) - -func mapLevel(level zapcore.Level) (configtelemetry.Level, error) { - switch level { - case zapcore.DebugLevel: - return configtelemetry.LevelDetailed, nil - case zapcore.InfoLevel: - return configtelemetry.LevelNormal, nil - case zapcore.WarnLevel, zapcore.ErrorLevel, - zapcore.DPanicLevel, zapcore.PanicLevel, zapcore.FatalLevel: - // Anything above info is mapped to 'basic' level. - return configtelemetry.LevelBasic, nil - default: - return configtelemetry.LevelNone, fmt.Errorf("log level %q is not supported", level) - } -} - -func (cfg *Config) Unmarshal(conf *confmap.Conf) error { - if conf.IsSet("loglevel") && conf.IsSet("verbosity") { - return fmt.Errorf("'loglevel' and 'verbosity' are incompatible. Use only 'verbosity' instead") - } - - if err := conf.Unmarshal(cfg); err != nil { - return err - } - - if conf.IsSet("loglevel") { - verbosity, err := mapLevel(cfg.LogLevel) - if err != nil { - return fmt.Errorf("failed to map 'loglevel': %w", err) - } - - // 'verbosity' is unset but 'loglevel' is set. - // Override default verbosity. - cfg.Verbosity = verbosity - cfg.warnLogLevel = true - } - - return nil -} - -// Validate checks if the exporter configuration is valid -func (cfg *Config) Validate() error { - if _, ok := supportedLevels[cfg.Verbosity]; !ok { - return fmt.Errorf("verbosity level %q is not supported", cfg.Verbosity) - } - - return nil -} diff --git a/exporter/loggingexporter/config_test.go b/exporter/loggingexporter/config_test.go deleted file mode 100644 index 6280113f981..00000000000 --- a/exporter/loggingexporter/config_test.go +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package loggingexporter - -import ( - "path/filepath" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.uber.org/zap/zapcore" - - "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/confmap/confmaptest" -) - -func TestUnmarshalDefaultConfig(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - require.NoError(t, confmap.New().Unmarshal(&cfg)) - assert.Equal(t, factory.CreateDefaultConfig(), cfg) -} - -func TestUnmarshalConfig(t *testing.T) { - tests := []struct { - filename string - cfg *Config - expectedErr string - }{ - { - filename: "config_loglevel.yaml", - cfg: &Config{ - LogLevel: zapcore.DebugLevel, - Verbosity: configtelemetry.LevelDetailed, - SamplingInitial: 10, - SamplingThereafter: 50, - warnLogLevel: true, - }, - }, - { - filename: "config_verbosity.yaml", - cfg: &Config{ - LogLevel: zapcore.InfoLevel, - Verbosity: configtelemetry.LevelDetailed, - SamplingInitial: 10, - SamplingThereafter: 50, - }, - }, - { - filename: "loglevel_info.yaml", - cfg: &Config{ - LogLevel: zapcore.InfoLevel, - Verbosity: configtelemetry.LevelNormal, - SamplingInitial: 2, - SamplingThereafter: 500, - warnLogLevel: true, - }, - }, - { - filename: "invalid_verbosity_loglevel.yaml", - expectedErr: "'loglevel' and 'verbosity' are incompatible. Use only 'verbosity' instead", - }, - { - filename: "config_loglevel_typo.yaml", - expectedErr: "'' has invalid keys: logLevel", - }, - } - - for _, tt := range tests { - t.Run(tt.filename, func(t *testing.T) { - cm, err := confmaptest.LoadConf(filepath.Join("testdata", tt.filename)) - require.NoError(t, err) - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - err = cm.Unmarshal(&cfg) - if tt.expectedErr != "" { - assert.ErrorContains(t, err, tt.expectedErr) - } else { - require.NoError(t, err) - assert.Equal(t, tt.cfg, cfg) - } - }) - } -} - -func Test_UnmarshalMarshalled(t *testing.T) { - for name, tc := range map[string]struct { - inCfg *Config - expectedConfig *Config - expectedErr string - }{ - "Base": { - inCfg: &Config{}, - expectedConfig: &Config{}, - }, - "VerbositySpecified": { - inCfg: &Config{ - Verbosity: configtelemetry.LevelDetailed, - }, - expectedConfig: &Config{ - Verbosity: configtelemetry.LevelDetailed, - }, - }, - "LogLevelSpecified": { - inCfg: &Config{ - LogLevel: zapcore.DebugLevel, - }, - expectedConfig: &Config{ - LogLevel: zapcore.DebugLevel, - Verbosity: configtelemetry.LevelDetailed, - warnLogLevel: true, - }, - }, - "SpecifiedLogLevelExpectedErr": { - inCfg: &Config{ - // Cannot specify both log level and verbosity so an error is expected - LogLevel: zapcore.DebugLevel, - Verbosity: configtelemetry.LevelNormal, - }, - expectedErr: "'loglevel' and 'verbosity' are incompatible. Use only 'verbosity' instead", - }, - } { - t.Run(name, func(t *testing.T) { - - conf := confmap.New() - err := conf.Marshal(tc.inCfg) - require.NoError(t, err) - - raw := conf.ToStringMap() - - conf = confmap.NewFromStringMap(raw) - - outCfg := &Config{} - - err = conf.Unmarshal(outCfg) - - if tc.expectedErr == "" { - require.NoError(t, err) - assert.Equal(t, tc.expectedConfig, outCfg) - return - } - require.Error(t, err) - assert.EqualError(t, err, tc.expectedErr) - }) - } -} - -func TestValidate(t *testing.T) { - tests := []struct { - name string - cfg *Config - expectedErr string - }{ - { - name: "verbosity none", - cfg: &Config{ - Verbosity: configtelemetry.LevelNone, - }, - expectedErr: "verbosity level \"None\" is not supported", - }, - { - name: "verbosity detailed", - cfg: &Config{ - Verbosity: configtelemetry.LevelDetailed, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.cfg.Validate() - if tt.expectedErr != "" { - assert.EqualError(t, err, tt.expectedErr) - } else { - assert.NoError(t, err) - } - }) - } -} diff --git a/exporter/loggingexporter/doc.go b/exporter/loggingexporter/doc.go deleted file mode 100644 index 3a5c01850d9..00000000000 --- a/exporter/loggingexporter/doc.go +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -//go:generate mdatagen metadata.yaml - -// Package loggingexporter exports data to console as logs. -package loggingexporter // import "go.opentelemetry.io/collector/exporter/loggingexporter" diff --git a/exporter/loggingexporter/factory.go b/exporter/loggingexporter/factory.go deleted file mode 100644 index c19d7e16ac6..00000000000 --- a/exporter/loggingexporter/factory.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package loggingexporter // import "go.opentelemetry.io/collector/exporter/loggingexporter" - -import ( - "context" - - "go.uber.org/zap/zapcore" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/internal/common" - "go.opentelemetry.io/collector/exporter/loggingexporter/internal/metadata" -) - -// The value of "type" key in configuration. -var componentType = component.MustNewType("logging") - -const ( - defaultSamplingInitial = 2 - defaultSamplingThereafter = 500 -) - -// NewFactory creates a factory for Logging exporter -func NewFactory() exporter.Factory { - return exporter.NewFactory( - componentType, - createDefaultConfig, - exporter.WithTraces(createTracesExporter, metadata.TracesStability), - exporter.WithMetrics(createMetricsExporter, metadata.MetricsStability), - exporter.WithLogs(createLogsExporter, metadata.LogsStability), - ) -} - -func createDefaultConfig() component.Config { - return &Config{ - LogLevel: zapcore.InfoLevel, - Verbosity: configtelemetry.LevelNormal, - SamplingInitial: defaultSamplingInitial, - SamplingThereafter: defaultSamplingThereafter, - } -} - -func createTracesExporter(ctx context.Context, set exporter.Settings, config component.Config) (exporter.Traces, error) { - set.TelemetrySettings.Logger.Warn("The logging exporter is DEPRECATED and will be REMOVED in v0.111.0. Use the debug exporter instead: https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter") - cfg := config.(*Config) - return common.CreateTracesExporter(ctx, set, config, &common.Common{ - Verbosity: cfg.Verbosity, - WarnLogLevel: cfg.warnLogLevel, - LogLevel: cfg.LogLevel, - SamplingInitial: cfg.SamplingInitial, - SamplingThereafter: cfg.SamplingThereafter, - }) -} - -func createMetricsExporter(ctx context.Context, set exporter.Settings, config component.Config) (exporter.Metrics, error) { - set.TelemetrySettings.Logger.Warn("The logging exporter is DEPRECATED and will be REMOVED in v0.111.0. Use the debug exporter instead: https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter") - cfg := config.(*Config) - return common.CreateMetricsExporter(ctx, set, config, &common.Common{ - Verbosity: cfg.Verbosity, - WarnLogLevel: cfg.warnLogLevel, - LogLevel: cfg.LogLevel, - SamplingInitial: cfg.SamplingInitial, - SamplingThereafter: cfg.SamplingThereafter, - }) -} - -func createLogsExporter(ctx context.Context, set exporter.Settings, config component.Config) (exporter.Logs, error) { - set.TelemetrySettings.Logger.Warn("The logging exporter is DEPRECATED and will be REMOVED in v0.111.0. Use the debug exporter instead: https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter") - cfg := config.(*Config) - return common.CreateLogsExporter(ctx, set, config, &common.Common{ - Verbosity: cfg.Verbosity, - WarnLogLevel: cfg.warnLogLevel, - LogLevel: cfg.LogLevel, - SamplingInitial: cfg.SamplingInitial, - SamplingThereafter: cfg.SamplingThereafter, - }) -} diff --git a/exporter/loggingexporter/factory_test.go b/exporter/loggingexporter/factory_test.go deleted file mode 100644 index 2b35acddf3c..00000000000 --- a/exporter/loggingexporter/factory_test.go +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package loggingexporter - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/exporter/exportertest" -) - -func TestCreateDefaultConfig(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - assert.NotNil(t, cfg, "failed to create default config") - assert.NoError(t, componenttest.CheckConfigStruct(cfg)) -} - -func TestCreateMetricsExporter(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - me, err := factory.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - assert.NotNil(t, me) -} - -func TestCreateTracesExporter(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - te, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - assert.NotNil(t, te) -} - -func TestCreateLogsExporter(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - te, err := factory.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - assert.NotNil(t, te) -} diff --git a/exporter/loggingexporter/generated_component_test.go b/exporter/loggingexporter/generated_component_test.go deleted file mode 100644 index be058ef46c5..00000000000 --- a/exporter/loggingexporter/generated_component_test.go +++ /dev/null @@ -1,151 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package loggingexporter - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/require" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -func TestComponentFactoryType(t *testing.T) { - require.Equal(t, "logging", NewFactory().Type().String()) -} - -func TestComponentConfigStruct(t *testing.T) { - require.NoError(t, componenttest.CheckConfigStruct(NewFactory().CreateDefaultConfig())) -} - -func TestComponentLifecycle(t *testing.T) { - factory := NewFactory() - - tests := []struct { - name string - createFn func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) - }{ - - { - name: "logs", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) - }, - }, - - { - name: "metrics", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) - }, - }, - - { - name: "traces", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) - }, - }, - } - - cm, err := confmaptest.LoadConf("metadata.yaml") - require.NoError(t, err) - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub("tests::config") - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(&cfg)) - - for _, tt := range tests { - t.Run(tt.name+"-shutdown", func(t *testing.T) { - c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - t.Run(tt.name+"-lifecycle", func(t *testing.T) { - c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - host := componenttest.NewNopHost() - err = c.Start(context.Background(), host) - require.NoError(t, err) - require.NotPanics(t, func() { - switch tt.name { - case "logs": - e, ok := c.(exporter.Logs) - require.True(t, ok) - logs := generateLifecycleTestLogs() - if !e.Capabilities().MutatesData { - logs.MarkReadOnly() - } - err = e.ConsumeLogs(context.Background(), logs) - case "metrics": - e, ok := c.(exporter.Metrics) - require.True(t, ok) - metrics := generateLifecycleTestMetrics() - if !e.Capabilities().MutatesData { - metrics.MarkReadOnly() - } - err = e.ConsumeMetrics(context.Background(), metrics) - case "traces": - e, ok := c.(exporter.Traces) - require.True(t, ok) - traces := generateLifecycleTestTraces() - if !e.Capabilities().MutatesData { - traces.MarkReadOnly() - } - err = e.ConsumeTraces(context.Background(), traces) - } - }) - - require.NoError(t, err) - - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - } -} - -func generateLifecycleTestLogs() plog.Logs { - logs := plog.NewLogs() - rl := logs.ResourceLogs().AppendEmpty() - rl.Resource().Attributes().PutStr("resource", "R1") - l := rl.ScopeLogs().AppendEmpty().LogRecords().AppendEmpty() - l.Body().SetStr("test log message") - l.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return logs -} - -func generateLifecycleTestMetrics() pmetric.Metrics { - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("resource", "R1") - m := rm.ScopeMetrics().AppendEmpty().Metrics().AppendEmpty() - m.SetName("test_metric") - dp := m.SetEmptyGauge().DataPoints().AppendEmpty() - dp.Attributes().PutStr("test_attr", "value_1") - dp.SetIntValue(123) - dp.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return metrics -} - -func generateLifecycleTestTraces() ptrace.Traces { - traces := ptrace.NewTraces() - rs := traces.ResourceSpans().AppendEmpty() - rs.Resource().Attributes().PutStr("resource", "R1") - span := rs.ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutStr("test_attr", "value_1") - span.SetName("test_span") - span.SetStartTimestamp(pcommon.NewTimestampFromTime(time.Now().Add(-1 * time.Second))) - span.SetEndTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return traces -} diff --git a/exporter/loggingexporter/generated_package_test.go b/exporter/loggingexporter/generated_package_test.go deleted file mode 100644 index 14eb697fde5..00000000000 --- a/exporter/loggingexporter/generated_package_test.go +++ /dev/null @@ -1,13 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package loggingexporter - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/exporter/loggingexporter/go.mod b/exporter/loggingexporter/go.mod deleted file mode 100644 index fdb97d7d3eb..00000000000 --- a/exporter/loggingexporter/go.mod +++ /dev/null @@ -1,103 +0,0 @@ -// Deprecated: loggingexporter is deprecated in favour of the debugexporter. It will be removed in September 2024. -module go.opentelemetry.io/collector/exporter/loggingexporter - -go 1.22.0 - -require ( - github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.110.0 - go.opentelemetry.io/collector/config/configtelemetry v0.110.0 - go.opentelemetry.io/collector/confmap v1.16.0 - go.opentelemetry.io/collector/exporter v0.110.0 - go.opentelemetry.io/collector/pdata v1.16.0 - go.uber.org/goleak v1.3.0 - go.uber.org/zap v1.27.0 -) - -require ( - github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/davecgh/go-spew v1.1.1 // 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.1.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/json-iterator/go v1.1.12 // 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 - github.com/mitchellh/copystructure v1.2.0 // indirect - 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/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.110.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.16.0 // indirect - go.opentelemetry.io/collector/consumer v0.110.0 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.110.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.110.0 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.110.0 // indirect - go.opentelemetry.io/collector/extension v0.110.0 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.110.0 // indirect - go.opentelemetry.io/collector/internal/globalsignal v0.110.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.110.0 // indirect - go.opentelemetry.io/collector/pipeline v0.110.0 // indirect - go.opentelemetry.io/collector/receiver v0.110.0 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.110.0 // indirect - go.opentelemetry.io/otel v1.30.0 // indirect - go.opentelemetry.io/otel/metric v1.30.0 // indirect - go.opentelemetry.io/otel/sdk v1.30.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.30.0 // indirect - go.opentelemetry.io/otel/trace v1.30.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.67.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) - -replace go.opentelemetry.io/collector/component => ../../component - -replace go.opentelemetry.io/collector/confmap => ../../confmap - -replace go.opentelemetry.io/collector/consumer => ../../consumer - -replace go.opentelemetry.io/collector/exporter => ../ - -replace go.opentelemetry.io/collector/extension => ../../extension - -replace go.opentelemetry.io/collector/extension/experimental/storage => ../../extension/experimental/storage - -replace go.opentelemetry.io/collector/pdata => ../../pdata - -replace go.opentelemetry.io/collector/pdata/testdata => ../../pdata/testdata - -replace go.opentelemetry.io/collector/receiver => ../../receiver - -retract ( - v0.76.0 // Depends on retracted pdata v1.0.0-rc10 module, use v0.76.1 - v0.69.0 // Release failed, use v0.69.1 -) - -replace go.opentelemetry.io/collector/config/configtelemetry => ../../config/configtelemetry - -replace go.opentelemetry.io/collector/config/configretry => ../../config/configretry - -replace go.opentelemetry.io/collector/pdata/pprofile => ../../pdata/pprofile - -replace go.opentelemetry.io/collector/consumer/consumerprofiles => ../../consumer/consumerprofiles - -replace go.opentelemetry.io/collector/consumer/consumertest => ../../consumer/consumertest - -replace go.opentelemetry.io/collector/receiver/receiverprofiles => ../../receiver/receiverprofiles - -replace go.opentelemetry.io/collector/exporter/exporterprofiles => ../exporterprofiles - -replace go.opentelemetry.io/collector/pipeline => ../../pipeline - -replace go.opentelemetry.io/collector/internal/globalsignal => ../../internal/globalsignal - -replace go.opentelemetry.io/collector/component/componentprofiles => ../../component/componentprofiles diff --git a/exporter/loggingexporter/go.sum b/exporter/loggingexporter/go.sum deleted file mode 100644 index 5df87556447..00000000000 --- a/exporter/loggingexporter/go.sum +++ /dev/null @@ -1,110 +0,0 @@ -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -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/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= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/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/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/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/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= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -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/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.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -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/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= -go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= -go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= -go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= -go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE= -go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg= -go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM= -go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y= -go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= -go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw= -google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/exporter/loggingexporter/internal/metadata/generated_status.go b/exporter/loggingexporter/internal/metadata/generated_status.go deleted file mode 100644 index 7c415b23aae..00000000000 --- a/exporter/loggingexporter/internal/metadata/generated_status.go +++ /dev/null @@ -1,18 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package metadata - -import ( - "go.opentelemetry.io/collector/component" -) - -var ( - Type = component.MustNewType("logging") - ScopeName = "go.opentelemetry.io/collector/exporter/loggingexporter" -) - -const ( - TracesStability = component.StabilityLevelDeprecated - MetricsStability = component.StabilityLevelDeprecated - LogsStability = component.StabilityLevelDeprecated -) diff --git a/exporter/loggingexporter/metadata.yaml b/exporter/loggingexporter/metadata.yaml deleted file mode 100644 index 135c1749611..00000000000 --- a/exporter/loggingexporter/metadata.yaml +++ /dev/null @@ -1,8 +0,0 @@ -type: logging -github_project: open-telemetry/opentelemetry-collector - -status: - class: exporter - stability: - deprecated: [traces, metrics, logs] - distributions: [core, contrib] diff --git a/exporter/loggingexporter/testdata/config_loglevel.yaml b/exporter/loggingexporter/testdata/config_loglevel.yaml deleted file mode 100644 index ffe8a0df593..00000000000 --- a/exporter/loggingexporter/testdata/config_loglevel.yaml +++ /dev/null @@ -1,3 +0,0 @@ -loglevel: debug -sampling_initial: 10 -sampling_thereafter: 50 diff --git a/exporter/loggingexporter/testdata/config_loglevel_typo.yaml b/exporter/loggingexporter/testdata/config_loglevel_typo.yaml deleted file mode 100644 index 59222127eb7..00000000000 --- a/exporter/loggingexporter/testdata/config_loglevel_typo.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# Typo in the configuration that assumes that this property is camelcase -logLevel: debug diff --git a/exporter/loggingexporter/testdata/config_verbosity.yaml b/exporter/loggingexporter/testdata/config_verbosity.yaml deleted file mode 100644 index 4ea62997627..00000000000 --- a/exporter/loggingexporter/testdata/config_verbosity.yaml +++ /dev/null @@ -1,3 +0,0 @@ -verbosity: detailed -sampling_initial: 10 -sampling_thereafter: 50 diff --git a/exporter/loggingexporter/testdata/invalid_verbosity_loglevel.yaml b/exporter/loggingexporter/testdata/invalid_verbosity_loglevel.yaml deleted file mode 100644 index 37f8f16b24f..00000000000 --- a/exporter/loggingexporter/testdata/invalid_verbosity_loglevel.yaml +++ /dev/null @@ -1,2 +0,0 @@ -loglevel: info -verbosity: detailed diff --git a/exporter/loggingexporter/testdata/loglevel_info.yaml b/exporter/loggingexporter/testdata/loglevel_info.yaml deleted file mode 100644 index 63506faefb4..00000000000 --- a/exporter/loggingexporter/testdata/loglevel_info.yaml +++ /dev/null @@ -1 +0,0 @@ -loglevel: info diff --git a/versions.yaml b/versions.yaml index bb9e7900eda..af01d6fa4c6 100644 --- a/versions.yaml +++ b/versions.yaml @@ -45,7 +45,6 @@ module-sets: - go.opentelemetry.io/collector/exporter - go.opentelemetry.io/collector/exporter/debugexporter - go.opentelemetry.io/collector/exporter/exporterprofiles - - go.opentelemetry.io/collector/exporter/loggingexporter - go.opentelemetry.io/collector/exporter/nopexporter - go.opentelemetry.io/collector/exporter/otlpexporter - go.opentelemetry.io/collector/exporter/otlphttpexporter