USENIX ATC '17: Visualizing Performance with Flame Graphs

Поділитися
Вставка
  • Опубліковано 5 чер 2024
  • Brendan Gregg, Senior Performance Architect, Netflix
    Flame graphs are a simple stack trace visualization that helps answer an everyday problem: how is software consuming resources, especially CPUs, and how did this change since the last software version? Flame graphs have been adopted by many languages, products, and companies, including Netflix, and have become a standard tool for performance analysis. They were published in "The Flame Graph" article in the June 2016 issue of Communications of the ACM, by their creator, Brendan Gregg.
    This talk describes the background for this work, and the challenges encountered when profiling stack traces and resolving symbols for different languages, including for just-in-time compiler runtimes. Instructions will be included generating mixed-mode flame graphs on Linux, and examples from our use at Netflix with Java. Advanced flame graph types will be described, including differential, off-CPU, chain graphs, memory, and TCP events. Finally, future work and unsolved problems in this area will be discussed.
    View the entire USENIX ATC '17 program at www.usenix.org/conference/atc...
  • Наука та технологія

КОМЕНТАРІ • 15

  • @shuyijia3755
    @shuyijia3755 3 роки тому +35

    Quick explanation to flame graph starts at 12:47

  • @kalyanasundaramgnanasekara9986
    @kalyanasundaramgnanasekara9986 2 роки тому +1

    I understood about profiler works, interpret the flame graphs, types of flame graphs. after watched this video I ordered the 'System Performance' and 'BPF programming guide' books which are written by Brendan Gregg. Thanks.

  • @goverdhank
    @goverdhank 6 років тому

    Thanks for sharing ! You rock

  • @milequinze
    @milequinze 2 роки тому

    Awesome, thanks!

  • @SoeaOu
    @SoeaOu 3 роки тому

    Great talk, thanks.

  • @ronneilcamara5071
    @ronneilcamara5071 5 років тому +3

    We've been troubleshooting Jenkins issues for almost 4 months now. The "top" tool shows kworker is at 100% cpu utilization. We can't figure out what the culprit really is. Using strace to attach to the process doesn't do anything. Jenkins java process is hung or frozen. Any tips on how we should debug this issue?

  • @WALLACE9009
    @WALLACE9009 5 років тому

    What happens when function C is called by function A and also by function B? I kind of see C parallel to A and B but not on top of A and B.

  • @maoandmi
    @maoandmi 6 років тому

    Good stuff!

  • @sid6576
    @sid6576 Рік тому

    Legendary

  • @MikhailMatrosov
    @MikhailMatrosov 6 років тому +2

    How do you display situation when a function appears on different call stacks? E.g. if F() does 100% of the job in your app, but 50% times it is called from A(), and 50% times it is called from B()? What would flame graph for this setup be?

    • @Darleer
      @Darleer 6 років тому

      good question. I am no flamegraph expert so just wonder if you've found an answer yet?

    • @MikhailMatrosov
      @MikhailMatrosov 6 років тому

      Nope, still mystery to me :)

    • @nicoster2
      @nicoster2 5 років тому +4

      Mikhail Matrosov then you get 2 towers A-F, B-F, each with 50% width

  • @williammeng2217
    @williammeng2217 6 років тому

    good stuff.

  • @xl000
    @xl000 5 років тому +2

    Do you have any plans to have Netflix in North Korea and Syria ?