【问题标题】:How can I link a StackDriver trace to the App Engine log for that event?如何将 StackDriver 跟踪链接到该事件的 App Engine 日志?
【发布时间】:2016-06-21 18:56:23
【问题描述】:

当我查看 AppEngine 自动生成的 StackDriver 跟踪时,有一个日志链接(它永远不会显示超过一行的日志,但希望他们正在努力修复它。)

有没有办法告诉 StackDriver,当我发送跟踪和一组跨度时,将跟踪与什么 request_id 关联?

【问题讨论】:

    标签: google-app-engine logging stackdriver


    【解决方案1】:

    它应该只是一个日志,因为您正在搜索一个特定请求的日志。单击左侧三角形将展开日志。

    如果您真的不需要去日志查看器查看日志,您可以使用跟踪详细信息页面上的“显示日志”按钮。通过单击它,它将在跨度之间嵌入日志语句。日志语句的位置由日志时间决定,相对于 span 的开始时间。

    单击日志语句行将在右侧面板上显示日志语句的完整详细信息。请参见下面的示例。 “显示日志”按钮在圆圈中。

    要将您创建的跟踪范围与 GAE 创建的跟踪范围配对,只需将跟踪上下文作为 HTTP 标头传递给 GAE 应用程序。

    Header name: X-Cloud-Trace-Context
    Header format: <trace-id>[/<span-id>][;o=<trace-options>]
    

    trace-id 应设置为与您生成的跟踪相同。 span-id 应该设置为调用 GAE 应用程序的那个。这是 GAE 顶部跨度的父跨度 ID。 o 如果要跟踪,则应设置为 1,如果不跟踪,则应设置为 0。

    例子:

    X-Cloud-Trace-Context : 905e8445aa7843bc8bf206b13f12439c/12345;o=1
    $ curl --header "X-Cloud-Trace-Context:4bf92f3577b34da6a3ce929d0e0e4736/12345;o=1" \
    http://<your-app-id>.appspot.com/
    

    【讨论】:

    • 当您创建自己的跟踪时,它们不会与默认的堆栈驱动程序跟踪配对(默认跟踪和自定义跟踪作为单独的时间序列),因此 - 没有日志按钮。
    • 您可以通过将跟踪上下文标头传递给 GAE 应用程序来将它们配对。 X-Cloud-Trace-Context 的格式为:[/][;o=]。 是一个 32 位十六进制字符串,表示一个随机的 128 位无符号整数,例如,“4bf92f3577b34da6a3ce929d0e0e4736”。它应该与您生成的跟踪 ID 相同。 应该是您生成的调用者代码的 span-id。 设置为 1。示例: curl --header "X-Cloud-Trace-Context:4bf92f3577b34da6a3ce929d0e0e4736/123;o=1" http://.appspot.com/
    猜你喜欢
    • 2020-02-13
    • 2018-09-06
    • 2018-11-25
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多