Files
coder/coderd/tracing/util.go

45 lines
738 B
Go

package tracing
import (
"context"
"runtime"
"strings"
"go.opentelemetry.io/otel/trace"
)
var NoopSpan trace.Span
func init() {
tracer := trace.NewNoopTracerProvider().Tracer("")
_, NoopSpan = tracer.Start(context.Background(), "")
}
const TracerName = "coderd"
func FuncName() string {
fnpc, _, _, ok := runtime.Caller(1)
if !ok {
return ""
}
fn := runtime.FuncForPC(fnpc)
name := fn.Name()
if i := strings.LastIndex(name, "/"); i > 0 {
name = name[i+1:]
}
return name
}
func FuncNameSkip(skip int) string {
fnpc, _, _, ok := runtime.Caller(1 + skip)
if !ok {
return ""
}
fn := runtime.FuncForPC(fnpc)
name := fn.Name()
if i := strings.LastIndex(name, "/"); i > 0 {
name = name[i+1:]
}
return name
}