SoCC21-VAIF-Automating instrumentation choices for performanceproblems in distributed applications with VAIF

总结

  • VAIF: 变化驱动的自动化插桩框架

    • 自动根据性能问题选择需要的插桩点 – 慢代码或不可预期的性能问题(高方差)
  • 本文只需要比较时间即可 (方差大的,延时多的),不比较路径变化,每种路径变化就是一种新的trace。

  • Pythia的改进版,只看本文即可
  • 问题:只考虑了时间点的变化。

    • 方差反映不足:cache/not cache vs 一两次出问题
    • 路径出现微小变化怎么办

1. Intro

  • 动态日志需要程序员手动指定,搜索空间大

  • 自动化日志注重于错误的记录,非性能问题

  • 性能问题:

    • 功能缓慢、资源争用、负载失衡
  • VAIF

    • 自动插桩-在正常操作期间,VAIF的操作与今天的分布式跟踪相同,并在默认启用跟踪点级别的情况下生成跟踪。当开发人员必须诊断为什么请求很慢时,他们按下一个按钮,VAIF自动探索必须启用哪些额外的跟踪点来定位问题源。

2. TOWARDS AUTOMATION - 对自动化的一些解释

  • 2.1 log

    • 分为:正确性log和性能问题log
  • 2.2 关键点

    • 相似路径的请求会有相似的时间

    • 相似的工作流,但执行差异大(时间方差大),则有unknow行为

    • 独立随机变量的方差可直接相加

      • 通过识别在方差中贡献最多的边 来 识别三方库中导致不确定行为的领域
  • 2.3 定位规则

    • 相同的路径但是有高方差,从而锁定贡献最大的边

      • a - 高方差
    • 低方差但高响应时间

      • c - 高响应时间
    • 逐步定位,逐步插桩

后面有时间再补

SoCC21-VAIF-Automating instrumentation choices for performanceproblems in distributed applications with VAIF

https://www.fireknight.tech/2023/01/12/SoCC21-VAIF-Automating-instrumentation-choices-for-performanceproblems-in-distributed-applications-with-VAIF/

作者

FireKnight

发布于

2023-01-12

更新于

2023-01-12

许可协议

评论