24、SkyWalking 源码分析 运维界面(四)之操作视角

1. 概述

本文主要分享运维界面的第四部分,操作视角

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

在我们打开 SkyWalking WEBUI 的 Service Tree ( service/serviceTree.html ) 页时,如下图:

 

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

2. AllInstanceLastTimeGetHandler

《SkyWalking 源码分析 —— 运维界面(一)之应用视角》「2. AllInstanceLastTimeGetHandler」 相同。

3. ApplicationsGetHandler

《SkyWalking 源码分析 —— 运维界面(二)之应用实例视角》「3. ApplicationsGetHandler」 相同。

4. EntryServiceGetHandler

org.skywalking.apm.collector.ui.jetty.handler.servicetree.EntryServiceGetHandler ,实现 JettyHandler 接口,获得入口操作( EntryService )分页列表的逻辑处理器。

  • #pathSpec() ,路径定义,"/service/entry" 。
  • 响应示例:

 

  • #doGet() 方法,代码如下:

  • 第 66 至 71 行:解析 applicationId 参数。

  • 第 73 至 85 行:解析 startTimeendTime 参数。

  • 第 88 至 99 行:解析 fromsize 分页参数。

5. ServiceTreeGetByIdHandler

org.skywalking.apm.collector.ui.jetty.handler.servicetree.ServiceTreeGetByIdHandler ,实现 JettyHandler 接口,获得指定操作的关联操作调用统计树列表的逻辑处理器。

  • #pathSpec() ,路径定义,"/service/tree/entryServiceId" 。
  • 响应示例:

 

  • #doGet() 方法,代码如下:

  • 第 61 至 66 行:解析 entryServiceId 参数。

  • 第 60 至 74 行:解析 startTimeendTime 参数。

  • 第 94 行:调用 ServiceTreeService#loadServiceTree(entryServiceId, startTime, endTime) 方法,获得指定操作的关联操作调用统计树列表,涉及 ServiceReference 数据表。代码比较简单易懂( 笔者太懒了 ),胖友自己阅读理解。