工具:list_group_stats
请仅使用此工具查找和分析应用中重复出现的堆栈轨迹。它会汇总类似的堆栈轨迹,并提供发生次数和受影响的用户数量等统计信息。请勿使用此工具进行常规错误搜索或查看单个错误日志。对于要求“查找错误”或“显示错误”的查询,您必须使用 list_log_entries 工具。严重:对于有关错误的常规问题,默认使用其他工具。
以下代码示例展示了如何使用 curl 调用 list_group_stats MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://clouderrorreporting.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_group_stats", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
指定要返回的一组 ErrorGroupStats。
下一个 ID:19
ListGroupStatsRequest
| JSON 表示法 |
|---|
{ "projectName": string, "groupId": [ string ], "serviceFilter": { object ( |
| 字段 | |
|---|---|
projectName |
必需。Google Cloud Platform 项目的资源名称。以 示例: 如需查看支持的位置列表,请参阅支持的区域。如果未指定,则默认值为 |
groupId[] |
可选。列出具有这些 ID 的所有 |
serviceFilter |
可选。仅列出属于与过滤条件匹配的服务上下文的 |
timeRange |
可选。列出指定时间范围内的数据。如果未设置,系统将使用默认时间范围。响应中的 |
timedCountDuration |
可选。单个返回的 该时长以秒为单位,最多包含九个小数位,以“ |
alignment |
可选。要返回的定时统计信息的对齐方式。默认值为 |
alignmentTime |
可选。如果选择舍入对齐,则时间计数应与之对齐。默认值为 00:00 UTC。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
order |
可选。返回结果的排序顺序。默认值为 |
pageSize |
可选。每个响应返回的结果数上限。默认值为 20。 |
pageToken |
可选。之前响应提供的 |
ServiceContextFilter
| JSON 表示法 |
|---|
{ "service": string, "version": string, "resourceType": string } |
| 字段 | |
|---|---|
service |
可选。要与 |
version |
可选。要与 |
resourceType |
可选。要与 |
QueryTimeRange
| JSON 表示法 |
|---|
{
"period": enum ( |
| 字段 | |
|---|---|
period |
将查询限制为指定的时间范围。 |
时长
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年 |
nanos |
时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
时段
支持的时间范围。
| 枚举 | |
|---|---|
PERIOD_UNSPECIFIED |
请勿使用。 |
PERIOD_1_HOUR |
检索过去一小时的数据。建议的最短定时数数时长:1 分钟。 |
PERIOD_6_HOURS |
检索过去 6 小时的数据。建议的最短定时数数时长:10 分钟。 |
PERIOD_1_DAY |
检索过去一天的数据。建议的最短定时计数时长:1 小时。 |
PERIOD_1_WEEK |
检索上周的数据。建议的最短定时计数时长:6 小时。 |
PERIOD_30_DAYS |
检索过去 30 天的数据。建议的最短定时计数时长:1 天。 |
TimedCountAlignment
指定如何对齐错误组计数的各个时间段。
| 枚举 | |
|---|---|
ERROR_COUNT_ALIGNMENT_UNSPECIFIED |
未指定对齐方式。 |
ALIGNMENT_EQUAL_ROUNDED |
时间段应是连续的,宽度应等于请求的时长,并且应与请求中提供的
舍入对齐通常会导致第一个或最后一个时间段的大小不同。 |
ALIGNMENT_EQUAL_AT_END |
时间段应是连续的,宽度等于所请求的时长,并且在所请求的时间段结束时对齐。这可能会导致第一个时间段的大小不同。 |
ErrorGroupOrder
错误组的排序顺序。
| 枚举 | |
|---|---|
GROUP_ORDER_UNSPECIFIED |
未指定任何组顺序。 |
COUNT_DESC |
指定时间窗口内的错误总数(按降序排列)。 |
LAST_SEEN_DESC |
相应群组在指定时间窗口内最后一次出现的时间戳(按降序排列)。 |
CREATED_DESC |
群组的创建时间戳(按降序排列)。 |
AFFECTED_USERS_DESC |
指定时间范围内受影响的用户数(按降序排列)。 |
输出架构
包含一组请求的错误组统计信息。
ListGroupStatsResponse
| JSON 表示法 |
|---|
{
"errorGroupStats": [
{
object ( |
| 字段 | |
|---|---|
errorGroupStats[] |
与指定请求匹配的错误组统计信息。 |
nextPageToken |
如果非空,则表示有更多结果。传递此令牌以及与第一个请求相同的查询参数,即可查看下一页结果。 |
timeRangeBegin |
时间戳用于指定请求受限的开始时间。开始时间是根据所请求的时间范围设置的。如果项目超出存储空间配额且旧数据已被删除,则可能会调整为更晚的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
ErrorGroupStats
| JSON 表示法 |
|---|
{ "group": { object ( |
| 字段 | |
|---|---|
group |
对独立于过滤条件的数据进行分组。 |
count |
指定组中与过滤条件匹配的事件的大致总数。 |
affectedUsersCount |
相应群组中符合过滤条件的大致受影响用户数。用户通过各个错误事件的 |
timedCounts[] |
一段时间内的大致出现次数。ListGroups 返回的定时计数保证为:
|
firstSeenTime |
相应群组首次出现的大致时间,该时间符合给定的过滤条件,但忽略了请求中指定的时间范围。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
lastSeenTime |
相应组的近似上次出现时间(符合指定过滤条件,忽略请求中指定的时间范围)。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
affectedServices[] |
在给定过滤条件下的错误数不为零的服务上下文。如果多个服务受到影响,此列表可能会被截断。如需了解总数,请参阅 |
numAffectedServices |
在给定过滤条件下,错误计数不为零的服务总数。 |
representative |
被选为整个群组的代表的任意事件。代表性活动旨在用作整个群组的快速预览。组中的事件通常彼此足够相似,因此显示任意代表性事件都能让您了解整个组的特征。 |
ErrorGroup
| JSON 表示法 |
|---|
{ "name": string, "groupId": string, "trackingIssues": [ { object ( |
| 字段 | |
|---|---|
name |
群组资源名称。写为 示例: 在群组资源名称中, 如需查看支持的位置列表,请参阅支持的区域。如果未指定,则默认值为 |
groupId |
群组的不透明标识符。此字段由 Error Reporting (与 Stackdriver 搭配使用时) 系统分配,并且始终填充。 在群组资源名称中, |
trackingIssues[] |
相关跟踪问题。 |
resolutionStatus |
错误组的解决状态。 未指定的解决状态将被解读为“开放” |
TrackingIssue
| JSON 表示法 |
|---|
{ "url": string } |
| 字段 | |
|---|---|
url |
指向问题跟踪系统中相关条目的网址。示例: |
TimedCount
| JSON 表示法 |
|---|
{ "count": string, "startTime": string, "endTime": string } |
| 字段 | |
|---|---|
count |
指定时间段内的大致出现次数。 |
startTime |
采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
endTime |
采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
ServiceContext
| JSON 表示法 |
|---|
{ "service": string, "version": string, "resourceType": string } |
| 字段 | |
|---|---|
service |
服务的标识符,例如可执行文件、作业或 Google App Engine 服务的名称。与 包含从 Google App Engine 日志中提取的错误报告的服务名称,如果使用 App Engine 默认服务,则为 |
version |
表示开发者提供的源代码版本,例如版本标签或 Git SHA-1 哈希。对于 App Engine 标准环境,版本设置为应用的相应版本。 |
resourceType |
MonitoredResource 的类型。可能的值的列表:https://cloud.google.com/monitoring/api/resources 系统会自动为传入的错误设置值,报告错误时不得设置该值。 |
ErrorEvent
| JSON 表示法 |
|---|
{ "eventTime": string, "serviceContext": { object ( |
| 字段 | |
|---|---|
eventTime |
错误报告中提供的事件发生时间。如果报告不包含时间戳,则使用 Error Reporting (when used with Stackdriver) 系统收到错误的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
serviceContext |
报告此错误的 |
message |
服务报告或记录的堆栈轨迹。 |
context |
有关发生错误的上下文的数据。 |
ErrorContext
| JSON 表示法 |
|---|
{ "httpRequest": { object ( |
| 字段 | |
|---|---|
httpRequest |
触发错误时处理的 HTTP 请求。 |
user |
造成崩溃或受崩溃影响的用户。它可以是用户 ID、电子邮件地址,也可以是唯一标识用户的任意令牌。发送错误报告时,如果用户未登录,请将此字段留空。在这种情况下,Error Reporting 系统将使用其他数据(例如远程 IP 地址)来区分受影响的用户。请参阅 |
reportLocation |
源代码中作出报告错误决定的位置,通常是记录错误的位置。对于记录的异常,它将是记录异常的源行,通常靠近捕获异常的位置。 |
sourceReferences[] |
用于构建导致出现指定错误消息的可执行文件的源代码。 |
HttpRequestContext
| JSON 表示法 |
|---|
{ "method": string, "url": string, "userAgent": string, "referrer": string, "responseStatusCode": integer, "remoteIp": string } |
| 字段 | |
|---|---|
method |
HTTP 请求的类型,例如 |
url |
请求的网址。 |
userAgent |
随请求提供的用户代理信息。 |
referrer |
随请求提供的引荐来源信息。 |
responseStatusCode |
请求的 HTTP 响应状态代码。 |
remoteIp |
发出请求的 IP 地址。它可以是 IPv4、IPv6,也可以是从 IP 地址派生的令牌,具体取决于错误报告中提供的数据。 |
SourceLocation
| JSON 表示法 |
|---|
{ "filePath": string, "lineNumber": integer, "functionName": string } |
| 字段 | |
|---|---|
filePath |
源代码文件名,可以包含截断的相对路径,也可以是从生产机器开始的完整路径。 |
lineNumber |
从 1 开始。0 表示未知行号。 |
functionName |
函数或方法的人类可读名称。该值可以包含可选上下文,如类或软件包名称。例如,如果使用的是 Java,则为 |
SourceReference
| JSON 表示法 |
|---|
{ "repository": string, "revisionId": string } |
| 字段 | |
|---|---|
repository |
可选。用于标识代码库的 URI 字符串。示例:“https://github.com/GoogleCloudPlatform/kubernetes.git” |
revisionId |
已部署修订版本的规范且持久的标识符。示例 (git):"0035781c50ec7aa23385dc841529ce8a4b70db1b" |
ResolutionStatus
错误组的解决状态。
| 枚举 | |
|---|---|
RESOLUTION_STATUS_UNSPECIFIED |
状态未知。如果在请求中未指定,则视为 OPEN。 |
OPEN |
相应错误组未得到处理。这是新群组的默认设置。它还用于标记为“已解决”后再次出现的错误。 |
ACKNOWLEDGED |
手动确认的错误组,可以附加问题链接。 |
RESOLVED |
错误组已手动解决,预计不会再出现此组的更多事件。 |
MUTED |
在群组统计信息请求中,错误组默认处于静音状态并被排除。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌