可以使用 Stackdriver 日志分析工具来将 AppEngine 响应计数指标按响应类分组。可以通过为不同的响应类添加特殊的标记或关键字来实现此目的,并使用这些标记或关键字在 Stackdriver 中创建分析和仪表板。
以下是一个示例代码,用于将 AppEngine 响应计数指标按响应类分组并记录到 Stackdriver 日志中:
import google.auth
from google.cloud import logging_v2
# 设置认证信息
credentials, project_id = google.auth.default()
client = logging_v2.LoggingServiceV2Client(credentials=credentials)
# 定义日志名称、字符串和标记
log_name = "projects/{}/logs/{}".format(project_id, "response-count")
response_classes = ["200", "404", "500"]
filter_tags = ["response-class-{}".format(c) for c in response_classes]
# 遍历响应计数指标,添加标签并写入日志
for metric in client.list_log_metrics(
"projects/{}/metrics/".format(project_id),
filter_=f'metric.type="appengine.googleapis.com/http/response_count"',
):
for tag in filter_tags:
label = logging_v2.LogMetric.LabelDescriptor(key="tag", value_type="STRING")
metric.label_descriptors.append(label)
logging_v2.update_log_metric(metric)
body = {
"log_name": log_name,
"resource": metric.resource,
"labels": {"tag": "response-class-{}".format(metric.label_value)},
"text_payload": f"{metric.metric_value.int64_value}",
}
client.write_log_entries([body])
这个代码示例将按响应类分组的 AppEngine 响应计数指标记录到名为 “response-count” 的 Stackdriver 日志中,并使用名为 “response-class-