如何使用 google cloud-trace 请求跟踪

Posted

技术标签:

【中文标题】如何使用 google cloud-trace 请求跟踪【英文标题】:How to request a trace with google cloud-trace 【发布时间】:2016-04-25 09:00:22 【问题描述】:

Google Cloud 具有强大的跟踪工具,可用于分析请求和 RPC 的延迟。但它似乎只是挑选一些它认为值得追踪的请求。有时这已经足够了,您可以浏览现有的痕迹。但是,如果您正在努力提高性能,您希望立即跟踪您的特定查询,您不想等到它被认为是有趣的时候。

问题是

哪些规则会干预决定跟踪哪些查询?

有没有办法要求为给定的 URI 捕获跟踪?

是从开发者控制台中,还是从我们的应用程序中调用一些 API?或者通过一些 app.yaml 配置?还是我们必须等待并祈祷伟大的算法选择我们的请求?

【问题讨论】:

【参考方案1】:

您可以通过正确设置云跟踪上下文标头来强制跟踪 HTTP 请求:

$ curl -H "X-Cloud-Trace-Context: 01234567890123456789012345678901;o=1" http://<your-app>.appspot.com/<path>

01234567890123456789012345678901(32 个十六进制字符)是跟踪 ID。你想每次都使用不同的。 o=1 启用跟踪。

使用以下 URL 查看跟踪(最后一部分是跟踪 id): http://console.developer.google.com/traces/details/01234567890123456789012345678901

【讨论】:

记录在这里:cloud.google.com/trace/docs/…【参考方案2】:

哪些规则会干预决定跟踪哪些查询?

目前有一个采样率来指导跟踪哪个请求。请求以每个实例每秒的少量请求进行采样。

有没有办法要求为给定的 URI 捕获跟踪?

根据您的情况,以下内容可能会有所帮助。

您可以添加跟踪上下文以强制请求对请求进行强制跟踪。 Trace Context本质上是一个HTTP头(X-Cloud-Trace-Context)

这是一个帮助注入 Trace Context 的指针:https://github.com/liqianluo/gcloud-trace-java/blob/master/cloud-trace-sdk-java-core/src/main/java/com/google/cloud/trace/sdk/TraceContext.java

【讨论】:

抱歉,*** 的新手,不确定参与此论坛的细微差别。但是我构建了上面问题中描述的这个工具。所以只是想帮忙。 @patb - 你能告诉我更多关于你的场景吗?我很想了解你在做什么?我上面的建议可能会解除对您的阻止。【参考方案3】:

既然您对特定请求感兴趣,为什么不使用 appstats? https://cloud.google.com/appengine/docs/python/tools/appstats?hl=en 您可以进行性能增强,打开 appstats 并将其部署到不同的版本,并通过 appengine_config.py 进行一些控制

我使用云跟踪来获取聚合分析,以根据请求获取更多详细信息,我总是使用 appstats,因为它包含更多信息。

【讨论】:

以上是关于如何使用 google cloud-trace 请求跟踪的主要内容,如果未能解决你的问题,请参考以下文章

如何使用google解决问题

如何通过 PHP 使用 Google 电子钱包?

使用 AGM 拖动地图时如何将 Google 地图标记保持在中心?

如何在目标 c 中使用 Google 自定义搜索进行图像搜索

如何通过组帐户使用 Google Script 发送电子邮件

如何使用 AngularJS 将文件上传到 Google Drive