-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create Jaeger OTEL agent component (#2216)
* Create Jaeger OTEL agent component Signed-off-by: Pavol Loffay <ploffay@redhat.com> * Remove hc override Signed-off-by: Pavol Loffay <ploffay@redhat.com> * remove panic Signed-off-by: Pavol Loffay <ploffay@redhat.com> * Add comments Signed-off-by: Pavol Loffay <ploffay@redhat.com> * Use cmd subdir Signed-off-by: Pavol Loffay <ploffay@redhat.com> * Add receiver to xdock agent Signed-off-by: Pavol Loffay <ploffay@redhat.com> * Review comments Signed-off-by: Pavol Loffay <ploffay@redhat.com>
- Loading branch information
1 parent
423105e
commit 0ac47f6
Showing
16 changed files
with
366 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
77 changes: 77 additions & 0 deletions
77
cmd/opentelemetry-collector/app/exporter/jaegerexporter/jaeger_exporter.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
// Copyright (c) 2020 The Jaeger 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 jaegerexporter | ||
|
||
import ( | ||
"context" | ||
|
||
"github.com/open-telemetry/opentelemetry-collector/component" | ||
"github.com/open-telemetry/opentelemetry-collector/config/configmodels" | ||
"github.com/open-telemetry/opentelemetry-collector/exporter/jaegerexporter" | ||
"github.com/spf13/viper" | ||
|
||
"github.com/jaegertracing/jaeger/cmd/agent/app/reporter/grpc" | ||
) | ||
|
||
// Factory wraps jaegerexporter.Factory and makes the default config configurable via viper. | ||
// For instance this enables using flags as default values in the config object. | ||
type Factory struct { | ||
// Wrapped is Jaeger receiver. | ||
Wrapped *jaegerexporter.Factory | ||
// Viper is used to get configuration values for default configuration | ||
Viper *viper.Viper | ||
} | ||
|
||
var _ component.ExporterFactory = (*Factory)(nil) | ||
|
||
// Type returns the type of the exporter. | ||
func (f Factory) Type() configmodels.Type { | ||
return f.Wrapped.Type() | ||
} | ||
|
||
// CreateDefaultConfig returns default configuration of Factory. | ||
// This function implements OTEL component.ExporterFactoryBase interface. | ||
func (f Factory) CreateDefaultConfig() configmodels.Exporter { | ||
repCfg := grpc.ConnBuilder{} | ||
repCfg.InitFromViper(f.Viper) | ||
cfg := f.Wrapped.CreateDefaultConfig().(*jaegerexporter.Config) | ||
if len(repCfg.CollectorHostPorts) > 0 { | ||
cfg.Endpoint = repCfg.CollectorHostPorts[0] | ||
} | ||
cfg.GRPCSettings.UseSecure = repCfg.TLS.Enabled | ||
cfg.GRPCSettings.CertPemFile = repCfg.TLS.CertPath | ||
cfg.GRPCSettings.ServerNameOverride = repCfg.TLS.ServerName | ||
return cfg | ||
} | ||
|
||
// CreateTraceExporter creates Jaeger trace exporter. | ||
// This function implements OTEL component.ExporterFactory interface. | ||
func (f Factory) CreateTraceExporter( | ||
ctx context.Context, | ||
params component.ExporterCreateParams, | ||
cfg configmodels.Exporter, | ||
) (component.TraceExporter, error) { | ||
return f.Wrapped.CreateTraceExporter(ctx, params, cfg) | ||
} | ||
|
||
// CreateMetricsExporter creates a metrics exporter based on provided config. | ||
// This function implements component.ExporterFactory. | ||
func (f Factory) CreateMetricsExporter( | ||
ctx context.Context, | ||
params component.ExporterCreateParams, | ||
cfg configmodels.Exporter, | ||
) (component.MetricsExporter, error) { | ||
return f.Wrapped.CreateMetricsExporter(ctx, params, cfg) | ||
} |
Oops, something went wrong.