![dependabot[bot]](/assets/img/avatar_default.png)
Bumps [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim) from 0.9.9 to 0.11.1. - [Release notes](https://github.com/Microsoft/hcsshim/releases) - [Commits](https://github.com/Microsoft/hcsshim/compare/v0.9.9...v0.11.1) --- updated-dependencies: - dependency-name: github.com/Microsoft/hcsshim dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
package oc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/Microsoft/hcsshim/internal/log"
|
|
"go.opencensus.io/trace"
|
|
)
|
|
|
|
var DefaultSampler = trace.AlwaysSample()
|
|
|
|
// SetSpanStatus sets `span.SetStatus` to the proper status depending on `err`. If
|
|
// `err` is `nil` assumes `trace.StatusCodeOk`.
|
|
func SetSpanStatus(span *trace.Span, err error) {
|
|
status := trace.Status{}
|
|
if err != nil {
|
|
status.Code = int32(toStatusCode(err))
|
|
status.Message = err.Error()
|
|
}
|
|
span.SetStatus(status)
|
|
}
|
|
|
|
// StartSpan wraps "go.opencensus.io/trace".StartSpan, but, if the span is sampling,
|
|
// adds a log entry to the context that points to the newly created span.
|
|
func StartSpan(ctx context.Context, name string, o ...trace.StartOption) (context.Context, *trace.Span) {
|
|
ctx, s := trace.StartSpan(ctx, name, o...)
|
|
return update(ctx, s)
|
|
}
|
|
|
|
// StartSpanWithRemoteParent wraps "go.opencensus.io/trace".StartSpanWithRemoteParent.
|
|
//
|
|
// See StartSpan for more information.
|
|
func StartSpanWithRemoteParent(ctx context.Context, name string, parent trace.SpanContext, o ...trace.StartOption) (context.Context, *trace.Span) {
|
|
ctx, s := trace.StartSpanWithRemoteParent(ctx, name, parent, o...)
|
|
return update(ctx, s)
|
|
}
|
|
|
|
func update(ctx context.Context, s *trace.Span) (context.Context, *trace.Span) {
|
|
if s.IsRecordingEvents() {
|
|
ctx = log.UpdateContext(ctx)
|
|
}
|
|
|
|
return ctx, s
|
|
}
|
|
|
|
var WithServerSpanKind = trace.WithSpanKind(trace.SpanKindServer)
|
|
var WithClientSpanKind = trace.WithSpanKind(trace.SpanKindClient)
|
|
|
|
func spanKindToString(sk int) string {
|
|
switch sk {
|
|
case trace.SpanKindClient:
|
|
return "client"
|
|
case trace.SpanKindServer:
|
|
return "server"
|
|
default:
|
|
return ""
|
|
}
|
|
}
|