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


# セッションに関するセマンティック規約

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

この文書は、セッションを追跡する際にクライアント側アプリケーションに適用するセマンティック規約を定義します。

セッションは、アプリケーションによって実行されるすべての活動と、エンドユーザーによって実行される操作を包含する期間として定義されます。

したがって、セッションはクライアントアプリケーションによってそのセッションの期間中に発行されるログ、イベント、スパンの集合として表現されます。各セッションには一意な識別子が割り当てられ、これはそのセッションのライフサイクル中に生成されるログ、イベント、スパンの属性として含まれます。

セッションが、通常はユーザーの非アクティブ状態やセッションタイムアウトによって、そのライフサイクルの終わりに達すると、新しいセッション識別子が割り当てられます。以前のセッション識別子は、テレメトリーバックエンドが2つのセッションをリンクできるように、計装によって提供されることがあります（下記の[セッション開始イベント](#event-sessionstart)を参照してください）。

## 属性

<!-- semconv session-id -->
<!-- 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 |
| --- | --- | --- | --- | --- | --- |
| [`session.id`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | セッションを識別する一意なID。 | `00112233-4455-6677-8899-aabbccddeeff` |
| [`session.previous_id`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | このユーザーの、判明している場合の直前の `session.id`。 | `00112233-4455-6677-8899-aabbccddeeff` |

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

## セッションイベント

### Event: `session.start`

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

**Status:** ![Development](https://img.shields.io/badge/-development-blue)

イベント名は `session.start` でなければなりません（MUST）。

新しいセッションが開始されたことを示し、必要に応じて以前のセッションへのリンクを持ちます。

ユーザーセッション中のユーザー行動を追跡する計装では、セッションが作成されるたびに `session.start` イベントを発行しなければなりません（MUST）。以前のセッションの継続として新しいセッションが作成される場合、`session.previous_id` をそのイベントに含めるべきです（SHOULD）。`session.id` と `session.previous_id` の値は異なっていなければなりません（MUST）。
`session.start` イベントが `session.id` と `session.previous_id` の両方のフィールドを含む場合、そのイベントは以前のセッションが終了したことを示します。`session.previous_id` にあるセッションIDが明示的な `session.end` イベントによってまだ終了していない場合、利用者はこの継続イベントを `session.end(session.previous_id)` と `session.start(session.id)` に意味的に同等なものとして扱うべきです（SHOULD）。

**Attributes:**

| Key | Stability | [Requirement Level](/works/otel-specs-ja/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`session.id`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | 新しく開始されたセッションのID。 | `00112233-4455-6677-8899-aabbccddeeff` |
| [`session.previous_id`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/) | ![Development](https://img.shields.io/badge/-development-blue) | `Conditionally Required` [1] | string | このユーザーの、判明している場合の直前の `session.id`。 | `00112233-4455-6677-8899-aabbccddeeff` |

**[1] `session.previous_id`:** 新しいセッションが以前のセッションの継続として作成される場合、`session.previous_id` をそのイベントに含めるべきです（SHOULD）。`session.id` と `session.previous_id` の属性は異なる値を持たなければなりません（MUST）。

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

### Event: `session.end`

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

**Status:** ![Development](https://img.shields.io/badge/-development-blue)

イベント名は `session.end` でなければなりません（MUST）。

セッションが終了したことを示します。

ユーザーセッション中のユーザー行動を追跡する計装では、セッションが終了するたびに `session.end` イベントを発行すべきです（SHOULD）。セッションが終了して新しいセッションとして継続する場合、このイベントは `session.start` イベントより前に発行すべきです（SHOULD）。

**Attributes:**

| Key | Stability | [Requirement Level](/works/otel-specs-ja/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`session.id`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | 終了するセッションのID。 | `00112233-4455-6677-8899-aabbccddeeff` |

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

[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status

