# 作用域(Scopes)和字段(Fields)

通过使用聚合函数,请求将会在每个域内以时间和 是否分组键(Group Key) 进行分组。

# 全局作用域

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

# 服务作用域

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

名称 备注 是否分组键 数据类型
id 表示服务的唯一标识 int
name 表示服务的名称 string
serviceInstanceName 表示引用的服务实例 id 的名称 string
endpointName 表示端点的名称, 如 HTTP URI 的完整路径 string
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 HTTP 请求, 表示 HTTP 请求的响应码 int
type 表示每个请求的类型, 如: Database(数据库), HTTP, RPC, gRPC enum

# 服务实例作用域

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

名称 备注 是否分组键 数据类型
id 表示服务实例的唯一标识,通常是一个数值 int
name 表示服务实例名称。 例如 ip:port@Service Name. 提醒: 现在原生代理使用 processId@Service name 作为服务实例名称, 当需要在聚合中设置筛选器时,这个毫无用处。 string
serviceName 表示服务的名称 string
endpointName 表示端点的名称, 如 HTTP URI 的完整路径. string
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 HTTP 请求, 则表示 HTTP 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, HTTP, RPC, gRPC enum

# 服务实例二级作用域

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

# 1. ServiceInstanceJVMCPU 作用域

名称 备注 是否分组键 数据类型
id 表示服务实例的唯一标识,通常是一个数值 int
name 表示服务实例名称。 例如 ip:port@Service Name. 提醒: 现在原生代理使用 processId@Service name 作为服务实例名称, 当需要在聚合中设置筛选器时,这个毫无用处。 string
serviceName 表示服务的名称 string
usePercent 表示 CPU 耗时百分比 double

# 2. ServiceInstanceJVMMemory 作用域

名称 备注 是否分组键 数据类型
id 表示服务实例的唯一标识,通常是一个数值 int
name 表示服务实例名称。 例如 ip:port@Service Name. 提醒: 现在原生代理使用 processId@Service name 作为服务实例名称, 当需要在聚合中设置筛选器时,这个毫无用处。 string
serviceName 表示服务的名称 string
heapStatus 表示该指标是否是堆的指标 bool
init 参考 JVM 文档 long
max 参考 JVM 文档 long
used 参考 JVM 文档 long
committed 参考 JVM 文档 long

# 3. ServiceInstanceJVMMemoryPool 作用域

名称 备注 是否分组键 数据类型
id 表示服务实例的唯一标识,通常是一个数值 int
name 表示服务实例名称。 例如 ip:port@Service Name. 提醒: 现在原生代理使用 processId@Service name 作为服务实例名称, 当需要在聚合中设置筛选器时,这个毫无用处。 string
serviceName 表示服务的名称 string
poolType 根据不同的 JVM 版本, 可能包括 CODE_CACHE_USAGE, NEWGEN_USAGE, OLDGEN_USAGE, SURVIVOR_USAGE, PERMGEN_USAGE, METASPACE_USAGE enum
init 参考 JVM 文档 long
max 参考 JVM 文档 long
used 参考 JVM 文档 long
committed 参考 JVM 文档 long

# 4. ServiceInstanceJVMGC 作用域

名称 备注 是否分组键 数据类型
id 表示服务实例的唯一标识,通常是一个数值 int
name 表示服务实例名称。 例如 ip:port@Service Name. 提醒: 现在原生代理使用 processId@Service name 作为服务实例名称, 当需要在聚合中设置筛选器时,这个毫无用处。 string
serviceName 表示服务的名称 string
phrase 包括 NEW/OLD Enum
time GC 耗时 long
count GC 次数 long

# 端点 作用域

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

名称 备注 是否分组键 数据类型
id 表示端点的唯一标识,通常是一个数值 int
name 表示端点的名称, 如 HTTP URI 的完整路径. string
serviceName 表示服务的名称 string
serviceInstanceName 表示引用的服务实例 id 的名称. string
latency 表示每个请求的耗时 int
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 HTTP 请求, 则表示 HTTP 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, HTTP, RPC, gRPC enum

# 服务关系 作用域

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

名称 备注 是否分组键 数据类型
sourceServiceId 表示源服务的 ID int
sourceServiceName 表示源服务的名称 string
sourceServiceInstanceName 表示源服务实例名称 string
destServiceId 表示目标服务的 ID string
destServiceName 表示目标服务的名称 string
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 Represent where is the relation detected. Values: client, server, proxy. enum

# 服务实例关系 作用域

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

名称 备注 是否分组键 数据类型
sourceServiceInstanceId 表示源服务实例的 ID int
sourceServiceName 表示源服务的名称 string
sourceServiceInstanceName 表示源服务实例名称 string
destServiceName 表示目标服务的名称
destServiceInstanceId 表示目标服务实例 ID int
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 Represent where is the relation detected. Values: client, server, proxy. enum

# 端点关系 作用域

计算端点之间依赖的度量指标。这种关系通常难以探测,, 而且还要依赖于追踪库来传播上个端点。所以 EndpointRelation 范围聚合,仅仅在使用 SkyWalking 原生代理进行追踪的情况下才有效,包括自动打点代理(如 Java, .NET), OpenCensus SkyWalking exporter 以及其他传播追踪上下文的实现.

名称 备注 是否分组键 数据类型
endpointId 表示此依赖中的父端点 ID int
endpoint 表示此依赖中的父端点 string
childEndpointId 表示此关系中, 被父端点(第一行)使用的端点的 ID int
childEndpoint 表示此关系中, 被父端点(第二行)使用的端点 string
rpcLatency 表示从父端点到子端点之间 RPC 的耗时, 不包括父端点本身的耗时 int
componentId 表示本次调用中使用到的组件 ID string
status 表示请求成功还是失败的状态 bool(true 表示成功)
responseCode 如果该请求是 HTTP 请求, 则表示 HTTP 响应的状态码. 如 200, 404, 302. int
type 表示请求类型,例如: Database, HTTP, RPC, gRPC enum
detectPoint Represent where is the relation detected. Values: client, server, proxy. enum