【问题标题】:Execution ID on Google Cloud RunGoogle Cloud Run 上的执行 ID
【发布时间】:2022-11-08 20:06:31
【问题描述】:

我想知道 Cloud Run 中是否存在执行 ID 作为 Google Cloud Functions 中的执行 ID?

单独标识每个调用的 ID,使用 Cloud Logging 中的“显示匹配条目”来获取与执行相关的所有日志非常有用。

我了解执行过程不同,Cloud Run 允许并发,但是否有解决方法将每个日志分配给某个执行?

我的最终需要是将请求和响应分组在同一行。因为,就目前而言,我正在分别打印它们,如果几个请求同时到达,我看不到什么响应对应于什么请求......

感谢您的关注!

【问题讨论】:

  • 不,没有执行 ID,只有 instanceID。为此,您可以使用检测工具,例如 Open Telemetry。您还可以使用自定义/随机执行 ID 自定义应用程序日志(类似于 OT 所做的)
  • 嘿,纪尧姆,谢谢,好的,我正在看 OT!
  • 以上评论是否帮助您解决问题?如果是这样,您能否分享解决方案,以便对其他人也有帮助?

标签: google-cloud-functions google-cloud-run google-cloud-logging


【解决方案1】:

开放遥测看起来是一个很好的解决方案,但学习和操作时间不可忽略,

我将使用在 before_request 中创建的自定义 id,存储在 Flask g 中并在每次 print() 时调用。

@app.before_request
def before_request_func():
    
    execution_id = uuid.uuid4()

    g.execution_id = execution_id

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 2020-04-08
    • 1970-01-01
    • 2019-09-11
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2020-12-15
    相关资源
    最近更新 更多