From 889b0a4827c3722ead776505d41d9b8c6b05264b Mon Sep 17 00:00:00 2001 From: jason plumb <75337021+breedx-splk@users.noreply.github.com> Date: Sat, 21 Oct 2023 06:40:31 -0700 Subject: [PATCH] Add session.previous_id (#348) --- CHANGELOG.md | 2 ++ docs/general/session.md | 5 +++++ model/session.yaml | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3458f757..5f943bf69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ release. ### Features +- Adds `session.previous_id` to session.md + ([#348](https://github.com/open-telemetry/semantic-conventions/pull/348)) - Metric namespaces SHOULD NOT be pluralized. ([#267](https://github.com/open-telemetry/opentelemetry-specification/pull/267)) diff --git a/docs/general/session.md b/docs/general/session.md index c6d5c5592..9c58d3fc4 100644 --- a/docs/general/session.md +++ b/docs/general/session.md @@ -11,12 +11,17 @@ Consequently, a Session is represented as a collection of Logs, Events, and Span throughout the Session's duration. Each Session is assigned a unique identifier, which is included as an attribute in the Logs, Events, and Spans generated during the Session's lifecycle. +When a session reaches end of life, typically due to user inactivity or session timeout, a new session identifier +will be assigned. The previous session identifier may be provided by the instrumentation so that telemetry +backends can link the two sessions. + ## Attributes | Attribute | Type | Description | Examples | Requirement Level | |---|---|---|---|---| | `session.id` | string | A unique id to identify a session. | `00112233-4455-6677-8899-aabbccddeeff` | Opt-In | +| `session.previous_id` | string | The previous `session.id` for this user, when known. | `00112233-4455-6677-8899-aabbccddeeff` | Opt-In | [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md diff --git a/model/session.yaml b/model/session.yaml index eacda8416..f22126533 100644 --- a/model/session.yaml +++ b/model/session.yaml @@ -9,9 +9,18 @@ groups: Consequently, a Session is represented as a collection of Logs, Events, and Spans emitted by the Client Application throughout the Session's duration. Each Session is assigned a unique identifier, which is included as an attribute in the Logs, Events, and Spans generated during the Session's lifecycle. + + When a session reaches end of life, typically due to user inactivity or session timeout, a new session identifier + will be assigned. The previous session identifier may be provided by the instrumentation so that telemetry + backends can link the two sessions. attributes: - id: id type: string brief: "A unique id to identify a session." examples: "00112233-4455-6677-8899-aabbccddeeff" requirement_level: opt_in + - id: previous_id + type: string + brief: "The previous `session.id` for this user, when known." + examples: "00112233-4455-6677-8899-aabbccddeeff" + requirement_level: opt_in