@@ -17,9 +17,59 @@ This edition covers what happened during the month of May 2019.
17
17
18
18
## Discussions
19
19
20
- <!-- -
20
+
21
21
### General
22
- -->
22
+
23
+ * [ I made a flame graph renderer for git's trace2 output
] ( https://public-inbox.org/git/[email protected] / )
24
+
25
+ Ævar Arnfjörð Bjarmason sent an email saying he developed a script that uses the
26
+ [ FlameGraph tool] ( http://www.brendangregg.com/flamegraphs.html )
27
+ and the new
28
+ [ Git Trace2 API] ( https://github.com/git/git/blob/master/Documentation/technical/api-trace2.txt )
29
+ to generate a
30
+ [ picture] ( https://vm.nix.is/~avar/noindex/git-tests.svg ) showing
31
+ where Git's test suite spends its time.
32
+
33
+ He added that he plans to improve
34
+ [ his script] ( https://github.com/avar/FlameGraph/commit/7a834718a12ed8b0d897ee90b00e2f654508cabd )
35
+ over time and maybe submit it in a Pull Request to the FlameGraph
36
+ tool, or perhaps integrate it in the Git test suite.
37
+
38
+ The Trace2 API, has been de
39
+
40
+ Derrick Stolee, who prefers to be called just Stolee, replied that
41
+ he liked the idea and sent the commands using Ævar's script that he used to create
42
+ [ another picture] ( https://github.com/derrickstolee/FlameGraph/blob/git-test/git-test.svg )
43
+ from a much smaller test.
44
+
45
+ Gábor Szeder commented on Stolee's commands to ask why "GIT_TR2"
46
+ instead of "GIT_TRACE2" was used in the environment variables
47
+ related to the Trace2 API. Gábor refered to Ken Thompson "who
48
+ (allegedly?) later regretted spelling creat()/O_CREAT without the
49
+ 'e'..."
50
+
51
+ Jeff King, alias Peff, replied to Ævar's initial email asking
52
+ "doesn't ` perf record -g make test ` already give us that granular
53
+ data?" refering to the [ Linux perf tool] ( https://en.wikipedia.org/wiki/Perf_(Linux) )
54
+ which is already supported by the FlameGraph tool. Peff also
55
+ wondered about the usefulness of such a graph:
56
+
57
+ > But having generated such a flamegraph, it's not all that helpful. It
58
+ > mainly tells us that we spend a lot of time on fork/exec. Which is no
59
+ > surprise, since the test suite is geared not towards heavy workloads,
60
+ > but lots of tiny functionality tests.
61
+
62
+ Though he agreed that it could help in some cases:
63
+
64
+ > I think the trace2 flamegraph would be most useful if you were
65
+ > collecting across a broad spectrum of workloads done by a user. You
66
+ > _ can_ do that with perf or similar tools, but it can be a bit awkward.
67
+
68
+ Ævar replied that his "actual use-case for this is to see what
69
+ production nodes are spending their time on, similar to what Microsoft
70
+ is doing with their use of this facility."
71
+
72
+ Jeff Hostetler, who initialy authored the Trace2 API
23
73
24
74
<!-- -
25
75
### Reviews
0 commit comments