Skip to content

Commit

Permalink
fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
dashpole committed Jul 28, 2023
1 parent 837e615 commit 60e82cc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
9 changes: 9 additions & 0 deletions bridge/opencensus/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,13 @@
// - Conversion of custom OpenCensus Samplers to OpenTelemetry is not
// implemented. An error will be sent to the OpenTelemetry default
// ErrorHandler if this is attempted.
//
// For Push Metric exporters:
//
// reader := metric.NewPeriodicReader(opencensus.NewMetricExporter(exporter))
//
// For Prometheus Metric exporters:
//
// exporter := prometheus.NewExporter()
// exporter.Reader = opencensus.NewMetricReader()
package opencensus // import "go.opentelemetry.io/otel/bridge/opencensus"
29 changes: 11 additions & 18 deletions bridge/opencensus/metric.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,47 +31,40 @@ const scopeName = "go.opentelemetry.io/otel/bridge/opencensus"

// NewMetricExporter returns an OpenTelemetry exporter that adds metrics from OpenCensus
// before exporting to the base OpenTelemetry exporter.
//
// Usage:
//
// reader := metric.NewPeriodicReader(opencensus.NewMetricExporter(exporter))
func NewMetricExporter(base metric.Exporter) *exporter {
return &exporter{
func NewMetricExporter(base metric.Exporter) *Exporter {
return &Exporter{
Exporter: base,
}
}

// exporter wraps an OpenTelemetry exporter and adds OpenCensus metrics to it.
type exporter struct {
// Exporter wraps an OpenTelemetry exporter and adds OpenCensus metrics to it.
type Exporter struct {
metric.Exporter
}

// Export exports a batch of metrics from the OpenTelemetry SDK, and adds
// metrics from OpenCensus prior to exporting.
func (e *exporter) Export(ctx context.Context, sdkMetrics *metricdata.ResourceMetrics) error {
func (e *Exporter) Export(ctx context.Context, sdkMetrics *metricdata.ResourceMetrics) error {
appendOpenCensusMetrics(sdkMetrics)
return e.Exporter.Export(ctx, sdkMetrics)
}

// NewMetricReader wraps an existing metric reader, but overrides the Collect
// function to insert metrics from OpenCensus.
//
// Usage:
//
// exporter := prometheus.NewExporter()
// exporter.Reader = opencensus.NewMetricReader()
func NewMetricReader(opts ...metric.ManualReaderOption) *reader {
return &reader{
func NewMetricReader(opts ...metric.ManualReaderOption) *Reader {
return &Reader{
Reader: metric.NewManualReader(opts...),
}
}

type reader struct {
// Reader wraps a metric.Reader, and adds metrics from OpenCensus when Collect
// is invoked.
type Reader struct {
metric.Reader
}

// Override the collect function with one that inserts metrics from OpenCensus.
func (r *reader) Collect(ctx context.Context, sdkMetrics *metricdata.ResourceMetrics) error {
func (r *Reader) Collect(ctx context.Context, sdkMetrics *metricdata.ResourceMetrics) error {
// Collect metrics from the OTel SDK
err := r.Reader.Collect(ctx, sdkMetrics)
if err != nil {
Expand Down

0 comments on commit 60e82cc

Please sign in to comment.