SetAttributesを使うことで実現できる。例えば以下はtraceの情報にAddという関数の引数をattributeにつけることで情報が追加される。
package calc import ( "context" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" ) var tracer = otel.Tracer("otel-echo-calc") func Add(ctx context.Context, x, y int) int { ctx, span := tracer.Start(ctx, "Add") defer span.End() span.SetAttributes( attribute.Int("x", x), attribute.Int("y", y), ) return x + y }
エラーを記録する
span.RecordError
を使うことでエラーを記録することができる。またspan.RecordError(err, trace.WithStackTrace(true))
とすることでスタックトレースまで送ることができるようになっている。ただこれをやるとデータ量が嵩みそうなので使い所はきちんと選んで使う感じになりそう