在应用程序洞察中用作会话 ID 的内容

What to use as session id in application insights

我正在考虑在我们的应用程序后端中添加一些支持,以使用户和会话能够启用应用程序洞察中的分析功能。

据我了解,我需要annotate the telemetry I send with user id and a session id.

对于用户 ID,我们有一个用户随时间变化的静态 ID。

对于会话 ID,我有点不知所措。

  1. 我是否会在 Azure 门户中受益于仅在遥测中插入用户 ID 而没有 sessionId
  2. 我可以使用什么作为有意义的会话密钥?后台被一些应用使用,不易修改

Application Insights 具有三个不同标识符的字段。期望:

  1. UserId - 用户标识符,可以是稳定的 ID [永远不会为该用户更改] 或至少在多个会话中具有相同的 ID
  2. SessionId - 会话标识符[考虑一个浏览器会话]
  3. OperationId - 操作标识符[考虑一个操作,例如"login"或"buy a car"],每个会话多个操作

如果这些标识符中的数据遵循上述准则 - 这将带来最佳的用户体验。

另一方面,例如,如果所有三个标识符都使用 UserId 初始化,那么交易视图将变得不可用,因为它将显示用户曾经做过的所有事情,并且个人交易(例如 "buy a car")将使用此特定视图很难进行故障排除。