42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
// ------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
// ------------------------------------------------------------
|
|
|
|
package stringexporter
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"github.com/dapr/components-contrib/exporters"
|
|
"go.opencensus.io/trace"
|
|
)
|
|
|
|
// Metadata is the string exporter config
|
|
type Metadata struct {
|
|
Buffer *string
|
|
}
|
|
|
|
// NewStringExporter returns a new string exporter instance
|
|
func NewStringExporter() *Exporter {
|
|
return &Exporter{}
|
|
}
|
|
|
|
// Exporter is an OpenCensus string exporter
|
|
type Exporter struct {
|
|
Buffer *string
|
|
}
|
|
|
|
// ExportSpan exports span content to the buffer
|
|
func (se *Exporter) ExportSpan(sd *trace.SpanData) {
|
|
*se.Buffer = strconv.Itoa(int(sd.Status.Code))
|
|
}
|
|
|
|
// Init creates a new string exporter endpoint and reporter
|
|
func (se *Exporter) Init(daprID string, hostAddress string, metadata exporters.Metadata) error {
|
|
se.Buffer = metadata.Buffer
|
|
trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()})
|
|
trace.RegisterExporter(se)
|
|
return nil
|
|
}
|