diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7529422f2a4e..dc2612d4c3b1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,6 +45,7 @@ extension/observer/ @open-telemetry/collector-contrib-app internal/awsxray/ @open-telemetry/collector-contrib-approvers @anuraaga @mxiamxia internal/k8sconfig/ @open-telemetry/collector-contrib-approvers @pmcollins @asuresh4 internal/splunk/ @open-telemetry/collector-contrib-approvers @pmcollins @asuresh4 +internal/stanza/ @open-telemetry/collector-contrib-approvers @djaglowski pkg/batchpertrace/ @open-telemetry/collector-contrib-approvers @jpkrohling @@ -71,7 +72,7 @@ receiver/sapmreceiver/ @open-telemetry/collector-contrib-app receiver/signalfxreceiver/ @open-telemetry/collector-contrib-approvers @pjanotti @asuresh4 receiver/simpleprometheusreceiver/ @open-telemetry/collector-contrib-approvers @asuresh4 receiver/splunkhecreceiver/ @open-telemetry/collector-contrib-approvers @atoulme @keitwb -receiver/stanzareceiver/ @open-telemetry/collector-contrib-approvers @djaglowski +receiver/filelogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/statsdreceiver/ @open-telemetry/collector-contrib-approvers @keitwb @jmacd receiver/wavefrontreceiver/ @open-telemetry/collector-contrib-approvers @pjanotti receiver/windowsperfcountersreceiver/ @open-telemetry/collector-contrib-approvers @dashpole diff --git a/go.mod b/go.mod index c37fe055b878..5488fc43b41e 100644 --- a/go.mod +++ b/go.mod @@ -73,6 +73,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sco replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/awsxray => ./internal/awsxray +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza => ./internal/stanza + replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter => ./exporter/alibabacloudlogserviceexporter replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsprometheusremotewriteexporter => ./exporter/awsprometheusremotewriteexporter @@ -167,8 +169,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxre replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver => ./receiver/zookeeperreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stanzareceiver => ./receiver/stanzareceiver - replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver => ./receiver/filelogreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver => ./receiver/memcachedreceiver diff --git a/receiver/stanzareceiver/Makefile b/internal/stanza/Makefile similarity index 100% rename from receiver/stanzareceiver/Makefile rename to internal/stanza/Makefile diff --git a/receiver/stanzareceiver/config.go b/internal/stanza/config.go similarity index 98% rename from receiver/stanzareceiver/config.go rename to internal/stanza/config.go index 87428d557b6f..954dae8bd922 100644 --- a/receiver/stanzareceiver/config.go +++ b/internal/stanza/config.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "github.com/open-telemetry/opentelemetry-log-collection/operator" diff --git a/receiver/stanzareceiver/converter.go b/internal/stanza/converter.go similarity index 99% rename from receiver/stanzareceiver/converter.go rename to internal/stanza/converter.go index 175c6e991dd3..97ebb8808b65 100644 --- a/receiver/stanzareceiver/converter.go +++ b/internal/stanza/converter.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "fmt" diff --git a/receiver/stanzareceiver/converter_test.go b/internal/stanza/converter_test.go similarity index 99% rename from receiver/stanzareceiver/converter_test.go rename to internal/stanza/converter_test.go index 318077cf5cdd..672f39963675 100644 --- a/receiver/stanzareceiver/converter_test.go +++ b/internal/stanza/converter_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "fmt" diff --git a/receiver/stanzareceiver/emitter.go b/internal/stanza/emitter.go similarity index 98% rename from receiver/stanzareceiver/emitter.go rename to internal/stanza/emitter.go index 7254b5b4c8bc..01ae05d68f96 100644 --- a/receiver/stanzareceiver/emitter.go +++ b/internal/stanza/emitter.go @@ -1,5 +1,3 @@ -package stanzareceiver - // Copyright The OpenTelemetry Authors // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,6 +12,8 @@ package stanzareceiver // See the License for the specific language governing permissions and // limitations under the License. +package stanza + import ( "context" "sync" diff --git a/receiver/stanzareceiver/emitter_test.go b/internal/stanza/emitter_test.go similarity index 98% rename from receiver/stanzareceiver/emitter_test.go rename to internal/stanza/emitter_test.go index a8d429a078ae..5e29992bf00d 100644 --- a/receiver/stanzareceiver/emitter_test.go +++ b/internal/stanza/emitter_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "context" diff --git a/receiver/stanzareceiver/factory.go b/internal/stanza/factory.go similarity index 98% rename from receiver/stanzareceiver/factory.go rename to internal/stanza/factory.go index e0e456162e54..9c4e1b67fbc8 100644 --- a/receiver/stanzareceiver/factory.go +++ b/internal/stanza/factory.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "context" @@ -71,7 +71,7 @@ func createLogsReceiver(logReceiverType LogReceiverType) receiverhelper.CreateLo return nil, err } - return &stanzareceiver{ + return &receiver{ agent: logAgent, emitter: emitter, consumer: nextConsumer, diff --git a/receiver/stanzareceiver/factory_test.go b/internal/stanza/factory_test.go similarity index 99% rename from receiver/stanzareceiver/factory_test.go rename to internal/stanza/factory_test.go index cc04f429664a..583e58951c96 100644 --- a/receiver/stanzareceiver/factory_test.go +++ b/internal/stanza/factory_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "context" diff --git a/receiver/stanzareceiver/go.mod b/internal/stanza/go.mod similarity index 92% rename from receiver/stanzareceiver/go.mod rename to internal/stanza/go.mod index 53f8527b1b92..47ddf73d1c23 100644 --- a/receiver/stanzareceiver/go.mod +++ b/internal/stanza/go.mod @@ -1,4 +1,4 @@ -module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stanzareceiver +module github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza go 1.14 diff --git a/receiver/stanzareceiver/go.sum b/internal/stanza/go.sum similarity index 100% rename from receiver/stanzareceiver/go.sum rename to internal/stanza/go.sum diff --git a/receiver/stanzareceiver/mocks_test.go b/internal/stanza/mocks_test.go similarity index 99% rename from receiver/stanzareceiver/mocks_test.go rename to internal/stanza/mocks_test.go index 355907419085..2d0cde931fb6 100644 --- a/receiver/stanzareceiver/mocks_test.go +++ b/internal/stanza/mocks_test.go @@ -1,5 +1,3 @@ -package stanzareceiver - // Copyright The OpenTelemetry Authors // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,6 +12,8 @@ package stanzareceiver // See the License for the specific language governing permissions and // limitations under the License. +package stanza + import ( "context" "fmt" diff --git a/receiver/stanzareceiver/receiver.go b/internal/stanza/receiver.go similarity index 85% rename from receiver/stanzareceiver/receiver.go rename to internal/stanza/receiver.go index 0f1d2f41ed96..c909ecbb5b64 100644 --- a/receiver/stanzareceiver/receiver.go +++ b/internal/stanza/receiver.go @@ -12,38 +12,38 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "context" "fmt" "sync" - stanza "github.com/open-telemetry/opentelemetry-log-collection/agent" + "github.com/open-telemetry/opentelemetry-log-collection/agent" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenterror" "go.opentelemetry.io/collector/consumer" "go.uber.org/zap" ) -type stanzareceiver struct { +type receiver struct { sync.Mutex startOnce sync.Once stopOnce sync.Once wg sync.WaitGroup cancel context.CancelFunc - agent *stanza.LogAgent + agent *agent.LogAgent emitter *LogEmitter consumer consumer.LogsConsumer logger *zap.Logger } // Ensure this receiver adheres to required interface -var _ component.LogsReceiver = (*stanzareceiver)(nil) +var _ component.LogsReceiver = (*receiver)(nil) // Start tells the receiver to start -func (r *stanzareceiver) Start(ctx context.Context, host component.Host) error { +func (r *receiver) Start(ctx context.Context, host component.Host) error { r.Lock() defer r.Unlock() err := componenterror.ErrAlreadyStarted @@ -81,7 +81,7 @@ func (r *stanzareceiver) Start(ctx context.Context, host component.Host) error { } // Shutdown is invoked during service shutdown -func (r *stanzareceiver) Shutdown(context.Context) error { +func (r *receiver) Shutdown(context.Context) error { r.Lock() defer r.Unlock() diff --git a/receiver/stanzareceiver/receiver_test.go b/internal/stanza/receiver_test.go similarity index 87% rename from receiver/stanzareceiver/receiver_test.go rename to internal/stanza/receiver_test.go index 2afcff359ffc..3187d47da5d9 100644 --- a/receiver/stanzareceiver/receiver_test.go +++ b/internal/stanza/receiver_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( "context" @@ -41,15 +41,15 @@ func TestStart(t *testing.T) { factory := NewFactory(TestReceiverType{}) - receiver, err := factory.CreateLogsReceiver(context.Background(), params, factory.CreateDefaultConfig(), &mockConsumer) + logsReceiver, err := factory.CreateLogsReceiver(context.Background(), params, factory.CreateDefaultConfig(), &mockConsumer) require.NoError(t, err, "receiver should successfully build") - err = receiver.Start(context.Background(), componenttest.NewNopHost()) + err = logsReceiver.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err, "receiver start failed") - obsReceiver := receiver.(*stanzareceiver) - obsReceiver.emitter.logChan <- entry.New() - receiver.Shutdown(context.Background()) + stanzaReceiver := logsReceiver.(*receiver) + stanzaReceiver.emitter.logChan <- entry.New() + logsReceiver.Shutdown(context.Background()) require.Equal(t, 1, mockConsumer.received, "one log entry expected") } @@ -78,15 +78,15 @@ func TestHandleConsumeError(t *testing.T) { mockConsumer := mockLogsRejecter{} factory := NewFactory(TestReceiverType{}) - receiver, err := factory.CreateLogsReceiver(context.Background(), params, factory.CreateDefaultConfig(), &mockConsumer) + logsReceiver, err := factory.CreateLogsReceiver(context.Background(), params, factory.CreateDefaultConfig(), &mockConsumer) require.NoError(t, err, "receiver should successfully build") - err = receiver.Start(context.Background(), componenttest.NewNopHost()) + err = logsReceiver.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err, "receiver start failed") - obsReceiver := receiver.(*stanzareceiver) - obsReceiver.emitter.logChan <- entry.New() - receiver.Shutdown(context.Background()) + stanzaReceiver := logsReceiver.(*receiver) + stanzaReceiver.emitter.logChan <- entry.New() + logsReceiver.Shutdown(context.Background()) require.Equal(t, 1, mockConsumer.rejected, "one log entry expected") } diff --git a/receiver/stanzareceiver/register.go b/internal/stanza/register.go similarity index 97% rename from receiver/stanzareceiver/register.go rename to internal/stanza/register.go index bcc9ab55b320..e153a3586959 100644 --- a/receiver/stanzareceiver/register.go +++ b/internal/stanza/register.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package stanzareceiver +package stanza import ( // Register parsers for stanza-based log receivers diff --git a/receiver/filelogreceiver/filelog.go b/receiver/filelogreceiver/filelog.go index 21cbd038247a..c087c3fc3691 100644 --- a/receiver/filelogreceiver/filelog.go +++ b/receiver/filelogreceiver/filelog.go @@ -21,17 +21,17 @@ import ( "go.opentelemetry.io/collector/config/configmodels" "gopkg.in/yaml.v2" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stanzareceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza" ) const typeStr = "filelog" // NewFactory creates a factory for filelog receiver func NewFactory() component.ReceiverFactory { - return stanzareceiver.NewFactory(ReceiverType{}) + return stanza.NewFactory(ReceiverType{}) } -// ReceiverType implements stanzareceiver.LogReceiverType +// ReceiverType implements stanza.LogReceiverType // to create a file tailing receiver type ReceiverType struct{} @@ -46,26 +46,26 @@ func (f ReceiverType) CreateDefaultConfig() configmodels.Receiver { } func createDefaultConfig() *FileLogConfig { return &FileLogConfig{ - BaseConfig: stanzareceiver.BaseConfig{ + BaseConfig: stanza.BaseConfig{ ReceiverSettings: configmodels.ReceiverSettings{ TypeVal: configmodels.Type(typeStr), NameVal: typeStr, }, - Operators: stanzareceiver.OperatorConfigs{}, + Operators: stanza.OperatorConfigs{}, }, - Input: stanzareceiver.InputConfig{}, + Input: stanza.InputConfig{}, } } // BaseConfig gets the base config from config, for now -func (f ReceiverType) BaseConfig(cfg configmodels.Receiver) stanzareceiver.BaseConfig { +func (f ReceiverType) BaseConfig(cfg configmodels.Receiver) stanza.BaseConfig { return cfg.(*FileLogConfig).BaseConfig } // FileLogConfig defines configuration for the filelog receiver type FileLogConfig struct { - stanzareceiver.BaseConfig `mapstructure:",squash"` - Input stanzareceiver.InputConfig `mapstructure:",remain"` + stanza.BaseConfig `mapstructure:",squash"` + Input stanza.InputConfig `mapstructure:",remain"` } // DecodeInputConfig unmarshals the input operator diff --git a/receiver/filelogreceiver/filelog_test.go b/receiver/filelogreceiver/filelog_test.go index 59e06f1e86a7..839e62e20e85 100644 --- a/receiver/filelogreceiver/filelog_test.go +++ b/receiver/filelogreceiver/filelog_test.go @@ -38,7 +38,7 @@ import ( "go.opentelemetry.io/collector/consumer/pdata" "go.uber.org/zap/zaptest" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stanzareceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza" ) func TestDefaultConfig(t *testing.T) { @@ -106,9 +106,9 @@ func TestReadStaticFile(t *testing.T) { e3.AddLabel("file_name", "simple.log") expectedLogs := []pdata.Logs{ - stanzareceiver.Convert(e1), - stanzareceiver.Convert(e2), - stanzareceiver.Convert(e3), + stanza.Convert(e1), + stanza.Convert(e2), + stanza.Convert(e3), } f := NewFactory() @@ -190,7 +190,7 @@ func (rt *rotationTest) Run(t *testing.T) { e := entry.New() e.Timestamp = expectedTimestamp e.Set(entry.NewRecordField("msg"), msg) - expectedLogs[i] = stanzareceiver.Convert(e) + expectedLogs[i] = stanza.Convert(e) } rcvr, err := f.CreateLogsReceiver(context.Background(), params, testdataRotateTestYamlAsMap(tempDir), sink) @@ -253,12 +253,12 @@ func (h *testHost) ReportFatalError(err error) { func testdataConfigYamlAsMap() *FileLogConfig { return &FileLogConfig{ - BaseConfig: stanzareceiver.BaseConfig{ + BaseConfig: stanza.BaseConfig{ ReceiverSettings: configmodels.ReceiverSettings{ TypeVal: "filelog", NameVal: "filelog", }, - Operators: stanzareceiver.OperatorConfigs{ + Operators: stanza.OperatorConfigs{ map[string]interface{}{ "type": "regex_parser", "regex": "^(?P