Skip to content

Commit

Permalink
[opencensus] Add NewRelic (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
evalphobia committed Oct 30, 2019
1 parent 5596017 commit 2145d9f
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions platform/opencensus/newrelic/exporter.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package newrelic

import (
"context"

"github.com/newrelic/newrelic-opencensus-exporter-go/nrcensus"
"github.com/newrelic/newrelic-telemetry-sdk-go/telemetry"
"go.opencensus.io/trace"
)

// Exporter is NewRelic trace client.
type Exporter struct {
Exporter *nrcensus.Exporter
}

// NewExporter returns initialized *Exporter.
func NewExporter(serviceName, apiKey string, options ...func(*telemetry.Config)) (*Exporter, error) {
exp, err := nrcensus.NewExporter(serviceName, apiKey, options...)
if err != nil {
return nil, err
}
trace.RegisterExporter(exp)

return &Exporter{
Exporter: exp,
}, nil
}

// Flush waits for exported data to be uploaded.
func (e *Exporter) Flush() {
e.flush()
}

// Close closes client.
func (e *Exporter) Close() {
e.flush()
}

func (e *Exporter) flush() {
if h, ok := e.Exporter.Harvester.(*telemetry.Harvester); ok {
h.HarvestNow(context.Background())
}
}

0 comments on commit 2145d9f

Please sign in to comment.