Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit ddbc64a

Browse files
authored
update PushTraceSpans to return dropped spans instead of good spans. (#251)
* update PushTraceSpans to return dropped spans instead of good spans. fixez #250 * return len(spans) if err is not nil
1 parent ab68e2a commit ddbc64a

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

stackdriver.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,9 +429,10 @@ func (e *Exporter) ExportSpan(sd *trace.SpanData) {
429429
e.traceExporter.ExportSpan(sd)
430430
}
431431

432-
// PushTraceSpans exports a bundle of OpenCensus Spans
432+
// PushTraceSpans exports a bundle of OpenCensus Spans.
433+
// Returns number of dropped spans.
433434
func (e *Exporter) PushTraceSpans(ctx context.Context, node *commonpb.Node, rsc *resourcepb.Resource, spans []*trace.SpanData) (int, error) {
434-
return len(spans), e.traceExporter.pushTraceSpans(ctx, node, rsc, spans)
435+
return e.traceExporter.pushTraceSpans(ctx, node, rsc, spans)
435436
}
436437

437438
func (e *Exporter) sdWithDefaultTraceAttributes(sd *trace.SpanData) *trace.SpanData {

trace.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (e *traceExporter) Flush() {
120120
e.bundler.Flush()
121121
}
122122

123-
func (e *traceExporter) pushTraceSpans(ctx context.Context, node *commonpb.Node, r *resourcepb.Resource, spans []*trace.SpanData) error {
123+
func (e *traceExporter) pushTraceSpans(ctx context.Context, node *commonpb.Node, r *resourcepb.Resource, spans []*trace.SpanData) (int, error) {
124124
ctx, span := trace.StartSpan(
125125
ctx,
126126
"contrib.go.opencensus.io/exporter/stackdriver.PushTraceSpans",
@@ -148,7 +148,12 @@ func (e *traceExporter) pushTraceSpans(ctx context.Context, node *commonpb.Node,
148148
ctx, cancel := newContextWithTimeout(ctx, e.o.Timeout)
149149
defer cancel()
150150

151-
return e.client.BatchWriteSpans(ctx, &req)
151+
err := e.client.BatchWriteSpans(ctx, &req)
152+
153+
if err != nil {
154+
return len(spans), err
155+
}
156+
return 0, nil
152157
}
153158

154159
// uploadSpans uploads a set of spans to Stackdriver.

0 commit comments

Comments
 (0)