Replace the profile button in the performance bar to a flamegraph

Problem to solve

Today in Performance Bar, click profile button will show

profile of the code used to generate the page, line by line. In the profile view, the numbers in the left panel represent wall time, cpu time, and number of calls (based on rblineprof)

As per https://gitlab.com/gitlab-org/gitlab-ce/issues/62270#note_193793549 and https://gitlab.com/gitlab-org/gitlab-ce/issues/62270#note_194480117, the flamegraph in stackprof is more useful than the line profile in practice.

This issue is to replace the profile button in the performance bar to a flamegraph.

Intended users

Sasha (Software Developer)

Devon (DevOps Engineer)

Proposal

In the same place where today it invokes rblineprof, replace rblineprof to stackprof, and generate flamegraph.

What does success look like, and how can we measure that?

Be able to show flamegraph of the code which generating the page, when click profile button from Performance Bar

Links / references

  • https://github.com/tmm1/stackprof
  • https://docs.gitlab.com/ee/administration/monitoring/performance/performance_bar.html
  • https://jvns.ca/blog/2017/12/17/how-do-ruby---python-profilers-work-/
Edited Jul 24, 2019 by Craig Gomes
Assignee Loading
Time tracking Loading