美文网首页
随机用户跟踪

随机用户跟踪

作者: 月下蓑衣江湖夜雨 | 来源:发表于2019-07-24 00:44 被阅读0次

随机用户跟踪的目的

用户跟踪相对于日志的优势是:将用户的流程,按照时序,上报到一个集中的点。上报的内容不局限于消息,也可以在一些关键点上报一些上下文信息,上报一些错误信息。用户跟踪能够比日志更方便地定位问题
但是,当系统中有很多用户的时候,我们是不容易知道哪些用户发生了故障。这时候,可以借助随机用户跟踪,一段时间内跟踪用户A,下一段时间跟踪用户B,再下一段时间跟踪用户C……这样随机用户跟踪可能会跟踪到发生错误的用户,继而再打开用户跟踪继续定位。

如何随机

方式1:在doManager中随机找一个do。
方式2:抢占式,过了一段时间(如2min),下一时刻谁先来,就选谁。

如何共享/通知被随机的用户

方式1:共享变量(ds/do为actor的时候,违背了架构原则)
方式2:消息通知(ds通过消息通知do)

何时更新被随机的用户

ds收到消息,并通知do的时候。即scheduleDoAndReport()中调用checkAndChangeRandomUser()来更新被随机跟踪的用户。

性能问题

1、ds通知do当前被随机的用户时,可以告诉所有的do,但是这样开销比较大。其实,只需通知即将被随机跟踪的用户它将要被随机跟踪,然后告诉上一时间段被随机跟踪的用户它将不被跟踪了即可。
2、即使只通知者两个用户,也有性能开销的。这时候,可以在创建跟踪的任务回调函数中设置随机用户跟踪的开关,那么checkAndChangeRandomUser()就可以跟踪开关选择是否需要通知do。

do收到通知后的处理

1、userTrace中更新RandomUser,决定是否要上报。
2、因为HTTP中没有用户的概念,只做消息的转发。所以,需要将发送的HTTP消息中增加用户信息。但是HTTP消息的发送点,无法取得userTrace中的RandomUser。这时候,可将RandomUser放在ConfigRole中,这样发送HTTP消息的地方,也可以获得RandomUser。需要将每条消息的User和RandomUser信息在HTTP消息头中带给HTTP,HTTP据此决定是否上报跟踪和随机跟踪。

兼容do的actor形态和非actor形态

actor形态的do,userTrace的实例是每个do独自创建的,是独占的。而非actor形态的do,userTrace实例是ds赋值给do的,是共享的。这样,在非actor形态下,通知新的do设置了被随机跟踪的用户,通知旧的do,清空了被随机跟踪的用户,就不行了。为了兼容这两种形态,可以先清空旧的,再通知新的。

相关文章

  • 随机用户跟踪

    随机用户跟踪的目的 用户跟踪相对于日志的优势是:将用户的流程,按照时序,上报到一个集中的点。上报的内容不局限于消息...

  • 重点 (十八) : MapKit

    跟踪显示用户的位置 设置MKMapView的userTrackingMode属性可以跟踪显示用户的当前位置 MKU...

  • Django-cookie&session

    会话跟踪 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cook...

  • WEB开发中的cookie与session

    会话控制 会话控制思想就是能够在网站中跟踪一个用户,我们跟踪用户就可以做到对用户的支持,并根据授权和用户身份显示不...

  • 前端异常监控

    前端异常监控作用: 错误上报 流程跟踪 用户行为跟踪 开源: https://github.com/betterjs

  • iOS如何写Cookie

    前言 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie...

  • Cookie机制

    (Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Sess...

  • 状态管理一:cookie

    会话跟踪用来跟踪用户的整个会话,常用的技术是cookie和session。理论上,一个用户的所有请求操作都应...

  • 1.Cookie和Session的区别

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...

  • 理解Cookie和Session机制

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...

网友评论

      本文标题:随机用户跟踪

      本文链接:https://www.haomeiwen.com/subject/fbuzlctx.html