Skip to content
Snippets Groups Projects
Commit 310a9601 authored by ale's avatar ale
Browse files

Small refactor of span status handling in LDAP client

parent 39e01d32
Branches
No related tags found
No related merge requests found
......@@ -191,9 +191,8 @@ func (p *ConnectionPool) doRequest(ctx context.Context, name string, attrs []att
}, backoff.WithContext(newExponentialBackOff(), ctx))
// Tracing: set the final status.
if span != nil {
span.SetStatus(errorToTraceStatus(rerr))
}
setSpanStatus(span, rerr)
requestsCounter.WithLabelValues(name).Inc()
if rerr != nil {
requestErrors.WithLabelValues(name).Inc()
......@@ -269,17 +268,24 @@ func isProtocolError(err error) bool {
return false
}
func errorToTraceStatus(err error) (codes.Code, string) {
func setSpanStatus(span trace.Span, err error) {
if span == nil {
return
}
switch err {
case nil:
return codes.Ok, "OK"
span.SetStatus(codes.Ok, "OK")
return
case context.Canceled:
return codes.Error, "CANCELED"
span.SetStatus(codes.Error, "CANCELED")
case context.DeadlineExceeded:
return codes.Error, "DEADLINE_EXCEEDED"
span.SetStatus(codes.Error, "DEADLINE_EXCEEDED")
default:
return codes.Error, err.Error()
span.SetStatus(codes.Error, err.Error())
}
span.RecordError(err)
}
var (
......
......@@ -75,12 +75,12 @@ func getServiceName() string {
return filepath.Base(os.Args[0])
}
func defaultResource() *resource.Resource {
func defaultResource(serviceName string) *resource.Resource {
r, _ := resource.Merge(
resource.Default(),
resource.NewWithAttributes(
semconv.SchemaURL,
semconv.ServiceNameKey.String(getServiceName()),
semconv.ServiceNameKey.String(serviceName),
),
)
return r
......@@ -128,8 +128,8 @@ func initTracing(serviceName string) {
tp := trace.NewTracerProvider(
trace.WithSampler(sampler),
trace.WithResource(defaultResource()),
trace.WithBatcher(ze),
trace.WithResource(defaultResource(serviceName)),
)
otel.SetTracerProvider(tp)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment