java性能监控工具MoSKito学习--MoSKito-Essential模块3

》 Journeys 历程
What is a journey? 什么是历程
Journeys 用来记录用户行为根据实际发生在应用内部的调用或者步骤来完成记录。


Journeys 展示了生产者使用被监视的应用的过程,他们被调用的过程被陈列通过精确的时间戳(当调用发生时,以及他们花费的时间).
简单来说,一个历程就是一个对任何用户行为转为开发者或者应用管理者语言。
When do I need journeys? 什么时候需要历程
我们假设一个确定的用户行为(登录,添加购物车,等待)花费了太长时间。这意味着一个确定的类/方法/服务花费了额外的时间
一个历程的记录展示了每一个触发所花费的时间。
这些信息是进一步优化和提高的指引。
Record journeys 记录历程
记录历程的步骤:
1,开始记录
2,执行用户行为
3,完成记录

关于开始和完成记录历程的构造在历程tab页的右上角如图journey_instructions.png:

Start recording 开始记录

你可以通过两种方法来记录历程:
1,通过Journeys tab,
2,使用URL参数(命令行前缀浏览器地址行)。
Start recording from Journeys tab:从Journeys tab来记录历程。
1,打开Journeys tab.
2,在开始按钮附近的文本框内, 输入你新历程的名字.
3,点击开始.

如图start_recording_journey.png所示:


开始记录后,浏览器会自动加载开始页在你的应用到一个新tab页。
Start recording with URL parameter:使用URL参数来记录。
到你想记录用户行为的你的网站的页中(比方说home页)
在你浏览器的地址栏,添加下面前缀并且按下你键盘的enter键:
?mskJourney=start&mskJourneyName=JOURNEY_NAME
JOURNEY_NAME = 新历程的名字.
注意不要忘记
添加?在前缀之前,是URL参数的开始标记。
例如:http://yourwebsite.com/home.html?mskJourney=start&mskJourneyName=Journey1
这种方法比较合适,因为:
你没有必要股Journeys tab页,而且你可以在你网站的任何页立即开始。
Recording in progress 记录的过程
在记录开始后,像用户一样:打开一个页,添加一个物品到你的购物车,等等。
Know status of journey recording:历程记录的状态
1,来到Journeys tab页.
2,刷新页.
3,在历程列表中找到你当前的历程并检查活跃列:
a,true = journey is active(历程是**状态) = journey recording is in progress,(历程记录在进行)
b,false = journey is not active(历程在非**状态) = recording is over.(记录已经结束)

如图journey_rec_status.png所示:


Finish recording 完成记录
确保你在正确的时刻停止了记录过程,否则你将会有不必要的操作。
Finish recording from Journeys tab:完成记录从Journeys tab页
1,来到Journeys tab 页.
2,刷新页.
3,找到你当前历程并且点击stop链接(**列)。
Finish recording with URL parameter:通过URL参数来完成记录
在最后用户操作之后,在你浏览器的地址栏,添加如下前缀并且按下你键盘的Enter键:
?mskJourney=stop&mskJourneyName=JOURNEY_NAME
JOURNEY_NAME = 你当前历程的名字.
例如:
http://yourwebsite.com/order.html?mskJourney=stop&mskJourneyName=Journey1
View recorded journeys 查看记录的历程
See all recorded journeys: 查看所有记录的历程

来到Journeys tab页 并看展示的列表。如图journey_list_new.png所示:


Journey structure 历程的结构
一个历程由对系统资源的调用跟踪组成。跟踪调用�步骤组成。
跟踪调用是URL参数对被监视应用的方法调用。

步骤最有可能是java方法,由追踪调用触发的。如图JourneyStructure.png所示:


View traced calls and steps in a journey: 查看跟踪调用和历程步骤:
1,来到 Journeys tab.
2,查看跟踪调用: 选择一个历程并单击它的名字 (Journey column 列).
3,查看步骤: 选择一个跟踪调用并且单击它的URL链接 (URL column 列)
Traced calls 跟踪调用
A page with traced calls displays:一个跟踪调用页展示
name,
overview:总览
  name,
  timestamp:
    started (C),
    last action (LA),
  number of calls (NC),调用次数
  active/non-active (A).是否**
call list:
  call's number,
  URL,
  timestamp,
  number of steps in the call. 调用中的步骤数量

  如图traced_call.png所示:


Calls 调用
A page with calls displays: 关于调用展示页
  name,
  overview:
    ID,
    timestamp,
  step list:
    step's number,
    call (called method),
    gross duration (time taken by this step + all of its sub-steps),总时间
    net duration (time taken by this step only),网络延时
    aborted/non-aborted.停止与否

如图steps_in_journey.png所示:


在上面展示的列中如果有exception发生的时候,直接将展示为第一个错误标记。直接展示为失败。
Expand lines in step list: sep列表的扩展
单击 Expand button (expands all steps扩展所有), 或者单击小三角在父步骤附件 (扩展一个父步骤下的子步骤) .
Duplicate calls 重复调用
重复调用是对系统中的一个调用重复执行。总所周知他们也许解释了不想要的时间延迟在你的应用更中。
历程诊断重复调用并且展示他们用一个结构化方法:在分组中,重要信息:
 重复调用的名字 (Duplicate column),
 调用初始化的时间多久 (repeated) (Calls column),
 重复调用一个调用的位置线 (Positions column),
 时间/重复调用的延时 (Time / Duration column).
SCREENSHOT 屏幕截图
See the duplicate call's position:看重复调用的的位置
点击一个位置连接在重复调用列表中(Positions列)
高亮重复调用:
选中重复调用复选框(列下的重置按钮)。
去掉选中的调用复选框移除高亮.
Zero call duration 0延迟。
十分普遍,调用延时(或者环境或者网络)为0.也就是说它太短而时间单位对它来说太大.
为了看到真实的调用延迟,改变时间单位(seconds -> milliseconds, milliseconds -> microseconds, microseconds -> nanoseconds)从秒到纳秒
例如:
调用延时被展示为一个整数,没有小数点。
如果时间单位设置为milliseconds,所有调用延时小于0milliseconds的都将会展示为延时0milliseconds.
在这种情况下,你不得不调整生产者的时间单位从milliseconds 到 microseconds.
In this case, we'll have to switch the producers' time units from
Analyse 分析
分析页展示了生产者,被触发的历程调用(方法/函数).
换句话说,分析试图是一个所有其他试图的反转代表。代替展示所有调用/方法/函数,它列出了生产者,通过历程中记录的所有这些调用过程。
Analyse journey:分析历程
1,来到Journeys tab 页.
2,选择一个历程并单击?图表.

如图Open_Analyse_View.png所示:

被展示在分析试图页的生产者,下面的列将会被列出在图表:  ProducerId,  Calls (number of calls that triggered/requested this producer 请求或者触发的调用次数),  Duration (total time, spent for this producer).总时间 这些信息对你分析应用耗时很有帮助。