程序笔记   发布时间:2022-07-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了速查列表:Apache SkyWalking OAL 的 域(Scopes)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

OAL简介

在流模式(Streaming modE)下,SkyWalking 提供了 观测分析语言(Observability Analysis Language,OAL) 来分析流入的数据。

OAL脚本现在位于/config文件夹,用户可以简单地改变和重新启动服务器,使其有效。

但是,OAL脚本仍然是编译语言,OAL运行时动态生成Java代码。可以在系统环境上设置SW_OAL_ENGINE_DEBUG=Y,查看生成了哪些类。

作用域(Scope)

作用域包括全局(All)、服务(servicE)服务实例(service InstancE)端点(Endpoint)服务关系(service Relation)、服务实例关系(service Instance Relation)、端点关系(Endpoint Relation)。

接下来我来详细了解一下每个作用域。

文章持续更新,微信搜索「万猫学社」第一时间阅读,关注后回复「电子书」,免费获取12本Java必读技术书籍。

全局(All)

名称 备注 是否分组键 数据类型
name 表示每个请求对应的服务名 String
serviceInstancename 表示引用的服务实例名 String
endpoint 表示每个请求的端点名称 String
latency 表示每个请求的耗时 int(单位:毫秒)
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 则表示 http 响应的状态码. 如 200, 404, 302 int
type 表示请求类型,例如: Database, http, RPC, gRPC enum

服务(service)

按照服务计算每个请求的度量数据。

名称 备注 是否分组键 数据类型
name 表示服务的名称 String
nodeType 表示服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
serviceInstancename 表示引用的服务实例名 String
endpointName 表示端点的名称, 如:http URI的完整路径 String
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 表示 http 请求的响应码 int
type 表示每个请求的类型, 如: Database, http, RPC, gRPC enum

服务实例(service Instance)

按照服务实例计算每个请求的度量数据。

名称 备注 是否分组键 数据类型
name 表示服务实例名称。现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
nodeType 表示服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
servicename 表示服务的名称 String
endpointName 表示端点的名称, 如 http URI 的完整路径. String
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 则表示 http 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, http, RPC, gRPC enum

文章持续更新,微信搜索「万猫学社」第一时间阅读,关注后回复「电子书」,免费获取12本Java必读技术书籍。

服务实例(service Instance)二级作用域

当服务实例是一个 JVM 并且通过 javaagent 收集时,计算服务实例的度量指标。

1. serviceInstanceJVMCPU

名称 备注 是否分组键 数据类型
name 表示服务实例名称。现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
servicename 表示服务的名称 String
usePercent 表示 CPU 耗时百分比 double

2. serviceInstanceJVMMemory

@H_327_57@max
名称 备注 是否分组键 数据类型
name 表示服务实例名称。 现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
servicename 表示服务的名称 String
heapStatus 表示该指标是否是堆的指标 bool
init JVM 文档 long
JVM 文档 long
used JVM 文档 long
committed JVM 文档 long

3. serviceInstanceJVMMemoryPool

@H_327_57@max
名称 备注 是否分组键 数据类型
name 表示服务实例名称。现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
servicename 表示服务的名称 String
poolType 根据不同的 JVM 版本, 可能包括 CODE_CACHE_USAGE, NEWGEN_USAGE, OLDGEN_USAGE, SURVIVOR_USAGE, PERMGEN_USAGE, METASPACE_USAGE enum
init JVM 文档 long
JVM 文档 long
used JVM 文档 long
committed JVM 文档 long

文章持续更新,微信搜索「万猫学社」第一时间阅读,关注后回复「电子书」,免费获取12本Java必读技术书籍。

4. serviceInstanceJVMGC

名称 备注 是否分组键 数据类型
name 表示服务实例名称。现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
servicename 表示服务的名称 String
phrase NEW/OLD Enum
time GC 耗时 long
count GC 次数 long

5. serviceInstanceJVMThread

名称 备注 是否分组键 数据类型
name 表示服务实例名称。现在原生探针使用 uuid@ipv4 作为服务实例名称, 当需要在聚合中设置过滤器(Filter)时,这个毫无用处。 String
servicename 表示服务的名称 String
liveCount 表示活跃线程的当前数量 int
daemonCount 表示当前守护进程线程的数量 int
peakCount 表示当前峰值线程数 int

端点(Endpoint)

计算服务中每个端点请求的度量指标。

名称 备注 是否分组键 数据类型
name 表示端点的名称, 如 http URI 的完整路径. String
nodeType 表示服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
servicename 表示服务的名称 String
serviceInstancename 表示引用的服务实例 id 的名称. String
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 则表示 http 响应的状态码,如:200, 404, 302. int
type 表示请求类型,例如: Database, http, RPC, gRPC enum

服务关系(service Relation)

计算服务与服务之间每个请求的度量指标。

名称 备注 是否分组键 数据类型
sourceservicename 表示源服务的名称 String
sourceserviceNodeType 表示源服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
sourceserviceInstancename 表示源服务实例名 String
destservicename 表示目标服务的名称 String
destserviceNodeType 表示目标服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
destserviceInstancename 表示目标服务实例名 String
endpoint 表示本次调用中使用的端点 String
componentId 表示本次调用中使用到的组件 ID String
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 则表示 http 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, http, RPC, gRPC enum
detectPoint 本地请求探测点位置,如:client, server, proxy. enum
tlsMode 表示源服务和目标服务之间的TLS模式,如:service_relation_mtls_cpm = from(serviceRelation.*).filter(tlsMode == "mTLS").cpm() String

服务实例关系(service Instance Relation)

计算服务实例与服务实例之间每个请求的度量指标。

名称 备注 是否分组键 数据类型
sourceservicename 表示源服务的名称 String
sourceserviceNodeType 表示源服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
sourceserviceInstancename 表示源服务实例名 String
destservicename 表示目标服务的名称
destserviceNodeType 表示目标服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
destserviceInstancename 表示目标服务实例名 String
endpoint 表示本次调用中使用的端点 String
componentId 表示本次调用中使用到的组件 ID String
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求, 则表示 http 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, http, RPC, gRPC enum
detectPoint 本地请求探测点位置,如:client, server, proxy. enum
tlsMode 表示源服务和目标服务之间的TLS模式,如:service_relation_mtls_cpm = from(serviceRelation.*).filter(tlsMode == "mTLS").cpm() String

文章持续更新,微信搜索「万猫学社」第一时间阅读,关注后回复「电子书」,免费获取12本Java必读技术书籍。

端点关系(Endpoint Relation)

计算一个端点和另一个端点之间的依赖关系的度量数据。这种关系很难检测,也依赖于跟踪库来传播上一个端点。 所以端点关系范围聚合,仅仅在使用 SkyWalking 原生探针进行追踪的情况下才有效,包括自动打点探针(如 Java, .NET), OpenCensus SkyWalking exporter以及其他传播追踪上下文的实现.

名称 备注 是否分组键 数据类型
endpoint 表示父级端点名称 String
servicename 表示父级端点的服务名 String
serviceNodeType 表示父级端点的服务节点或网络地址的类型,如:Normal, Database, MQ, Cache enum
childEndpoint 表示子父级端点名称 String
childservicename 表示子级端点的服务名 String
childserviceNodeType 表示子级端点的服务节点或网络地址的类型,如:Normal, Database, MQ, Cache String
childserviceInstancename 表示子级端点的服务实例名 String
rpcLatency 表示RPC请求的耗时,排除了父级端点自身的耗时 int
componentId 表示此调用中使用的组件ID String
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 http 请求,则表示 http 响应的状态码 int
type 表示请求类型,例如: Database, http, RPC, gRPC enum
detectPoint 本地请求探测点位置,如:client, server, proxy. enum

浏览器传输(BrowserAppTraffic)

计算浏览器应用程序的每个请求的度量数据。

名称 备注 是否分组键 数据类型
name 表示每个请求的浏览器应用程序名称 String
count 表示请求数,固定为1 int
trafficCategory 表示传输类别,如:NORMAL, FIRST_ERROR, ERROR enum
errorCategory 代表错误类别,如:AJAX, resourcE, VUE, PROMISE, UNKNOWN enum

浏览器单一版本传输(BrowserAppSingleVersionTraffic)

计算浏览器应用程序中浏览器单一版本的每个请求的度量数据。

名称 备注 是否分组键 数据类型
name 表示每个请求的单一版本名 String
servicename 表示浏览器应用程序的名称 String
count 表示请求数,固定为1 int
trafficCategory 表示传输类别,如:NORMAL, FIRST_ERROR, ERROR enum
errorCategory 代表错误类别,如:AJAX, resourcE, VUE, PROMISE, UNKNOWN enum

浏览器页面传输(BrowserAppPageTraffic)

计算浏览器应用程序中页面的每个请求的度量数据。

名称 备注 是否分组键 数据类型
name 表示每个请求的页面名称 String
servicename 表示浏览器应用程序的名称 String
count 表示请求数,固定为1 int
trafficCategory 表示传输类别,如:NORMAL, FIRST_ERROR, ERROR enum
errorCategory 代表错误类别,如:AJAX, resourcE, VUE, PROMISE, UNKNOWN enum

浏览器页面耗时(BrowserAppPagePerf)

计算浏览器应用程序中页面的每个请求耗时的度量数据。

名称 备注 是否分组键 数据类型
name 表示每个请求的页面名称 String
servicename 表示浏览器应用程序的名称 String
redirectTime 表示重定向的耗时 int(单位:毫秒)
dnsTime 表示DNS查询的耗时 int(单位:毫秒)
ttfbTime 发出页面请求到接收到应答数据第一个字节所花费的耗时 int(单位:毫秒)
tcpTime TCP连接的耗时 int(单位:毫秒)
transTime 内容传输的耗时 int(单位:毫秒)
domAnalysisTime DOM结构分析的耗时 int(单位:毫秒)
fptTime 首次渲染时间/白屏时间 int(单位:毫秒)
domReadyTime DOM结构准备的耗时 int(单位:毫秒)
loadPageTime 整个页面加载时间 int(in ms)
resTime 页面中同步加载资源的耗时 int(单位:毫秒)
sslTime 仅对httpS有效 int(单位:毫秒)
ttlTime 首次交互时间 int(单位:毫秒)
firstPackTime 第一个包的时间 int(单位:毫秒)
fmpTime 首次有效绘制时间 int(单位:毫秒)

注:本文以SkyWalking的8.2.0版本为例进行介绍,如果版本不同会略有差异。

微信公众号:万猫学社

微信扫描二维码

关注后回复「电子书」

获取12本Java必读技术书籍

速查列表:Apache SkyWalking OAL 的 域(Scopes)

大佬总结

以上是大佬教程为你收集整理的速查列表:Apache SkyWalking OAL 的 域(Scopes)全部内容,希望文章能够帮你解决速查列表:Apache SkyWalking OAL 的 域(Scopes)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。