会话语义约定

状态: 开发中

本文档定义了适用于客户端应用程序的会话跟踪语义约定。

会话定义为涵盖应用程序执行的所有活动以及最终用户执行的操作的时间段。

因此,会话表示在会话期间发出的日志、事件和跨度的集合。每个会话都被分配了一个唯一的标识符,该标识符作为在会话生命周期中生成的日志、事件和跨度的属性包含在内。

当会话结束时(通常由于用户不活动或会话超时),将分配一个新的会话标识符。之前的会话标识符可以由遥测提供,以便遥测后端可以链接这两个会话(请参阅下面的会话开始事件)。

Attributes

Attributes

Stability需求级别Value Type描述Example Values
session.idDevelopment选择加入字符串用于标识会话的唯一 ID。00112233-4455-6677-8899-aabbccddeeff
session.previous_idDevelopment选择加入字符串已知时,此用户的上一个 session.id00112233-4455-6677-8899-aabbccddeeff

会话事件

事件:session.start

状态: 开发中

事件名称必须是 session.start

指示已启动一个新会话,并可选择链接到先前的会话。

对于跟踪用户会话期间用户行为的遥测,每次创建会话时都必须发出 session.start 事件。当新会话是先前会话的延续时,应在事件中包含 session.previous_idsession.idsession.previous_id 的值必须不同。当 session.start 事件同时包含 session.idsession.previous_id 字段时,该事件表示先前会话已结束。如果 session.previous_id 中的会话 ID 尚未通过显式 session.end 事件结束,则使用者应将此延续事件视为在语义上等同于 session.end(session.previous_id)session.start(session.id)

Attributes

Stability需求级别Value Type描述Example Values
session.idDevelopment必需字符串正在启动的新会话的 ID。00112233-4455-6677-8899-aabbccddeeff
session.previous_idDevelopment有条件地必需 [1]字符串已知时,此用户的上一个 session.id00112233-4455-6677-8899-aabbccddeeff

[1] session.previous_id 如果新会话是作为先前会话的延续创建的,则应在事件中包含 session.previous_idsession.idsession.previous_id 属性必须具有不同的值。

事件:session.end

状态: 开发中

事件名称必须是 session.end

指示会话已结束。

对于跟踪用户会话期间用户行为的遥测,每次会话结束时都应发出 session.end 事件。当会话结束并继续作为新会话时,应在 session.start 事件之前发出此事件。

Attributes

Stability需求级别Value Type描述Example Values
session.idDevelopment必需字符串正在结束的会话的 ID。00112233-4455-6677-8899-aabbccddeeff