Browse Source

Remove filenames when showing function (default) granularity

Previously we were showing filenames together with function names
when generating reports at function granularity. This was an attempt
to provide more information to the user, but it clutters the output.
Also, in cases where a function is associated to multiple files
(eg template instantiations in C++), keeping the filename may prevent
us from combining nodes from the same function.

Will stop keeping filenames at the default function granularity, and will
remove the "functionnameonly" option which was previously providing this
functionality.
Raul Silvera 8 years ago
parent
commit
74cc49f9f0

+ 0
- 3
internal/driver/commands.go View File

227
 	"functions": &variable{boolKind, "t", "granularity", helpText(
227
 	"functions": &variable{boolKind, "t", "granularity", helpText(
228
 		"Aggregate at the function level.",
228
 		"Aggregate at the function level.",
229
 		"Takes into account the filename/lineno where the function was defined.")},
229
 		"Takes into account the filename/lineno where the function was defined.")},
230
-	"functionnameonly": &variable{boolKind, "f", "granularity", helpText(
231
-		"Aggregate at the function level.",
232
-		"Ignores the filename/lineno where the function was defined.")},
233
 	"files": &variable{boolKind, "f", "granularity", "Aggregate at the file level."},
230
 	"files": &variable{boolKind, "f", "granularity", "Aggregate at the file level."},
234
 	"lines": &variable{boolKind, "f", "granularity", "Aggregate at the source code line level."},
231
 	"lines": &variable{boolKind, "f", "granularity", "Aggregate at the source code line level."},
235
 	"addresses": &variable{boolKind, "f", "granularity", helpText(
232
 	"addresses": &variable{boolKind, "f", "granularity", helpText(

+ 0
- 5
internal/driver/driver.go View File

196
 	case v["functions"].boolValue():
196
 	case v["functions"].boolValue():
197
 		inlines = true
197
 		inlines = true
198
 		function = true
198
 		function = true
199
-		filename = true
200
 	case v["noinlines"].boolValue():
199
 	case v["noinlines"].boolValue():
201
 		function = true
200
 		function = true
202
-		filename = true
203
 	case v["addressnoinlines"].boolValue():
201
 	case v["addressnoinlines"].boolValue():
204
 		function = true
202
 		function = true
205
 		filename = true
203
 		filename = true
206
 		linenumber = true
204
 		linenumber = true
207
 		address = true
205
 		address = true
208
-	case v["functionnameonly"].boolValue():
209
-		inlines = true
210
-		function = true
211
 	default:
206
 	default:
212
 		return fmt.Errorf("unexpected granularity")
207
 		return fmt.Errorf("unexpected granularity")
213
 	}
208
 	}

+ 13
- 13
internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot View File

1
 digraph "testbinary" {
1
 digraph "testbinary" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.11s, 99.11% of 1.12s total\lDropped 3 nodes (cum <= 0.06s)\l"] }
3
 subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.11s, 99.11% of 1.12s total\lDropped 3 nodes (cum <= 0.06s)\l"] }
4
-N1 [label="line1000\nfile1000.src\n1s (89.29%)" fontsize=24 shape=box tooltip="line1000 testdata/file1000.src (1s)" color="#b20500" fillcolor="#edd6d5"]
4
+N1 [label="line1000\n1s (89.29%)" fontsize=24 shape=box tooltip="line1000 (1s)" color="#b20500" fillcolor="#edd6d5"]
5
 N1_0 [label = "key1:tag1\nkey2:tag1" fontsize=8 shape=box3d tooltip="1s"]
5
 N1_0 [label = "key1:tag1\nkey2:tag1" fontsize=8 shape=box3d tooltip="1s"]
6
 N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
6
 N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
7
-N2 [label="line3000\nfile3000.src\n0 of 1.12s (100%)" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src (1.12s)" color="#b20000" fillcolor="#edd5d5"]
8
-N3 [label="line3001\nfile3000.src\n0 of 1.11s (99.11%)" fontsize=8 shape=box tooltip="line3001 testdata/file3000.src (1.11s)" color="#b20000" fillcolor="#edd5d5"]
9
-N4 [label="line1000\nfile1000.src\n0.10s (8.93%)" fontsize=14 shape=box tooltip="line1000 testdata/file1000.src (0.10s)" color="#b28b62" fillcolor="#ede8e2"]
7
+N2 [label="line3000\n0 of 1.12s (100%)" fontsize=8 shape=box tooltip="line3000 (1.12s)" color="#b20000" fillcolor="#edd5d5"]
8
+N3 [label="line3001\n0 of 1.11s (99.11%)" fontsize=8 shape=box tooltip="line3001 (1.11s)" color="#b20000" fillcolor="#edd5d5"]
9
+N4 [label="line1000\n0.10s (8.93%)" fontsize=14 shape=box tooltip="line1000 (0.10s)" color="#b28b62" fillcolor="#ede8e2"]
10
 N4_0 [label = "key1:tag2\nkey3:tag2" fontsize=8 shape=box3d tooltip="0.10s"]
10
 N4_0 [label = "key1:tag2\nkey3:tag2" fontsize=8 shape=box3d tooltip="0.10s"]
11
 N4 -> N4_0 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
11
 N4 -> N4_0 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
12
-N5 [label="line3002\nfile3000.src\n0.01s (0.89%)\nof 1.01s (90.18%)" fontsize=10 shape=box tooltip="line3002 testdata/file3000.src (1.01s)" color="#b20500" fillcolor="#edd6d5"]
13
-N6 [label="line2000\nfile2000.src\n0 of 1s (89.29%)" fontsize=8 shape=box tooltip="line2000 testdata/file2000.src (1s)" color="#b20500" fillcolor="#edd6d5"]
14
-N7 [label="line2001\nfile2000.src\n0 of 1s (89.29%)" fontsize=8 shape=box tooltip="line2001 testdata/file2000.src (1s)" color="#b20500" fillcolor="#edd6d5"]
15
-N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (1.11s)" labeltooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (1.11s)"]
16
-N3 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (1.01s)" labeltooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (1.01s)"]
17
-N6 -> N7 [label=" 1s\n (inline)" weight=90 penwidth=5 color="#b20500" tooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (1s)" labeltooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (1s)"]
18
-N7 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 testdata/file2000.src -> line1000 testdata/file1000.src (1s)" labeltooltip="line2001 testdata/file2000.src -> line1000 testdata/file1000.src (1s)"]
19
-N5 -> N6 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (1s)" labeltooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (1s)"]
20
-N3 -> N4 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (0.10s)" labeltooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (0.10s)"]
12
+N5 [label="line3002\n0.01s (0.89%)\nof 1.01s (90.18%)" fontsize=10 shape=box tooltip="line3002 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
13
+N6 [label="line2000\n0 of 1s (89.29%)" fontsize=8 shape=box tooltip="line2000 (1s)" color="#b20500" fillcolor="#edd6d5"]
14
+N7 [label="line2001\n0 of 1s (89.29%)" fontsize=8 shape=box tooltip="line2001 (1s)" color="#b20500" fillcolor="#edd6d5"]
15
+N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 -> line3001 (1.11s)" labeltooltip="line3000 -> line3001 (1.11s)"]
16
+N3 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 -> line3002 (1.01s)" labeltooltip="line3001 -> line3002 (1.01s)"]
17
+N6 -> N7 [label=" 1s\n (inline)" weight=90 penwidth=5 color="#b20500" tooltip="line2000 -> line2001 (1s)" labeltooltip="line2000 -> line2001 (1s)"]
18
+N7 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 -> line1000 (1s)" labeltooltip="line2001 -> line1000 (1s)"]
19
+N5 -> N6 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line3002 -> line2000 (1s)" labeltooltip="line3002 -> line2000 (1s)"]
20
+N3 -> N4 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 -> line1000 (0.10s)" labeltooltip="line3001 -> line1000 (0.10s)"]
21
 }
21
 }

+ 12
- 12
internal/driver/testdata/pprof.cpu.flat.functions.dot View File

1
 digraph "testbinary" {
1
 digraph "testbinary" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.12s, 100% of 1.12s total\l"] }
3
 subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.12s, 100% of 1.12s total\l"] }
4
-N1 [label="line1000\nfile1000.src\n1.10s (98.21%)" fontsize=24 shape=box tooltip="line1000 testdata/file1000.src (1.10s)" color="#b20000" fillcolor="#edd5d5"]
4
+N1 [label="line1000\n1.10s (98.21%)" fontsize=24 shape=box tooltip="line1000 (1.10s)" color="#b20000" fillcolor="#edd5d5"]
5
 N1_0 [label = "key1:tag1\nkey2:tag1" fontsize=8 shape=box3d tooltip="1s"]
5
 N1_0 [label = "key1:tag1\nkey2:tag1" fontsize=8 shape=box3d tooltip="1s"]
6
 N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
6
 N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
7
 N1_1 [label = "key1:tag2\nkey3:tag2" fontsize=8 shape=box3d tooltip="0.10s"]
7
 N1_1 [label = "key1:tag2\nkey3:tag2" fontsize=8 shape=box3d tooltip="0.10s"]
8
 N1 -> N1_1 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
8
 N1 -> N1_1 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
9
-N2 [label="line3000\nfile3000.src\n0 of 1.12s (100%)" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src (1.12s)" color="#b20000" fillcolor="#edd5d5"]
10
-N3 [label="line3001\nfile3000.src\n0 of 1.11s (99.11%)" fontsize=8 shape=box tooltip="line3001 testdata/file3000.src (1.11s)" color="#b20000" fillcolor="#edd5d5"]
11
-N4 [label="line3002\nfile3000.src\n0.01s (0.89%)\nof 1.02s (91.07%)" fontsize=10 shape=box tooltip="line3002 testdata/file3000.src (1.02s)" color="#b20400" fillcolor="#edd6d5"]
12
-N5 [label="line2001\nfile2000.src\n0.01s (0.89%)\nof 1.01s (90.18%)" fontsize=10 shape=box tooltip="line2001 testdata/file2000.src (1.01s)" color="#b20500" fillcolor="#edd6d5"]
13
-N6 [label="line2000\nfile2000.src\n0 of 1.01s (90.18%)" fontsize=8 shape=box tooltip="line2000 testdata/file2000.src (1.01s)" color="#b20500" fillcolor="#edd6d5"]
14
-N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (1.11s)" labeltooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (1.11s)"]
15
-N6 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (1.01s)" labeltooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (1.01s)"]
16
-N3 -> N4 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (1.01s)" labeltooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (1.01s)"]
17
-N4 -> N6 [label=" 1.01s" weight=91 penwidth=5 color="#b20500" tooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (1.01s)" labeltooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (1.01s)"]
18
-N5 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 testdata/file2000.src -> line1000 testdata/file1000.src (1s)" labeltooltip="line2001 testdata/file2000.src -> line1000 testdata/file1000.src (1s)"]
19
-N3 -> N1 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (0.10s)" labeltooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (0.10s)"]
9
+N2 [label="line3000\n0 of 1.12s (100%)" fontsize=8 shape=box tooltip="line3000 (1.12s)" color="#b20000" fillcolor="#edd5d5"]
10
+N3 [label="line3001\n0 of 1.11s (99.11%)" fontsize=8 shape=box tooltip="line3001 (1.11s)" color="#b20000" fillcolor="#edd5d5"]
11
+N4 [label="line3002\n0.01s (0.89%)\nof 1.02s (91.07%)" fontsize=10 shape=box tooltip="line3002 (1.02s)" color="#b20400" fillcolor="#edd6d5"]
12
+N5 [label="line2001\n0.01s (0.89%)\nof 1.01s (90.18%)" fontsize=10 shape=box tooltip="line2001 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
13
+N6 [label="line2000\n0 of 1.01s (90.18%)" fontsize=8 shape=box tooltip="line2000 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
14
+N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 -> line3001 (1.11s)" labeltooltip="line3000 -> line3001 (1.11s)"]
15
+N6 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line2000 -> line2001 (1.01s)" labeltooltip="line2000 -> line2001 (1.01s)"]
16
+N3 -> N4 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 -> line3002 (1.01s)" labeltooltip="line3001 -> line3002 (1.01s)"]
17
+N4 -> N6 [label=" 1.01s" weight=91 penwidth=5 color="#b20500" tooltip="line3002 -> line2000 (1.01s)" labeltooltip="line3002 -> line2000 (1.01s)"]
18
+N5 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 -> line1000 (1s)" labeltooltip="line2001 -> line1000 (1s)"]
19
+N3 -> N1 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 -> line1000 (0.10s)" labeltooltip="line3001 -> line1000 (0.10s)"]
20
 }
20
 }

+ 6
- 6
internal/driver/testdata/pprof.cpu.flat.functions.text View File

1
 Showing nodes accounting for 1.12s, 100% of 1.12s total
1
 Showing nodes accounting for 1.12s, 100% of 1.12s total
2
       flat  flat%   sum%        cum   cum%
2
       flat  flat%   sum%        cum   cum%
3
-     1.10s 98.21% 98.21%      1.10s 98.21%  line1000 testdata/file1000.src
4
-     0.01s  0.89% 99.11%      1.01s 90.18%  line2001 testdata/file2000.src (inline)
5
-     0.01s  0.89%   100%      1.02s 91.07%  line3002 testdata/file3000.src (inline)
6
-         0     0%   100%      1.01s 90.18%  line2000 testdata/file2000.src
7
-         0     0%   100%      1.12s   100%  line3000 testdata/file3000.src
8
-         0     0%   100%      1.11s 99.11%  line3001 testdata/file3000.src (inline)
3
+     1.10s 98.21% 98.21%      1.10s 98.21%  line1000
4
+     0.01s  0.89% 99.11%      1.01s 90.18%  line2001 (inline)
5
+     0.01s  0.89%   100%      1.02s 91.07%  line3002 (inline)
6
+         0     0%   100%      1.01s 90.18%  line2000
7
+         0     0%   100%      1.12s   100%  line3000
8
+         0     0%   100%      1.11s 99.11%  line3001 (inline)

+ 8
- 8
internal/driver/testdata/pprof.cpu.peek View File

2
 ----------------------------------------------------------+-------------
2
 ----------------------------------------------------------+-------------
3
       flat  flat%   sum%        cum   cum%   calls calls% + context 	 	 
3
       flat  flat%   sum%        cum   cum%   calls calls% + context 	 	 
4
 ----------------------------------------------------------+-------------
4
 ----------------------------------------------------------+-------------
5
-                                             1.01s   100% |   line2000 testdata/file2000.src (inline)
6
-     0.01s  0.89%  0.89%      1.01s 90.18%                | line2001 testdata/file2000.src
7
-                                                1s 99.01% |   line1000 testdata/file1000.src
8
-----------------------------------------------------------+-------------
9
-                                             1.11s   100% |   line3000 testdata/file3000.src (inline)
10
-         0     0%  0.89%      1.11s 99.11%                | line3001 testdata/file3000.src
11
-                                             1.01s 90.99% |   line3002 testdata/file3000.src (inline)
12
-                                             0.10s  9.01% |   line1000 testdata/file1000.src
5
+                                             1.01s   100% |   line2000 (inline)
6
+     0.01s  0.89%  0.89%      1.01s 90.18%                | line2001
7
+                                                1s 99.01% |   line1000
8
+----------------------------------------------------------+-------------
9
+                                             1.11s   100% |   line3000 (inline)
10
+         0     0%  0.89%      1.11s 99.11%                | line3001
11
+                                             1.01s 90.99% |   line3002 (inline)
12
+                                             0.10s  9.01% |   line1000
13
 ----------------------------------------------------------+-------------
13
 ----------------------------------------------------------+-------------

+ 16
- 16
internal/driver/testdata/pprof.cpu.traces View File

4
 -----------+-------------------------------------------------------
4
 -----------+-------------------------------------------------------
5
       key1:  tag1
5
       key1:  tag1
6
       key2:  tag1
6
       key2:  tag1
7
-        1s   line1000 testdata/file1000.src
8
-             line2001 testdata/file2000.src
9
-             line2000 testdata/file2000.src
10
-             line3002 testdata/file3000.src
11
-             line3001 testdata/file3000.src
12
-             line3000 testdata/file3000.src
7
+        1s   line1000
8
+             line2001
9
+             line2000
10
+             line3002
11
+             line3001
12
+             line3000
13
 -----------+-------------------------------------------------------
13
 -----------+-------------------------------------------------------
14
       key1:  tag2
14
       key1:  tag2
15
       key3:  tag2
15
       key3:  tag2
16
-     100ms   line1000 testdata/file1000.src
17
-             line3001 testdata/file3000.src
18
-             line3000 testdata/file3000.src
16
+     100ms   line1000
17
+             line3001
18
+             line3000
19
 -----------+-------------------------------------------------------
19
 -----------+-------------------------------------------------------
20
       key1:  tag3
20
       key1:  tag3
21
       key2:  tag2
21
       key2:  tag2
22
-      10ms   line2001 testdata/file2000.src
23
-             line2000 testdata/file2000.src
24
-             line3002 testdata/file3000.src
25
-             line3000 testdata/file3000.src
22
+      10ms   line2001
23
+             line2000
24
+             line3002
25
+             line3000
26
 -----------+-------------------------------------------------------
26
 -----------+-------------------------------------------------------
27
       key1:  tag4
27
       key1:  tag4
28
       key2:  tag1
28
       key2:  tag1
29
-      10ms   line3002 testdata/file3000.src
30
-             line3001 testdata/file3000.src
31
-             line3000 testdata/file3000.src
29
+      10ms   line3002
30
+             line3001
31
+             line3000
32
 -----------+-------------------------------------------------------
32
 -----------+-------------------------------------------------------

+ 10
- 10
internal/driver/testdata/pprof.heap.cum.relative_percentages.tree.focus View File

3
 ----------------------------------------------------------+-------------
3
 ----------------------------------------------------------+-------------
4
       flat  flat%   sum%        cum   cum%   calls calls% + context 	 	 
4
       flat  flat%   sum%        cum   cum%   calls calls% + context 	 	 
5
 ----------------------------------------------------------+-------------
5
 ----------------------------------------------------------+-------------
6
-                                           63.48MB   100% |   line3002 testdata/file3000.src
7
-         0     0%     0%    63.48MB   100%                | line2000 testdata/file2000.src
8
-                                           63.48MB   100% |   line2001 testdata/file2000.src (inline)
6
+                                           63.48MB   100% |   line3002
7
+         0     0%     0%    63.48MB   100%                | line2000
8
+                                           63.48MB   100% |   line2001 (inline)
9
 ----------------------------------------------------------+-------------
9
 ----------------------------------------------------------+-------------
10
-                                           63.48MB   100% |   line2000 testdata/file2000.src (inline)
11
-   62.50MB 98.46% 98.46%    63.48MB   100%                | line2001 testdata/file2000.src
10
+                                           63.48MB   100% |   line2000 (inline)
11
+   62.50MB 98.46% 98.46%    63.48MB   100%                | line2001
12
 ----------------------------------------------------------+-------------
12
 ----------------------------------------------------------+-------------
13
-         0     0% 98.46%    63.48MB   100%                | line3000 testdata/file3000.src
14
-                                           63.48MB   100% |   line3002 testdata/file3000.src (inline)
13
+         0     0% 98.46%    63.48MB   100%                | line3000
14
+                                           63.48MB   100% |   line3002 (inline)
15
 ----------------------------------------------------------+-------------
15
 ----------------------------------------------------------+-------------
16
-                                           63.48MB   100% |   line3000 testdata/file3000.src (inline)
17
-         0     0% 98.46%    63.48MB   100%                | line3002 testdata/file3000.src
18
-                                           63.48MB   100% |   line2000 testdata/file2000.src
16
+                                           63.48MB   100% |   line3000 (inline)
17
+         0     0% 98.46%    63.48MB   100%                | line3002
18
+                                           63.48MB   100% |   line2000
19
 ----------------------------------------------------------+-------------
19
 ----------------------------------------------------------+-------------

+ 6
- 6
internal/driver/testdata/pprof.heap.flat.inuse_objects.text View File

1
 Showing nodes accounting for 150, 100% of 150 total
1
 Showing nodes accounting for 150, 100% of 150 total
2
       flat  flat%   sum%        cum   cum%
2
       flat  flat%   sum%        cum   cum%
3
-        80 53.33% 53.33%        130 86.67%  line3002 testdata/file3000.src (inline)
4
-        40 26.67% 80.00%         50 33.33%  line2001 testdata/file2000.src (inline)
5
-        30 20.00%   100%         30 20.00%  line1000 testdata/file1000.src
6
-         0     0%   100%         50 33.33%  line2000 testdata/file2000.src
7
-         0     0%   100%        150   100%  line3000 testdata/file3000.src
8
-         0     0%   100%        110 73.33%  line3001 testdata/file3000.src (inline)
3
+        80 53.33% 53.33%        130 86.67%  line3002 (inline)
4
+        40 26.67% 80.00%         50 33.33%  line2001 (inline)
5
+        30 20.00%   100%         30 20.00%  line1000
6
+         0     0%   100%         50 33.33%  line2000
7
+         0     0%   100%        150   100%  line3000
8
+         0     0%   100%        110 73.33%  line3001 (inline)

+ 7
- 7
internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus View File

1
 digraph "unnamed" {
1
 digraph "unnamed" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lShowing nodes accounting for 62.50MB, 63.37% of 98.63MB total\l"] }
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lShowing nodes accounting for 62.50MB, 63.37% of 98.63MB total\l"] }
4
-N1 [label="line2001\nfile2000.src\n62.50MB (63.37%)" fontsize=24 shape=box tooltip="line2001 testdata/file2000.src (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
4
+N1 [label="line2001\n62.50MB (63.37%)" fontsize=24 shape=box tooltip="line2001 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
5
 NN1_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
5
 NN1_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
6
 N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
6
 N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
7
-N2 [label="line3000\nfile3000.src\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
8
-N3 [label="line2000\nfile2000.src\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line2000 testdata/file2000.src (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
9
-N4 [label="line3002\nfile3000.src\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line3002 testdata/file3000.src (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
10
-N3 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (62.50MB)" labeltooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (62.50MB)"]
11
-N2 -> N4 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 testdata/file3000.src -> line3002 testdata/file3000.src (62.50MB)" labeltooltip="line3000 testdata/file3000.src -> line3002 testdata/file3000.src (62.50MB)"]
12
-N4 -> N3 [label=" 62.50MB" weight=64 penwidth=4 color="#b21600" tooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (62.50MB)" labeltooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (62.50MB)"]
7
+N2 [label="line3000\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line3000 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
8
+N3 [label="line2000\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line2000 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
9
+N4 [label="line3002\n0 of 62.50MB (63.37%)" fontsize=8 shape=box tooltip="line3002 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
10
+N3 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (62.50MB)" labeltooltip="line2000 -> line2001 (62.50MB)"]
11
+N2 -> N4 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
12
+N4 -> N3 [label=" 62.50MB" weight=64 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (62.50MB)" labeltooltip="line3002 -> line2000 (62.50MB)"]
13
 }
13
 }

+ 8
- 8
internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus.ignore View File

1
 digraph "unnamed" {
1
 digraph "unnamed" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lShowing nodes accounting for 36.13MB, 36.63% of 98.63MB total\lDropped 2 nodes (cum <= 4.93MB)\l"] }
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lShowing nodes accounting for 36.13MB, 36.63% of 98.63MB total\lDropped 2 nodes (cum <= 4.93MB)\l"] }
4
-N1 [label="line3002\nfile3000.src\n31.25MB (31.68%)\nof 32.23MB (32.67%)" fontsize=24 shape=box tooltip="line3002 testdata/file3000.src (32.23MB)" color="#b23200" fillcolor="#eddcd5"]
4
+N1 [label="line3002\n31.25MB (31.68%)\nof 32.23MB (32.67%)" fontsize=24 shape=box tooltip="line3002 (32.23MB)" color="#b23200" fillcolor="#eddcd5"]
5
 NN1_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
5
 NN1_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
6
 N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
6
 N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
7
-N2 [label="line3000\nfile3000.src\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
8
-N3 [label="line3001\nfile3000.src\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3001 testdata/file3000.src (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
9
-N4 [label="line1000\nfile1000.src\n4.88MB (4.95%)" fontsize=15 shape=box tooltip="line1000 testdata/file1000.src (4.88MB)" color="#b2a086" fillcolor="#edeae7"]
7
+N2 [label="line3000\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3000 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
8
+N3 [label="line3001\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
9
+N4 [label="line1000\n4.88MB (4.95%)" fontsize=15 shape=box tooltip="line1000 (4.88MB)" color="#b2a086" fillcolor="#edeae7"]
10
 NN4_0 [label = "200kB" fontsize=8 shape=box3d tooltip="3.91MB"]
10
 NN4_0 [label = "200kB" fontsize=8 shape=box3d tooltip="3.91MB"]
11
 N4 -> NN4_0 [label=" 3.91MB" weight=100 tooltip="3.91MB" labeltooltip="3.91MB"]
11
 N4 -> NN4_0 [label=" 3.91MB" weight=100 tooltip="3.91MB" labeltooltip="3.91MB"]
12
-N2 -> N3 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)" labeltooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)"]
13
-N3 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (32.23MB)" labeltooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (32.23MB)"]
14
-N3 -> N4 [label=" 3.91MB" weight=4 color="#b2a58f" tooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (3.91MB)" labeltooltip="line3001 testdata/file3000.src -> line1000 testdata/file1000.src (3.91MB)"]
15
-N1 -> N4 [label=" 0.98MB" color="#b2b0a9" tooltip="line3002 testdata/file3000.src ... line1000 testdata/file1000.src (0.98MB)" labeltooltip="line3002 testdata/file3000.src ... line1000 testdata/file1000.src (0.98MB)" style="dotted" minlen=2]
12
+N2 -> N3 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
13
+N3 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
14
+N3 -> N4 [label=" 3.91MB" weight=4 color="#b2a58f" tooltip="line3001 -> line1000 (3.91MB)" labeltooltip="line3001 -> line1000 (3.91MB)"]
15
+N1 -> N4 [label=" 0.98MB" color="#b2b0a9" tooltip="line3002 ... line1000 (0.98MB)" labeltooltip="line3002 ... line1000 (0.98MB)" style="dotted" minlen=2]
16
 }
16
 }

+ 6
- 6
internal/driver/testdata/pprof.heap_alloc.flat.alloc_objects.text View File

1
 Showing nodes accounting for 150, 100% of 150 total
1
 Showing nodes accounting for 150, 100% of 150 total
2
       flat  flat%   sum%        cum   cum%
2
       flat  flat%   sum%        cum   cum%
3
-        80 53.33% 53.33%        130 86.67%  line3002 testdata/file3000.src (inline)
4
-        40 26.67% 80.00%         50 33.33%  line2001 testdata/file2000.src (inline)
5
-        30 20.00%   100%         30 20.00%  line1000 testdata/file1000.src
6
-         0     0%   100%         50 33.33%  line2000 testdata/file2000.src
7
-         0     0%   100%        150   100%  line3000 testdata/file3000.src
8
-         0     0%   100%        110 73.33%  line3001 testdata/file3000.src (inline)
3
+        80 53.33% 53.33%        130 86.67%  line3002 (inline)
4
+        40 26.67% 80.00%         50 33.33%  line2001 (inline)
5
+        30 20.00%   100%         30 20.00%  line1000
6
+         0     0%   100%         50 33.33%  line2000
7
+         0     0%   100%        150   100%  line3000
8
+         0     0%   100%        110 73.33%  line3001 (inline)

+ 10
- 10
internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.focus View File

1
 digraph "unnamed" {
1
 digraph "unnamed" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
4
-N1 [label="line3002\nfile3000.src\n31.25MB (31.68%)\nof 94.73MB (96.04%)" fontsize=20 shape=box tooltip="line3002 testdata/file3000.src (94.73MB)" color="#b20200" fillcolor="#edd5d5"]
4
+N1 [label="line3002\n31.25MB (31.68%)\nof 94.73MB (96.04%)" fontsize=20 shape=box tooltip="line3002 (94.73MB)" color="#b20200" fillcolor="#edd5d5"]
5
 NN1_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
5
 NN1_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
6
 N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
6
 N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
7
-N2 [label="line3000\nfile3000.src\n0 of 98.63MB (100%)" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
8
-N3 [label="line2001\nfile2000.src\n62.50MB (63.37%)\nof 63.48MB (64.36%)" fontsize=24 shape=box tooltip="line2001 testdata/file2000.src (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
7
+N2 [label="line3000\n0 of 98.63MB (100%)" fontsize=8 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
8
+N3 [label="line2001\n62.50MB (63.37%)\nof 63.48MB (64.36%)" fontsize=24 shape=box tooltip="line2001 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
9
 NN3_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
9
 NN3_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
10
 N3 -> NN3_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
10
 N3 -> NN3_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
11
-N4 [label="line2000\nfile2000.src\n0 of 63.48MB (64.36%)" fontsize=8 shape=box tooltip="line2000 testdata/file2000.src (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
12
-N5 [label="line3001\nfile3000.src\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3001 testdata/file3000.src (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
13
-N4 -> N3 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (63.48MB)" labeltooltip="line2000 testdata/file2000.src -> line2001 testdata/file2000.src (63.48MB)"]
14
-N1 -> N4 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (63.48MB)" labeltooltip="line3002 testdata/file3000.src -> line2000 testdata/file2000.src (63.48MB)" minlen=2]
15
-N2 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 testdata/file3000.src -> line3002 testdata/file3000.src (62.50MB)" labeltooltip="line3000 testdata/file3000.src -> line3002 testdata/file3000.src (62.50MB)"]
16
-N2 -> N5 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)" labeltooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)"]
17
-N5 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (32.23MB)" labeltooltip="line3001 testdata/file3000.src -> line3002 testdata/file3000.src (32.23MB)"]
11
+N4 [label="line2000\n0 of 63.48MB (64.36%)" fontsize=8 shape=box tooltip="line2000 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
12
+N5 [label="line3001\n0 of 36.13MB (36.63%)" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
13
+N4 -> N3 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (63.48MB)" labeltooltip="line2000 -> line2001 (63.48MB)"]
14
+N1 -> N4 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (63.48MB)" labeltooltip="line3002 -> line2000 (63.48MB)" minlen=2]
15
+N2 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
16
+N2 -> N5 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
17
+N5 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
18
 }
18
 }

+ 3
- 3
internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.hide View File

1
 digraph "unnamed" {
1
 digraph "unnamed" {
2
 node [style=filled fillcolor="#f8f8f8"]
2
 node [style=filled fillcolor="#f8f8f8"]
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
3
 subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
4
-N1 [label="line3000\nfile3000.src\n62.50MB (63.37%)\nof 98.63MB (100%)" fontsize=24 shape=box tooltip="line3000 testdata/file3000.src (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
4
+N1 [label="line3000\n62.50MB (63.37%)\nof 98.63MB (100%)" fontsize=24 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
5
 NN1_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
5
 NN1_0 [label = "1.56MB" fontsize=8 shape=box3d tooltip="62.50MB"]
6
 N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
6
 N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
7
-N2 [label="line3001\nfile3000.src\n31.25MB (31.68%)\nof 36.13MB (36.63%)" fontsize=20 shape=box tooltip="line3001 testdata/file3000.src (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
7
+N2 [label="line3001\n31.25MB (31.68%)\nof 36.13MB (36.63%)" fontsize=20 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
8
 NN2_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
8
 NN2_0 [label = "400kB" fontsize=8 shape=box3d tooltip="31.25MB"]
9
 N2 -> NN2_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
9
 N2 -> NN2_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
10
-N1 -> N2 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)" labeltooltip="line3000 testdata/file3000.src -> line3001 testdata/file3000.src (36.13MB)" minlen=2]
10
+N1 -> N2 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)" minlen=2]
11
 }
11
 }

+ 5
- 5
internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text View File

1
 Showing nodes accounting for 1.12s, 100% of 1.12s total
1
 Showing nodes accounting for 1.12s, 100% of 1.12s total
2
 Showing top 5 nodes out of 6
2
 Showing top 5 nodes out of 6
3
       flat  flat%   sum%        cum   cum%
3
       flat  flat%   sum%        cum   cum%
4
-     1.10s 98.21% 98.21%      1.10s 98.21%  line1000 testdata/file1000.src
5
-     0.01s  0.89% 99.11%      1.01s 90.18%  line2001 testdata/file2000.src (inline)
6
-     0.01s  0.89%   100%      1.02s 91.07%  line3002 testdata/file3000.src (inline)
7
-         0     0%   100%      1.01s 90.18%  line2000 testdata/file2000.src
8
-         0     0%   100%      1.12s   100%  line3000 testdata/file3000.src
4
+     1.10s 98.21% 98.21%      1.10s 98.21%  line1000
5
+     0.01s  0.89% 99.11%      1.01s 90.18%  line2001 (inline)
6
+     0.01s  0.89%   100%      1.02s 91.07%  line3002 (inline)
7
+         0     0%   100%      1.01s 90.18%  line2000
8
+         0     0%   100%      1.12s   100%  line3000