创建基于日志的指标,跟踪2个日志之间的增量 [英] Create a log-based metrics that keeps track of the delta between 2 logs

查看:0
本文介绍了创建基于日志的指标,跟踪2个日志之间的增量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有3个协同工作的应用程序,并使用pub-Sub为"管理"发送消息。 假设有一个在启动时创建的"事务ID",它通过应用程序,并写入日志。

我将拥有如下日志:

app1 - transactionIdX - started - timestamp01
app1 - transactionIdX - ended - timestamp02
app2 - transactionIdX - started - timestamp03
app1 - transactionIdY - started - timestamp04
app1 - transactionIdY - ended - timestamp05
app2 - transactionIdX - ended - timestamp06
app3 - transactionIdX - started - timestamp07
app2 - transactionIdY - started - timestamp08
app2 - transactionIdY - ended - timestamp09
app3 - transactionIdX - ended - timestamp10
app3 - transactionIdY - started - timestamp11
app3 - transactionIdY - ended - timestamp12

我希望有一个公开此类信息的指标:

  • TransactionIdX-在时间戳10

    • 在app1-Need(时间戳02-时间戳01)秒
    • 在App2-Need(时间戳06-时间戳03)秒中
    • 在App3-Need(时间戳10-时间戳07)秒中
    • 总计需要(时间戳10-时间戳01)秒
  • Transaction IdY-在时间戳12

    • 在app1-Need(时间戳05-时间戳04)秒中
    • 在App2-Need(时间戳09-时间戳08)秒中
    • 在App3-Need(时间戳12-时间戳11)秒中
    • 总计需要(时间戳12-时间戳04)秒

是否有办法构建基于日志的指标来提供此类信息?

推荐答案

目前仅使用基于日志的指标接口无法实现。基于日志的度量管道不维护两个日志条目之间的状态,因此您无法捕获两个值并制定查询来捕获两者之间的差异。

我看到两种可能的解决方法:

  1. 检测你的应用以保留有关事务延迟的统计数据,并将其输出到日志中并使用基于日志的指标捕获它。
  2. 使用类似于Cloud Datalab的脚本在查询时执行此类计算,该脚本与StackDrive集成。

免责声明:我是Google StackDrive的工程师。

这篇关于创建基于日志的指标,跟踪2个日志之间的增量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆