Skip to content

Commit

Permalink
Add Marshaling implementations for exporters (#2578)
Browse files Browse the repository at this point in the history
* Add Marshaling implementations for exporters

* Changelog

* Fix changelog

Co-authored-by: Aaron Clawson <MadVikingGod@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
  • Loading branch information
3 people committed Feb 25, 2022
1 parent 76bff3f commit a1fff3c
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

If the provided environment variables are invalid (negative), the default values would be used.
- Rename the `gc` runtime name to `go` (#2560)
- Log the Exporters configuration in the TracerProviders message. (#2578)

### Changed

Expand Down
9 changes: 9 additions & 0 deletions exporters/jaeger/jaeger.go
Expand Up @@ -123,6 +123,15 @@ func (e *Exporter) Shutdown(ctx context.Context) error {
return e.uploader.shutdown(ctx)
}

// MarshalLog is the marshaling function used by the logging system to represent this exporter.
func (e *Exporter) MarshalLog() interface{} {
return struct {
Type string
}{
Type: "jaeger",
}
}

func spanToThrift(ss sdktrace.ReadOnlySpan) *gen.Span {
attr := ss.Attributes()
tags := make([]*gen.Tag, 0, len(attr))
Expand Down
11 changes: 11 additions & 0 deletions exporters/otlp/otlptrace/exporter.go
Expand Up @@ -100,3 +100,14 @@ func NewUnstarted(client Client) *Exporter {
client: client,
}
}

// MarshalLog is the marshaling function used by the logging system to represent this exporter.
func (e *Exporter) MarshalLog() interface{} {
return struct {
Type string
Client Client
}{
Type: "otlptrace",
Client: e.client,
}
}
11 changes: 11 additions & 0 deletions exporters/otlp/otlptrace/otlptracegrpc/client.go
Expand Up @@ -273,3 +273,14 @@ func throttleDelay(status *status.Status) time.Duration {
}
return 0
}

// MarshalLog is the marshaling function used by the logging system to represent this Client.
func (c *client) MarshalLog() interface{} {
return struct {
Type string
Endpoint string
}{
Type: "otlphttpgrpc",
Endpoint: c.endpoint,
}
}
13 changes: 13 additions & 0 deletions exporters/otlp/otlptrace/otlptracehttp/client.go
Expand Up @@ -222,6 +222,19 @@ func (d *client) newRequest(body []byte) (request, error) {
return req, nil
}

// MarshalLog is the marshaling function used by the logging system to represent this Client.
func (d *client) MarshalLog() interface{} {
return struct {
Type string
Endpoint string
Insecure bool
}{
Type: "otlphttphttp",
Endpoint: d.cfg.Endpoint,
Insecure: d.cfg.Insecure,
}
}

// bodyReader returns a closure returning a new reader for buf.
func bodyReader(buf []byte) func() io.ReadCloser {
return func() io.ReadCloser {
Expand Down
11 changes: 11 additions & 0 deletions exporters/zipkin/zipkin.go
Expand Up @@ -180,3 +180,14 @@ func (e *Exporter) errf(format string, args ...interface{}) error {
e.logf(format, args...)
return fmt.Errorf(format, args...)
}

// MarshalLog is the marshaling function used by the logging system to represent this exporter.
func (e *Exporter) MarshalLog() interface{} {
return struct {
Type string
URL string
}{
Type: "zipkin",
URL: e.url,
}
}
2 changes: 1 addition & 1 deletion sdk/trace/simple_span_processor.go
Expand Up @@ -116,7 +116,7 @@ func (ssp *simpleSpanProcessor) ForceFlush(context.Context) error {
return nil
}

// MarshalLog is the marshaling function used by the logging system to represent this exporter.
// MarshalLog is the marshaling function used by the logging system to represent this Span Processor.
func (ssp *simpleSpanProcessor) MarshalLog() interface{} {
return struct {
Type string
Expand Down

0 comments on commit a1fff3c

Please sign in to comment.