> Source: https://www.ymotongpoo.com/works/otel-specs-ja/semconv/general/profiles/


# プロファイルの属性

**ステータス**: [Development][DocumentStatus]

## プロファイル識別に関する汎用属性

この節で説明する属性は、かなり汎用的なものです。これらは、適用可能な任意のプロファイルレコードで使用できます。

### フレームの種類

**説明:** プロファイル内の単一フレームの由来を記述します。

<!-- semconv profile.frame(full) -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

**Attributes:**

| Key | Stability | [Requirement Level](/works/otel-specs-ja/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`profile.frame.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/profile/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | 単一フレームのインタプリタまたはコンパイラを記述します。 | `cpython` |

---

`profile.frame.type` には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `beam` | [Erlang](https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `cpython` | [Python](https://wikipedia.org/wiki/Python_(programming_language)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `dotnet` | [.NET](https://wikipedia.org/wiki/.NET) | ![Development](https://img.shields.io/badge/-development-blue) |
| `go` | [Go](https://wikipedia.org/wiki/Go_(programming_language)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `jvm` | [JVM](https://wikipedia.org/wiki/Java_virtual_machine) | ![Development](https://img.shields.io/badge/-development-blue) |
| `kernel` | [Kernel](https://wikipedia.org/wiki/Kernel_(operating_system)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `luajit` | [LuaJIT](https://en.wikipedia.org/wiki/LuaJIT) | ![Development](https://img.shields.io/badge/-development-blue) |
| `native` | [C](https://wikipedia.org/wiki/C_(programming_language))、[C++](https://wikipedia.org/wiki/C%2B%2B)、[Go](https://wikipedia.org/wiki/Go_(programming_language))、[Rust](https://wikipedia.org/wiki/Rust_(programming_language))などが該当しますが、これらに限定されません。可能であれば、より正確な値を使用しなければなりません（MUST）。 | ![Development](https://img.shields.io/badge/-development-blue) |
| `perl` | [Perl](https://wikipedia.org/wiki/Perl) | ![Development](https://img.shields.io/badge/-development-blue) |
| `php` | [PHP](https://wikipedia.org/wiki/PHP) | ![Development](https://img.shields.io/badge/-development-blue) |
| `ruby` | [Ruby](https://wikipedia.org/wiki/Ruby_(programming_language)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `rust` | [Rust](https://wikipedia.org/wiki/Rust_(programming_language)) | ![Development](https://img.shields.io/badge/-development-blue) |
| `v8js` | [V8JS](https://wikipedia.org/wiki/V8_(JavaScript_engine)) | ![Development](https://img.shields.io/badge/-development-blue) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## pprofとの互換性

既存の[pprof][pprofLink]形式は、このデータモデルへ一意に変換できます。このデータモデルからの逆方向の変換も、対象のプロファイル形式が同等の機能を持つ範囲において可能です。

この節で説明する属性は、この相互変換可能性をサポートすることに特化しています。これらは、適用可能な任意のプロファイルレコードで使用できます。

<!-- semconv pprof(full) -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

**Attributes:**

| Key | Stability | [Requirement Level](/works/otel-specs-ja/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`pprof.location.is_folded`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | boolean | 複数のシンボルがこの位置のアドレスに対応していることを示します。例えば、リンカーによる同一コードの折り込みによって発生します。その場合、行情報は複数のシンボルのうちの一つを表します。このフィールドは、プロファイルのシンボル化状態が変化した際に再計算しなければなりません（MUST）。 | |
| [`pprof.mapping.has_filenames`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | boolean | このマッピングに関連するファイル名が存在することを示します。 | |
| [`pprof.mapping.has_functions`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | boolean | このマッピングに関連する関数が存在することを示します。 | |
| [`pprof.mapping.has_inline_frames`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | boolean | このマッピングに関連するインラインフレームが存在することを示します。 | |
| [`pprof.mapping.has_line_numbers`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | boolean | このマッピングに関連する行番号が存在することを示します。 | |
| [`pprof.profile.comment`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string[] | プロファイルに関連付けられた自由形式のテキスト。このフィールドは機械可読な情報を保存するために使うべきではなく、人間にとって分かりやすい内容のためだけに使われます。 | `["hello world", "bazinga"]` |
| [`pprof.profile.doc_url`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | このプロファイル種別のドキュメントリンク。 [1] | `http://pprof.example.com/cpu-profile.html` |
| [`pprof.profile.drop_frames`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | Function.function_nameがこの正規表現に完全一致するフレームは、後続のフレームとともにサンプルから除外されます。 | `/foobar/` |
| [`pprof.profile.keep_frames`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | Function.function_nameがこの正規表現に完全一致するフレームは、drop_framesに一致していても保持されます。 | `/bazinga/` |
| [`pprof.scope.default_sample_type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | 元のプロファイルにおけるpprofのdefault_sample_typeを記録します。元のデフォルトサンプル種別が存在しない場合は設定されません。 [2] | `cpu` |
| [`pprof.scope.sample_type_order`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/pprof/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | int[] | 元のプロファイルにおけるサンプル種別のインデックスを記録します。 [3] | `[3, 0, 1, 2]` |

**[1] `pprof.profile.doc_url`:** URLは絶対URLでなければならず、リンクを提供しないコードによってプロファイルが生成された場合は欠落している可能性があります。

**[2] `pprof.scope.default_sample_type`:** この属性が存在する場合、スコープレベル（resource_profiles[].scope_profiles[].scope.attributes[]）に設定しなければなりません（MUST）。

**[3] `pprof.scope.sample_type_order`:** この属性が存在する場合、スコープレベル（resource_profiles[].scope_profiles[].scope.attributes[]）に設定しなければなりません（MUST）。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status
[pprofLink]: https://github.com/google/pprof

