# 作用域(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 |