摘要: 原创出处 http://www.iocoder.cn/SkyWalking/ui-1-application/ 「芋道源码」欢迎转载,保留摘要,谢谢!

本文主要基于 SkyWalking 3.2.6 正式版


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1. 概述

本文主要分享运维界面的第一部分,应用视角

SkyWalking WEBUI :https://github.com/apache/incubator-skywalking-ui

在我们打开 SkyWalking WEBUI 的首页时,如下图:

  • 以应用为维度进行展示。
  • 紫色部分,时间进度条,调用 「2. AllInstanceLastTimeGetHandler」 接口,获得应用实例最后心跳时间。大多情况下,我们进入该界面,看的是从最后心跳时间开始的应用调用情况。
  • 红色部分,应用调用拓扑图,初始化以 [ 实例最后心跳时间前一小时 , 实例最后心跳时间 ] 调用 「3. TraceDagGetHandler」 接口,获得数据,而后每 2 秒刷新一次,30 次刷新后,即过了 1 分钟后,数据范围向前走一分钟,为 [ 实例最后心跳时间前一小时 + 一分钟 , 实例最后心跳时间 + 一分钟 ]。
  • 通过进度条的【播放/暂停按钮】可以切换到暂停模式,切换时间范围,查看时间范围为一小时内的应用调用拓扑图。注意,一定要切换到【暂时模式】才可调整时间范围,在【播放模式】下,每次自动请求都会重设时间范围。

基情提示:运维界面相关 HTTP 接口,逻辑简单易懂,笔者写的会比较简略一些。

2. AllInstanceLastTimeGetHandler

org.skywalking.apm.collector.ui.jetty.handler.time.AllInstanceLastTimeGetHandler ,实现 JettyHandler 接口,获得应用实例最后心跳时间处理器。代码如下:

3. TraceDagGetHandler

org.skywalking.apm.collector.ui.jetty.handler.TraceDagGetHandler ,实现 JettyHandler 接口,获得应用拓扑图数据逻辑处理器。

666. 彩蛋

知识星球

水更第一发!

胖友,分享一波朋友圈可好?

文章目录
  1. 1. 1. 概述
  2. 2. 2. AllInstanceLastTimeGetHandler
  3. 3. 3. TraceDagGetHandler
  4. 4. 666. 彩蛋