From adb3a8549ed4a2ebf96eef8b74a7a4bc4cf0ea63 Mon Sep 17 00:00:00 2001 From: Vineeth Pothulapati Date: Mon, 13 Sep 2021 17:33:14 +0530 Subject: [PATCH] Add aws xray receiver (#421) --- pkg/collector/parser/receiver_aws-xray.go | 34 +++++++++++++++++++ .../parser/receiver_aws-xray_test.go | 17 ++++++++++ pkg/collector/parser/receiver_generic_test.go | 1 + 3 files changed, 52 insertions(+) create mode 100644 pkg/collector/parser/receiver_aws-xray.go create mode 100644 pkg/collector/parser/receiver_aws-xray_test.go diff --git a/pkg/collector/parser/receiver_aws-xray.go b/pkg/collector/parser/receiver_aws-xray.go new file mode 100644 index 0000000000..6d8f92c7bb --- /dev/null +++ b/pkg/collector/parser/receiver_aws-xray.go @@ -0,0 +1,34 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package parser + +import "github.com/go-logr/logr" + +const parserNameAWSXRAY = "__awsxray" + +// NewAWSXrayReceiverParser builds a new parser for AWS xray receivers, from the contrib repository. +func NewAWSXrayReceiverParser(logger logr.Logger, name string, config map[interface{}]interface{}) ReceiverParser { + return &GenericReceiver{ + logger: logger, + name: name, + config: config, + defaultPort: 2000, + parserName: parserNameAWSXRAY, + } +} + +func init() { + Register("awsxray", NewAWSXrayReceiverParser) +} diff --git a/pkg/collector/parser/receiver_aws-xray_test.go b/pkg/collector/parser/receiver_aws-xray_test.go new file mode 100644 index 0000000000..bbd752f080 --- /dev/null +++ b/pkg/collector/parser/receiver_aws-xray_test.go @@ -0,0 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package parser + +// all tests for the AWS XRAY parser are currently part of the test TestDownstreamParsers diff --git a/pkg/collector/parser/receiver_generic_test.go b/pkg/collector/parser/receiver_generic_test.go index 0bb6b845b3..7c0766dd68 100644 --- a/pkg/collector/parser/receiver_generic_test.go +++ b/pkg/collector/parser/receiver_generic_test.go @@ -79,6 +79,7 @@ func TestDownstreamParsers(t *testing.T) { {"statsd", "statsd", "__statsd", 8125, parser.NewStatsdReceiverParser}, {"influxdb", "influxdb", "__influxdb", 8086, parser.NewInfluxdbReceiverParser}, {"splunk-hec", "splunk-hec", "__splunk_hec", 8088, parser.NewSplunkHecReceiverParser}, + {"awsxray", "awsxray", "__awsxray", 2000, parser.NewAWSXrayReceiverParser}, } { t.Run(tt.receiverName, func(t *testing.T) { t.Run("builds successfully", func(t *testing.T) {