この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/non-normative/code-attrs-migration/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

code属性のセマンティック規約の安定性に関する移行ガイド

実験的なcode.*セマンティック規約は、v1.33.0で安定版に昇格しました。このガイドでは破壊的変更を概説し、安定版の属性を採用する計装やテレメトリーバックエンドに向けた移行方法を示します。

計装の作者は、標準のOTEL_SEMCONV_STABILITY_OPT_INによる移行手法を使用してもかまいません(MAY)。使用する場合は、codecode/dupの値をサポートすべきです。

変更点のまとめ

この節では、code属性のセマンティック規約について、v1.29.0からv1.33.0への変更をまとめます。

ChangeComments
code.linenocode.line.number
code.columncode.column.number
code.filepathcode.file.path
code.namespaceRemoved, integrated into code.function.name
code.functionRemoved, integrated into code.function.name
New: code.function.nameSee definition and examples below

code.function.nameは次のように定義されています。

引数を含まない、メソッドまたは関数の完全修飾名。 値は、その言語ランタイムの自然な表現に合致すべきであり、これはcode.stacktrace属性値内で使われる表現と同一になる可能性が高い。

例:

  • Javaのメソッド: com.example.MyHttpService.serveRequest
  • Javaの匿名クラスのメソッド: com.mycompany.Main$1.myMethod
  • Javaのラムダメソッド: com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod
  • PHPの関数: GuzzleHttp\Client::transfer
  • Goの関数: github.com/my/repo/pkg.foo.func5
  • Elixir: OpenTelemetry.Ctx.new
  • Erlang: opentelemetry_ctx:new
  • Rust: playground::my_module::my_cool_func
  • C言語の関数: fopen