この記事は英語の原文を日本語に翻訳したものです。原文: 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)。使用する場合は、codeとcode/dupの値をサポートすべきです。
変更点のまとめ
この節では、code属性のセマンティック規約について、v1.29.0からv1.33.0への変更をまとめます。
| Change | Comments |
|---|---|
code.lineno → code.line.number | |
code.column → code.column.number | |
code.filepath → code.file.path | |
code.namespace | Removed, integrated into code.function.name |
code.function | Removed, integrated into code.function.name |
New: code.function.name | See 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