소스 검색

Update OTel semconv

DarthSim 2 년 전
부모
커밋
2bdf868345
1개의 변경된 파일6개의 추가작업 그리고 10개의 파일을 삭제
  1. 6 10
      metrics/otel/otel.go

+ 6 - 10
metrics/otel/otel.go

@@ -26,12 +26,12 @@ import (
 	"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
 	"go.opentelemetry.io/otel/metric"
 	"go.opentelemetry.io/otel/metric/instrument"
-	"go.opentelemetry.io/otel/metric/unit"
 	"go.opentelemetry.io/otel/propagation"
 	sdkmetric "go.opentelemetry.io/otel/sdk/metric"
 	"go.opentelemetry.io/otel/sdk/resource"
 	sdktrace "go.opentelemetry.io/otel/sdk/trace"
-	semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
+	semconv "go.opentelemetry.io/otel/semconv/v1.17.0"
+	"go.opentelemetry.io/otel/semconv/v1.17.0/httpconv"
 	"go.opentelemetry.io/otel/trace"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials"
@@ -345,19 +345,15 @@ func StartRootSpan(ctx context.Context, rw http.ResponseWriter, r *http.Request)
 	ctx, span := tracer.Start(
 		ctx, "/request",
 		trace.WithSpanKind(trace.SpanKindServer),
-		trace.WithAttributes(semconv.NetAttributesFromHTTPRequest("tcp", r)...),
-		trace.WithAttributes(semconv.EndUserAttributesFromHTTPRequest(r)...),
-		trace.WithAttributes(semconv.HTTPServerAttributesFromHTTPRequest("imgproxy", "/", r)...),
+		trace.WithAttributes(httpconv.ServerRequest("imgproxy", r)...),
 	)
 	ctx = context.WithValue(ctx, hasSpanCtxKey{}, struct{}{})
 
 	newRw := httpsnoop.Wrap(rw, httpsnoop.Hooks{
 		WriteHeader: func(next httpsnoop.WriteHeaderFunc) httpsnoop.WriteHeaderFunc {
 			return func(statusCode int) {
-				attrs := semconv.HTTPAttributesFromHTTPStatusCode(statusCode)
-				spanStatus, spanMessage := semconv.SpanStatusFromHTTPStatusCodeAndSpanKind(statusCode, trace.SpanKindServer)
-				span.SetAttributes(attrs...)
-				span.SetStatus(spanStatus, spanMessage)
+				span.SetStatus(httpconv.ServerStatus(statusCode))
+				span.SetAttributes(semconv.HTTPStatusCode(statusCode))
 
 				next(statusCode)
 			}
@@ -410,7 +406,7 @@ func AddGaugeFunc(name, desc, u string, f GaugeFunc) {
 
 	gauge, err := meter.Float64ObservableGauge(
 		name,
-		instrument.WithUnit(unit.Unit(u)),
+		instrument.WithUnit(u),
 		instrument.WithDescription(desc),
 	)
 	if err != nil {