如何使用谷歌云跟踪请求跟踪

时间:2016-01-19 18:31:56

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

Google Cloud拥有强大的跟踪工具,可用于分析请求和RPC的延迟。但它似乎只是选择一些它发现值得追踪的请求。有时这很好,你可以浏览现有的痕迹。但是,如果您正在进行性能增强,那么您现在需要对特定查询进行跟踪,您不希望等到它被认为有趣。

问题是

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

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

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

3 个答案:

答案 0 :(得分:3)

您可以通过正确设置云跟踪上下文标头来强制跟踪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

答案 1 :(得分:1)

由于您对特定请求感兴趣,为什么不使用appstats? https://cloud.google.com/appengine/docs/python/tools/appstats?hl=en你可以提高性能,打开appstats并将其部署到不同的版本,并从appengine_config.py获得一些控制权

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

答案 2 :(得分:1)

  
    

在决定跟踪哪些查询时有哪些规则干预?

  

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

  
    

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

  

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

您可以添加跟踪上下文以强制请求强制跟踪请求。跟踪上下文本质上是一个HTTP标头(X-Cloud-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