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

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

问题是

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

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

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

【问题讨论】:

    标签: google-app-engine google-app-engine-python appstats google-cloud-trace


    【解决方案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

    【讨论】:

    【解决方案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

    【讨论】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-16
      • 2021-11-09
      • 2016-12-09
      • 1970-01-01
      • 2021-06-24
      • 2019-05-10
      • 1970-01-01
      • 2010-11-04
      相关资源
      最近更新 更多