From f434b16855feb706e6a4b4c7837dbd3c343d1c82 Mon Sep 17 00:00:00 2001 From: Rodrigo Ipince Date: Thu, 17 Dec 2009 18:07:28 -0800 Subject: [PATCH] Added support for filter in dmtracedump tool, along with some test cases. Some corner cases are still not handled in the code, but will be eventually. --- tools/dmtracedump/TraceDump.c | 752 +++++++++++++++++++-- tools/dmtracedump/filters | 42 ++ tools/dmtracedump/tests/filters/run_tests.sh | 36 + tools/dmtracedump/tests/filters/testFilters | 9 + ...estWaitingDisjointCrossThreadDiffFilterDiffKeys | 19 + ...ngDisjointCrossThreadDiffFilterDiffKeysExpected | 232 +++++++ ...itingDisjointCrossThreadDiffFilterDiffKeysTrace | Bin 0 -> 270 bytes ...estWaitingDisjointCrossThreadDiffFilterSameKeys | 19 + ...ngDisjointCrossThreadDiffFilterSameKeysExpected | 210 ++++++ ...itingDisjointCrossThreadDiffFilterSameKeysTrace | Bin 0 -> 246 bytes ...estWaitingDisjointCrossThreadSameFilterDiffKeys | 19 + ...ngDisjointCrossThreadSameFilterDiffKeysExpected | 232 +++++++ ...itingDisjointCrossThreadSameFilterDiffKeysTrace | Bin 0 -> 270 bytes ...estWaitingDisjointCrossThreadSameFilterSameKeys | 19 + ...ngDisjointCrossThreadSameFilterSameKeysExpected | 203 ++++++ ...itingDisjointCrossThreadSameFilterSameKeysTrace | Bin 0 -> 246 bytes ...stWaitingDisjointSingleThreadDiffFilterDiffKeys | 17 + ...gDisjointSingleThreadDiffFilterDiffKeysExpected | 232 +++++++ ...tingDisjointSingleThreadDiffFilterDiffKeysTrace | Bin 0 -> 290 bytes ...stWaitingDisjointSingleThreadDiffFilterSameKeys | 17 + ...gDisjointSingleThreadDiffFilterSameKeysExpected | 210 ++++++ ...tingDisjointSingleThreadDiffFilterSameKeysTrace | Bin 0 -> 266 bytes ...stWaitingDisjointSingleThreadSameFilterDiffKeys | 16 + ...gDisjointSingleThreadSameFilterDiffKeysExpected | 216 ++++++ ...tingDisjointSingleThreadSameFilterDiffKeysTrace | Bin 0 -> 258 bytes ...stWaitingDisjointSingleThreadSameFilterSameKeys | 17 + ...gDisjointSingleThreadSameFilterSameKeysExpected | 203 ++++++ ...tingDisjointSingleThreadSameFilterSameKeysTrace | Bin 0 -> 266 bytes ...itingNestedOverlapCrossThreadDiffFilterDiffKeys | 19 + ...tedOverlapCrossThreadDiffFilterDiffKeysExpected | 232 +++++++ ...NestedOverlapCrossThreadDiffFilterDiffKeysTrace | Bin 0 -> 270 bytes ...itingNestedOverlapCrossThreadDiffFilterSameKeys | 19 + ...tedOverlapCrossThreadDiffFilterSameKeysExpected | 210 ++++++ ...NestedOverlapCrossThreadDiffFilterSameKeysTrace | Bin 0 -> 246 bytes ...itingNestedOverlapCrossThreadSameFilterDiffKeys | 19 + ...tedOverlapCrossThreadSameFilterDiffKeysExpected | 232 +++++++ ...NestedOverlapCrossThreadSameFilterDiffKeysTrace | Bin 0 -> 270 bytes ...itingNestedOverlapCrossThreadSameFilterSameKeys | 19 + ...tedOverlapCrossThreadSameFilterSameKeysExpected | 203 ++++++ ...NestedOverlapCrossThreadSameFilterSameKeysTrace | Bin 0 -> 246 bytes ...tingNestedOverlapSingleThreadDiffFilterDiffKeys | 13 + ...edOverlapSingleThreadDiffFilterDiffKeysExpected | 232 +++++++ ...estedOverlapSingleThreadDiffFilterDiffKeysTrace | Bin 0 -> 250 bytes ...tingNestedOverlapSingleThreadDiffFilterSameKeys | 13 + ...edOverlapSingleThreadDiffFilterSameKeysExpected | 210 ++++++ ...estedOverlapSingleThreadDiffFilterSameKeysTrace | Bin 0 -> 226 bytes ...tingNestedOverlapSingleThreadSameFilterDiffKeys | 11 + ...edOverlapSingleThreadSameFilterDiffKeysExpected | 214 ++++++ ...estedOverlapSingleThreadSameFilterDiffKeysTrace | Bin 0 -> 218 bytes ...tingNestedOverlapSingleThreadSameFilterSameKeys | 13 + ...edOverlapSingleThreadSameFilterSameKeysExpected | 203 ++++++ ...estedOverlapSingleThreadSameFilterSameKeysTrace | Bin 0 -> 226 bytes .../tests/filters/testWaitingPairCrossThread | 14 + .../filters/testWaitingPairCrossThreadExpected | 203 ++++++ .../tests/filters/testWaitingPairCrossThreadTrace | Bin 0 -> 206 bytes .../tests/filters/testWaitingPairSingleThread | 11 + .../filters/testWaitingPairSingleThreadExpected | 203 ++++++ .../tests/filters/testWaitingPairSingleThreadTrace | Bin 0 -> 206 bytes ...tingPartialOverlapCrossThreadDiffFilterDiffKeys | 23 + ...ialOverlapCrossThreadDiffFilterDiffKeysExpected | 232 +++++++ ...artialOverlapCrossThreadDiffFilterDiffKeysTrace | Bin 0 -> 310 bytes ...tingPartialOverlapCrossThreadDiffFilterSameKeys | 23 + ...ialOverlapCrossThreadDiffFilterSameKeysExpected | 210 ++++++ ...artialOverlapCrossThreadDiffFilterSameKeysTrace | Bin 0 -> 286 bytes ...tingPartialOverlapCrossThreadSameFilterDiffKeys | 23 + ...ialOverlapCrossThreadSameFilterDiffKeysExpected | 232 +++++++ ...artialOverlapCrossThreadSameFilterDiffKeysTrace | Bin 0 -> 310 bytes ...tingPartialOverlapCrossThreadSameFilterSameKeys | 23 + ...ialOverlapCrossThreadSameFilterSameKeysExpected | 203 ++++++ ...artialOverlapCrossThreadSameFilterSameKeysTrace | Bin 0 -> 286 bytes ...ingPartialOverlapSingleThreadDiffFilterDiffKeys | 13 + ...alOverlapSingleThreadDiffFilterDiffKeysExpected | 232 +++++++ ...rtialOverlapSingleThreadDiffFilterDiffKeysTrace | Bin 0 -> 250 bytes ...ingPartialOverlapSingleThreadDiffFilterSameKeys | 13 + ...alOverlapSingleThreadDiffFilterSameKeysExpected | 210 ++++++ ...rtialOverlapSingleThreadDiffFilterSameKeysTrace | Bin 0 -> 226 bytes ...ingPartialOverlapSingleThreadSameFilterDiffKeys | 12 + ...alOverlapSingleThreadSameFilterDiffKeysExpected | 214 ++++++ ...rtialOverlapSingleThreadSameFilterDiffKeysTrace | Bin 0 -> 218 bytes ...ingPartialOverlapSingleThreadSameFilterSameKeys | 13 + ...alOverlapSingleThreadSameFilterSameKeysExpected | 203 ++++++ ...rtialOverlapSingleThreadSameFilterSameKeysTrace | Bin 0 -> 226 bytes .../tests/filters/testWaitingSoloCrossThread | 12 + .../filters/testWaitingSoloCrossThreadExpected | 192 ++++++ .../tests/filters/testWaitingSoloCrossThreadTrace | Bin 0 -> 175 bytes .../tests/filters/testWaitingSoloSingleThread | 10 + .../filters/testWaitingSoloSingleThreadExpected | 194 ++++++ .../tests/filters/testWaitingSoloSingleThreadTrace | Bin 0 -> 175 bytes 88 files changed, 7244 insertions(+), 56 deletions(-) create mode 100644 tools/dmtracedump/filters create mode 100755 tools/dmtracedump/tests/filters/run_tests.sh create mode 100644 tools/dmtracedump/tests/filters/testFilters create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairCrossThread create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairSingleThread create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloCrossThread create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloSingleThread create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected create mode 100644 tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace diff --git a/tools/dmtracedump/TraceDump.c b/tools/dmtracedump/TraceDump.c index 2308148cd..da3bfd0a9 100644 --- a/tools/dmtracedump/TraceDump.c +++ b/tools/dmtracedump/TraceDump.c @@ -47,6 +47,17 @@ int versionNumber; /* Size of temporary buffers for escaping html strings */ #define HTML_BUFSIZE 10240 +/* Size of methodId->method cache */ +#define METHOD_CACHE_SIZE 2048 + +/* Some filter constants */ +#define FILTER_TAG '*' +#define FILTER_FLAG_THREAD '+' +#define FILTER_TYPE_CLASS 0 +#define FILTER_TYPE_METHOD 1 + +#define DEFAULT_ACTIVE_THREADS 8 + char *htmlHeader = "\n\n\n" " + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] D.m ()
+        2   12.50 100.00  [5] E.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 D.m ()
+                12.5%    [5]      1/1              2 E.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00  50.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                      50.00               main
+         0                     0.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] D.m ()
+
         2         2    12.5   100.0      1+0      [5] E.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..8bc74ffad6db96bc9d5c795d75db3a2c131c613d GIT binary patch literal 270 zcmX|(O$x$5429FdiU|q|dIud4TJ6G(3q@B7E?fxi`X?>@8ELC{4sYlYyn!>F)?`@RM~F6`>o<{riKs=8|m8+*qFAO$b_|=N9Ckm%0)0EUY3Clw`de z++c>&nZy-dTl8_;qHW>s&kpW2^DqzSd^}wk4B`7WA^Grw0Ugj~fGL61-D@-kC`nxy i(61dugGN(-w98;5sVmz6mDLHARU3n`oXTY|X|x|= + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] R.m ()
+        4   25.00 100.00  [3] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                25.0%    [2]      2/2              4 R.m ()
+                25.0%    [3]      2/2              4 S.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] R.m ()
+
         4         4    25.0   100.0      2+0      [3] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..9ec7378140fb41f9ef661d9b48c7b3cfa72ecfa1 GIT binary patch literal 246 zcmXww%L>9U5Jji)fio!h85$6Lbm7J?P!Q}waMz}hmOdhF6@OR!5i>~*1kT)hk9_H- z%}q^PQl(MFq01T_rz`b%lJwlt2CF!?6TBNkJ51t+LQKjyBU$M#GigifcZe6PaIv(w z$J-wjMjoZEQ;JUKtAIH~-vJaKc?@6({sl0yAl#qynEC literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys new file mode 100644 index 000000000..d1bcdd31c --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys @@ -0,0 +1,19 @@ +# ____ ____ _________ +# __|A |___________|B |_____|Z |_______ +# +# ___________ ____ ____ +# _______|Z |_____|R |_________|S |__ +# +# +0 1 A +2 1 A +0 2 Z +4 2 Z +2 1 B +4 1 B +4 2 R +6 2 R +4 1 Z +8 1 Z +6 2 S +8 2 S diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected new file mode 100644 index 000000000..ef56af57b --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected @@ -0,0 +1,232 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] R.m ()
+        2   12.50 100.00  [5] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 R.m ()
+                12.5%    [5]      1/1              2 S.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] R.m ()
+
         2         2    12.5   100.0      1+0      [5] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..0559a6af36a6692ea3aa36ee5022a91d04710109 GIT binary patch literal 270 zcmX|(%L>9k3`NtyiU|q|`VTrNwAzIm7rIpt>_TwYm$dXT(pK?X-T5cZbXo%mC->%t zzoN2AL_uo`G7+S^IxZtGTm_FOam^Lkn0tvl!MhN&LEkIMK|k|i;(1iZBCN=IJGjRj z=L?Bjymc7hp+nok%by)|HS?$l$vvH~492khn2>(?(SRQ4GQgC;njW+o1C*pL3>Y?! fqEV} + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] A.m ()
+        4   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                25.0%    [2]      2/2              4 A.m ()
+                25.0%    [3]      2/2              4 B.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] A.m ()
+
         4         4    25.0   100.0      2+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..f113fcfccf905d195ddf3d8700a9a2a59b1908d5 GIT binary patch literal 246 zcmXww%L>9U5JjhA9r^Rw}m>yc$C*j8#Js#-++gR%w@+q^0>Y!Yx)f znOa=q<&PS79%Wi5bUGZ*0> + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] D.m ()
+        2   12.50 100.00  [5] E.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      3/3              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 D.m ()
+                12.5%    [5]      1/1              2 E.m ()
+----------------------------------------------------
+               100.0%    [0]      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  37.50  37.50   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 37.50% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 6 ( 37.50% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      3+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      3+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] D.m ()
+
         2         2    12.5   100.0      1+0      [5] E.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..09983bacaabc106902cb4c01b3452b84717e80b0 GIT binary patch literal 290 zcmX}kOA5j;5C-6+SaAlG3VH_(2(5PE#)YCQ1s5&^cYQ=!`iQhuyp5;uK;Fcp!3+$1 z{QNWQ$*VdQB`z?^MU<_Zq~bw5kM0j-+BJGm1gWgRO$b~<7*yy(mAA2o_F=Ehcp2mQc)D1`A@7e(vM)PO(jj^%u_Y|Il=O^1N;N3y h8x5qoZKir!s)udn7>%UVmHwxtdc!sw8%?Ct)emyMD0Bb- literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys new file mode 100644 index 000000000..b51f81e18 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys @@ -0,0 +1,17 @@ +# ____ ____ ____ ________ ____ ____ ____ +# __|R ||Z ||S ||Z ||R ||Z ||S |__ +# +0 1 R +2 1 R +2 1 Z +4 1 Z +4 1 S +6 1 S +6 1 Z +10 1 Z +10 1 R +12 1 R +12 1 Z +14 1 Z +14 1 S +16 1 S diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected new file mode 100644 index 000000000..41f9625b5 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected @@ -0,0 +1,210 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] R.m ()
+        4   25.00 100.00  [3] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      3/3              8 Z.m ()
+                25.0%    [2]      2/2              4 R.m ()
+                25.0%    [3]      2/2              4 S.m ()
+----------------------------------------------------
+               100.0%    [0]      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00  75.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      3+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      3+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] R.m ()
+
         4         4    25.0   100.0      2+0      [3] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..2cccf077a2b9c2d19d6e84533bface037ae15a34 GIT binary patch literal 266 zcmX}kOA5j;5C-5$sp1SOJ%$DZA6>Zd1PX#(2=3Z6($Ytyt;Oql6Eh7qF!0UKpOL+8 z+T7H%Csi6%oVu*hak^2jH%aG~c38!^t>DubI$#nv6k<}w8Ocg_nMqsPenPxqg{!sY z5g&glj2xw|Q;IIvy9WXExevuxo(1^eo`8vkXGg$n6k2gZz + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] C.m ()
+        2   12.50  87.50  [3] A.m ()
+        2   12.50 100.00  [4] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                37.5%    [2]      1/1              6 C.m ()
+                37.5%    [1]      2/3              6 Z.m ()
+                12.5%    [3]      1/1              2 A.m ()
+                12.5%    [4]      1/1              2 B.m ()
+----------------------------------------------------
+                75.0%    [0]      2/3              6 (toplevel)
+                25.0%    [2]      1/3              2 C.m ()
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              6 (toplevel)
+[2]     37.5%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    [1]      1/3              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      3+0      [1] m ()
+
+ +
+
         4         6   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      3+0      [1] Z.m ()
+
         4         6    25.0    75.0      1+0      [2] C.m ()
+
         2         2    12.5    87.5      1+0      [3] A.m ()
+
         2         2    12.5   100.0      1+0      [4] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..3f61656abacd42f8ceb1b3df000e440e9966059a GIT binary patch literal 258 zcmX}jy$ZrG5Ww+EvEm&nb@d4}Ahg=S#X%hv92^9cGh zhreZ6C90q`iA;%fSI4CcqLp~Qh_|lD!#qfIf)Ax=gJDpTk6{+X#B*84Dyqo+__)U$ z7fa18-a86Bbo5+2w&t>k=z6}~EO6jEw;}!U6N3S?hk>nO>C0f$3$;waVBBk>HEd?4 XYh^lWW==1&HNO~`?X=NMzoz&DRX!z) literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys new file mode 100644 index 000000000..0b3377d6b --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys @@ -0,0 +1,17 @@ +# ____ ____ ____ ________ ____ ____ ____ +# __|A ||Z ||B ||Z ||A ||Z ||B |__ +# +0 1 A +2 1 A +2 1 Z +4 1 Z +4 1 B +6 1 B +6 1 Z +10 1 Z +10 1 A +12 1 A +12 1 Z +14 1 Z +14 1 B +16 1 B diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected new file mode 100644 index 000000000..aa476b36b --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] A.m ()
+        4   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      3/3              8 Z.m ()
+                25.0%    [2]      2/2              4 A.m ()
+                25.0%    [3]      2/2              4 B.m ()
+----------------------------------------------------
+               100.0%    [0]      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      3+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      3+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] A.m ()
+
         4         4    25.0   100.0      2+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..c6ddbe5ab7d33f6e0b3afb751d2fd7462ab6679c GIT binary patch literal 266 zcmX}kOA5j;5C-6>RB;BC9zz3yk1pJ}(5-?C7lOMqjkNR;X{&fgPvJ4#nQ5?rfp32P zjCks*PEAQGQn^vtwn-{2*2cu47t3jJ_&xw1~ XX54n-d;H7YbK>5l&3Jd>dx4!F^PD7B literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys new file mode 100644 index 000000000..d87ac8174 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys @@ -0,0 +1,19 @@ +# ____ ____ ________ +# __|A |_____________________|B ||Z |__ +# +# ____ ________ ____ +# _______|D ||Z ||E |______________ +# +# +0 1 A +2 1 A +0 2 D +2 2 D +2 2 Z +6 2 Z +6 2 E +8 2 E +2 1 B +4 1 B +4 1 Z +8 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected new file mode 100644 index 000000000..a97f25c78 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected @@ -0,0 +1,232 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] D.m ()
+        2   12.50 100.00  [5] E.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 D.m ()
+                12.5%    [5]      1/1              2 E.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00 100.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         0                     0.00                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                       0.00               main
+         8                   100.00                     100.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] D.m ()
+
         2         2    12.5   100.0      1+0      [5] E.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..832bbfc54df72c3b44b0800474b5a3743d20e3cd GIT binary patch literal 270 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObbpI7&DnO3dS@v;Bn+a literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys new file mode 100644 index 000000000..82ab14216 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys @@ -0,0 +1,19 @@ +# ____ ____ ________ +# __|R |_____________________|S ||Z |__ +# +# ____ ________ ____ +# _______|R ||Z ||S |______________ +# +# +0 1 R +2 1 R +0 2 R +2 2 R +2 2 Z +6 2 Z +6 2 S +8 2 S +2 1 S +4 1 S +4 1 Z +8 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected new file mode 100644 index 000000000..623478eee --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected @@ -0,0 +1,210 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] R.m ()
+        4   25.00 100.00  [3] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                25.0%    [2]      2/2              4 R.m ()
+                25.0%    [3]      2/2              4 S.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00 100.00   0.00 100.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] R.m ()
+
         4         4    25.0   100.0      2+0      [3] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..371f150d44d3c0b73c59e9e3dd2551702c79b6bd GIT binary patch literal 246 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yID + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] R.m ()
+        2   12.50 100.00  [5] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 R.m ()
+                12.5%    [5]      1/1              2 S.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00 100.00   0.00 100.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                       0.00               main
+         8                   100.00                     100.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] R.m ()
+
         2         2    12.5   100.0      1+0      [5] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..9f87efc6543e94080149398164bc8a81b9a9463b GIT binary patch literal 270 zcmX}k%?g4*5C`yCsc41*gL;Qr2(&zO=}^~#AP+$|T{jdzHq@dQ>w$WccC}m>_|3%!5Rq;7uu7V;Gd=VVDIm@m$uiiYjtm9_}#5 z`9gDp=RXBr|8yPnJA1fq&1Dghe>`0*u;DE&NI(3*pa<<^(ATh<8vbS$U^g3e8fy)j Z&h9kPGARbrW@9wdGQTr0*;XcN?!H04C<*`o literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys new file mode 100644 index 000000000..6714ddd72 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys @@ -0,0 +1,19 @@ +# ____ ____ ________ +# __|A |_____________________|B ||Z |__ +# +# ____ ________ ____ +# _______|A ||Z ||B |______________ +# +# +0 1 A +2 1 A +0 2 A +2 2 A +2 2 Z +6 2 Z +6 2 B +8 2 B +2 1 B +4 1 B +4 1 Z +8 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected new file mode 100644 index 000000000..79c2e6300 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] A.m ()
+        4   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              8 Z.m ()
+                25.0%    [2]      2/2              4 A.m ()
+                25.0%    [3]      2/2              4 B.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00 100.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      2+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] A.m ()
+
         4         4    25.0   100.0      2+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..74e4c53e9d573555cb8edd97e2ed4cb015309b73 GIT binary patch literal 246 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObgB^7&DpE3BuG$%}e15_VEvAVh~{1 zW5ddj{ZPxBk%5H)0vH)sfea=vhKVsDiE+SXIe{!TFpme$;svrmDi|3+Vjxo(89-tn OlNiA=5Ee);NF4yRrXxB4 literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys new file mode 100644 index 000000000..b92471f84 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys @@ -0,0 +1,13 @@ +# ____ ____ ____ ____ ____ +# __|A ||D ||E ||B ||Z |__ +# +0 1 A +2 1 A +2 1 D +4 1 D +4 1 E +6 1 E +6 1 B +8 1 B +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected new file mode 100644 index 000000000..3b2ffc8d3 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected @@ -0,0 +1,232 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        2   20.00  20.00  [1] A.m ()
+        2   20.00  40.00  [2] B.m ()
+        2   20.00  60.00  [3] D.m ()
+        2   20.00  80.00  [4] E.m ()
+        2   20.00 100.00  [5] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                20.0%    [1]      1/1              2 A.m ()
+                20.0%    [2]      1/1              2 B.m ()
+                20.0%    [3]      1/1              2 D.m ()
+                20.0%    [4]      1/1              2 E.m ()
+                20.0%    [5]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[1]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 E.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00  40.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 4 ( 40.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         4                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         2         2   100.0   100.0      1+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         2         2    20.0    20.0      1+0      [1] A.m ()
+
         2         2    20.0    40.0      1+0      [2] B.m ()
+
         2         2    20.0    60.0      1+0      [3] D.m ()
+
         2         2    20.0    80.0      1+0      [4] E.m ()
+
         2         2    20.0   100.0      1+0      [5] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..c9c086cea540684197dca6e5c6b061412d2904aa GIT binary patch literal 250 zcmX}j%?g505C!15Qqc?r2K5egAy9MCrbSV!f)*`;cK(Ip&keQc9eT>%q%rXh9QZh# zk*}z%5>=2xL8gLqQ^#fGh0EaaB-y$m8*?w=3Eq{W75ZLDF8Y}llgy(!R$)cf+r=&B zIA1W=xbGO?p`&f#PTR#>YZ( + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  [1] R.m ()
+        4   40.00  80.00  [2] S.m ()
+        2   20.00 100.00  [3] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    [1]      2/2              4 R.m ()
+                40.0%    [2]      2/2              4 S.m ()
+                20.0%    [3]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00  80.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    40.0    40.0      2+0      [1] R.m ()
+
         4         4    40.0    80.0      2+0      [2] S.m ()
+
         2         2    20.0   100.0      1+0      [3] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..0afca4d06ad873e438f59c6cb66bbfa0f688d376 GIT binary patch literal 226 zcmX}iTMEK35QX7Msp1R@E<*zaFBN=o1qyJAk z$K+3qH&1DrjFQv&8o(TOpAgEgJPHWGpMVh~;P=hTHMbBj8HB9y(7ar83jxzXGZyjx E0Q3?g6951J literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys new file mode 100644 index 000000000..a494716e6 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys @@ -0,0 +1,11 @@ +# ____ ____ ____ ____ +# __|A ||C ||B ||Z |__ +# +0 1 A +2 1 A +2 1 C +4 1 C +4 1 B +6 1 B +6 1 Z +8 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected new file mode 100644 index 000000000..720d05ac4 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected @@ -0,0 +1,214 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 8 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        2   25.00  25.00  [1] A.m ()
+        2   25.00  50.00  [2] B.m ()
+        2   25.00  75.00  [3] C.m ()
+        2   25.00 100.00  [4] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                25.0%    [1]      1/1              2 A.m ()
+                25.0%    [2]      1/1              2 B.m ()
+                25.0%    [3]      1/1              2 C.m ()
+                25.0%    [4]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[1]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 C.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     25.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         2         2   100.0   100.0      1+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         2         2    25.0    25.0      1+0      [1] A.m ()
+
         2         2    25.0    50.0      1+0      [2] B.m ()
+
         2         2    25.0    75.0      1+0      [3] C.m ()
+
         2         2    25.0   100.0      1+0      [4] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..c5f9a3e5e61dac94536242a5392bc9a8b4b7a85c GIT binary patch literal 218 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObbqD7&DpE3C1)u;EaN>wNmp^xPpEB z!vVkOfk~$iM?<@d8h;}awP2l literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys new file mode 100644 index 000000000..bd645af3f --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys @@ -0,0 +1,13 @@ +# ____ ____ ____ ____ ____ +# __|A ||A ||B ||B ||Z |__ +# +0 1 A +2 1 A +2 1 A +4 1 A +4 1 B +6 1 B +6 1 B +8 1 B +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected new file mode 100644 index 000000000..0e8f300ea --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  [1] A.m ()
+        4   40.00  80.00  [2] B.m ()
+        2   20.00 100.00  [3] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    [1]      2/2              4 A.m ()
+                40.0%    [2]      2/2              4 B.m ()
+                20.0%    [3]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    40.0    40.0      2+0      [1] A.m ()
+
         4         4    40.0    80.0      2+0      [2] B.m ()
+
         2         2    20.0   100.0      1+0      [3] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..65e381a1336a43b8ea25369e217afb0560e8f84c GIT binary patch literal 226 zcmX}iOA5j;5XSLIec%iV9zz3yk1pJ}(5-?C7eaSwn$proq^;t;JdrnXLa+k^KmL63 zWtuj(HEl_kRu_jZYm7=(`tc;`-O>gtmGcBsYiWnEYAD3GR2j+2beTt|&7y-X;Uaq-?fJrZ8jr->1np+5%_L{MX F{|5n4BR&8C literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThread b/tools/dmtracedump/tests/filters/testWaitingPairCrossThread new file mode 100644 index 000000000..6c93bc62f --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPairCrossThread @@ -0,0 +1,14 @@ +# ____ ____ ____ +# __|A |______|B ||Z |__ +# +# _____ +# ________|Z |_________________ +# +0 1 A +2 1 A +0 2 Z +2 2 Z +2 1 B +4 1 B +4 1 Z +6 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected new file mode 100644 index 000000000..ed45fffca --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 8 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  [1] Z.m ()
+        2   25.00  75.00  [2] A.m ()
+        2   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              4 Z.m ()
+                25.0%    [2]      1/1              2 A.m ()
+                25.0%    [3]      1/1              2 B.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        6   75.00  75.00  66.67   0.00   0.00      1 main
+        2   25.00 100.00   0.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                      66.67               main
+         0                     0.00                      33.33               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    25.0    75.0      1+0      [2] A.m ()
+
         2         2    25.0   100.0      1+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace new file mode 100644 index 0000000000000000000000000000000000000000..4e53dfd22004315adf87d1bbed5309e9638a76aa GIT binary patch literal 206 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObgB^7&DpE3BuG$%}e15_VEvAVh~^m zk!NGbeyHWm$iTt?0gMc+Kn4>Sb3nzI7&xI~j0`+*7B7$m(#6OCQU_sy)Ug3E01YZ4 AbN~PV literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThread b/tools/dmtracedump/tests/filters/testWaitingPairSingleThread new file mode 100644 index 000000000..45375ca87 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPairSingleThread @@ -0,0 +1,11 @@ +# ____ ____ ____ ____ +# __|A ||Z ||B ||Z |__ +# +0 1 A +2 1 A +2 1 Z +4 1 Z +4 1 B +6 1 B +6 1 Z +8 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected new file mode 100644 index 000000000..b3e2b3f94 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 8 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  [1] Z.m ()
+        2   25.00  75.00  [2] A.m ()
+        2   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      2/2              4 Z.m ()
+                25.0%    [2]      1/1              2 A.m ()
+                25.0%    [3]      1/1              2 B.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    50.0    50.0      2+0      [1] Z.m ()
+
         2         2    25.0    75.0      1+0      [2] A.m ()
+
         2         2    25.0   100.0      1+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace new file mode 100644 index 0000000000000000000000000000000000000000..3f29843a913b04428c26b6aae76db6211b5729ea GIT binary patch literal 206 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObgB^7&DpE3BuG$%}e15_VEvAVh~_> z5zow!{ZPxBk%5H)0vH)sfea=fW@O-ivp9h)kP1cy9yp5^$YKMFfz&}*Aax)f09Cdl APXGV_ literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys new file mode 100644 index 000000000..05995f370 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys @@ -0,0 +1,23 @@ +# ____ ____ ____ ____ +# __|A |___________|B ||Z |____|Z |_______ +# +# ____ ____ ____ ____ +# _______|Z ||D |___________|E |____|Z |__ +# +# +0 1 A +2 1 A +0 2 Z +2 2 Z +2 2 D +4 2 D +2 1 B +4 1 B +4 1 Z +6 1 Z +4 2 E +6 2 E +6 1 Z +8 1 Z +6 2 Z +8 2 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected new file mode 100644 index 000000000..ba83cee11 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected @@ -0,0 +1,232 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] D.m ()
+        2   12.50 100.00  [5] E.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      4/4              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 D.m ()
+                12.5%    [5]      1/1              2 E.m ()
+----------------------------------------------------
+               100.0%    [0]      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00  50.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                      50.00               main
+         0                     0.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      4+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      4+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] D.m ()
+
         2         2    12.5   100.0      1+0      [5] E.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..30fbe38538df1fbb1c4907615114b5e340681361 GIT binary patch literal 310 zcmX|)%L>9U5Je}!iZdvv=s##c@X>`E7mBVFT(}V2^(7VCM%pU=t{) + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] R.m ()
+        4   25.00 100.00  [3] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      4/4              8 Z.m ()
+                25.0%    [2]      2/2              4 R.m ()
+                25.0%    [3]      2/2              4 S.m ()
+----------------------------------------------------
+               100.0%    [0]      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      4+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      4+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] R.m ()
+
         4         4    25.0   100.0      2+0      [3] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..6dc18264d76ba99141a660f2e1d5382ff8ba8efb GIT binary patch literal 286 zcmX|)OA5j;5QZl~#TgVlh6V&5UAXZC3W8k-?%Fic(nqAN;-x&43-4j4sSO1F`R4l> z^)zLb*n&2sGpo~m9hWAEmiqo6<#I)9%!8y+@MbM-F$_xbFwBCORBr0nMis4I9-cAB z`J#zCy#Av`-$iALi2UQ}B4GyauYmNU4gv + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        2   12.50  62.50  [2] A.m ()
+        2   12.50  75.00  [3] B.m ()
+        2   12.50  87.50  [4] R.m ()
+        2   12.50 100.00  [5] S.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      4/4              8 Z.m ()
+                12.5%    [2]      1/1              2 A.m ()
+                12.5%    [3]      1/1              2 B.m ()
+                12.5%    [4]      1/1              2 R.m ()
+                12.5%    [5]      1/1              2 S.m ()
+----------------------------------------------------
+               100.0%    [0]      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      4+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      4+0      [1] Z.m ()
+
         2         2    12.5    62.5      1+0      [2] A.m ()
+
         2         2    12.5    75.0      1+0      [3] B.m ()
+
         2         2    12.5    87.5      1+0      [4] R.m ()
+
         2         2    12.5   100.0      1+0      [5] S.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..efb0b1b06f31791ee40e3f3830b1487770684e38 GIT binary patch literal 310 zcmX|)(F%ev6o$`6N#{^dQ14KKK+B76x~SWNATNUMObw-Up%%SvZ_?&;gTc4&{Qr*l zBxRM!f>sngW%StAX_P=gT4aZ+(GL&pmjq_BSpH! l)IX-dU}Bx_nyKzOO=8+Q4zt!V&^bM2%?|zI)|tK9{Q(ntCzSvI literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys new file mode 100644 index 000000000..552ae40df --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys @@ -0,0 +1,23 @@ +# ____ ____ ____ ____ +# __|A |___________|B ||Z |____|Z |_______ +# +# ____ ____ ____ ____ +# _______|Z ||A |___________|B |____|Z |__ +# +# +0 1 A +2 1 A +0 2 Z +2 2 Z +2 2 A +4 2 A +2 1 B +4 1 B +4 1 Z +6 1 Z +4 2 B +6 2 B +6 1 Z +8 1 Z +6 2 Z +8 2 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected new file mode 100644 index 000000000..82b0356b9 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 16 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  [1] Z.m ()
+        4   25.00  75.00  [2] A.m ()
+        4   25.00 100.00  [3] B.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      4/4              8 Z.m ()
+                25.0%    [2]      2/2              4 A.m ()
+                25.0%    [3]      2/2              4 B.m ()
+----------------------------------------------------
+               100.0%    [0]      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         8         8   100.0   100.0      4+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         8         8    50.0    50.0      4+0      [1] Z.m ()
+
         4         4    25.0    75.0      2+0      [2] A.m ()
+
         4         4    25.0   100.0      2+0      [3] B.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..497e925f1aa2f8a58cd3cfab320bd3a868118e3d GIT binary patch literal 286 zcmX|)%L>9U5Je}&iZdwq85$6Lbm7K@ZWUa(5Zt9{w55+oTgA11>YvzYw1L2#Gv_k$ zY04_G1uaQuR;QafE{%$2`u-s4azzWwRnjPUwU$;Gs*(Z>GZmA}O&!~)qWLSpE#^3x zHgS!Yf7G~hQJNy6)8TmbU<~h@59vql1@yo@0e%y__78r{1MC=kZp$7|0){^(VAL`0 ax-ED6t-+q_v&T#TdoHoZlh-kKm)RFDXCr3- literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys new file mode 100644 index 000000000..edf03c54a --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys @@ -0,0 +1,13 @@ +# ____ ____ ____ ____ ____ +# __|A ||D ||B ||E ||Z |__ +# +0 1 A +2 1 A +2 1 D +4 1 D +4 1 B +6 1 B +6 1 E +8 1 E +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected new file mode 100644 index 000000000..2d597200d --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected @@ -0,0 +1,232 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        2   20.00  20.00  [1] A.m ()
+        2   20.00  40.00  [2] B.m ()
+        2   20.00  60.00  [3] D.m ()
+        2   20.00  80.00  [4] E.m ()
+        2   20.00 100.00  [5] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                20.0%    [1]      1/1              2 A.m ()
+                20.0%    [2]      1/1              2 B.m ()
+                20.0%    [3]      1/1              2 D.m ()
+                20.0%    [4]      1/1              2 E.m ()
+                20.0%    [5]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[1]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 D.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 E.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[5]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  60.00  60.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 60.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 6 ( 60.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         2         2   100.0   100.0      1+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [5] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         2         2    20.0    20.0      1+0      [1] A.m ()
+
         2         2    20.0    40.0      1+0      [2] B.m ()
+
         2         2    20.0    60.0      1+0      [3] D.m ()
+
         2         2    20.0    80.0      1+0      [4] E.m ()
+
         2         2    20.0   100.0      1+0      [5] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..b9afef48fcb862935775515c4012e5a0692d9cf9 GIT binary patch literal 250 zcmX}j%?g505C!15Qqc?r2K5egA<%Nsrl6=*L5mhaJO4uQ=Z0GJrmcIE#>6{t;Nx&c zzQUr6RZa`?Q{^Y?Dk?%ZnEQ_>$;Ktwn7J`e@U9ds(Q^xO&`aHjWENJD3QDrx4sJ2S z>5RF;eM=vAEo}=A+78|t%PUv R- literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys new file mode 100644 index 000000000..27b2bf80c --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys @@ -0,0 +1,13 @@ +# ____ ____ ____ ____ ____ +# __|R ||R ||S ||S ||Z |__ +# +0 1 R +2 1 R +2 1 R +4 1 R +4 1 S +6 1 S +6 1 S +8 1 S +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected new file mode 100644 index 000000000..df55cd463 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected @@ -0,0 +1,210 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  [1] R.m ()
+        4   40.00  80.00  [2] S.m ()
+        2   20.00 100.00  [3] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    [1]      2/2              4 R.m ()
+                40.0%    [2]      2/2              4 S.m ()
+                20.0%    [3]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00  80.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    40.0    40.0      2+0      [1] R.m ()
+
         4         4    40.0    80.0      2+0      [2] S.m ()
+
         2         2    20.0   100.0      1+0      [3] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..a52929a06c0b916318614d3df3a66bb6ba0f292a GIT binary patch literal 226 zcmX}iO$x#=5QgDN{lOU&Jcb4eRl9KG2^0jo5Zt9{q@_QRwu(1(?M<8z?7+ao%O_u^ z?F!q_mULxxdFb=js4UcvCrR&)Hdw2ICwRA(c9^P`VoWQQldMgj+pMGL9peRST&qku8^6EI-}{Jwd)<`x2GgOD{HnwM*CAz(ge!6N=2 D4Q(S% literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys new file mode 100644 index 000000000..c53c90df1 --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys @@ -0,0 +1,12 @@ +# ____ +# ____ ____|B |____ ____ +# __|A ||C ||Z |__ +# +0 1 A +2 1 A +2 1 C +4 1 B +6 1 B +8 1 C +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected new file mode 100644 index 000000000..18ce892fd --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected @@ -0,0 +1,214 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  [1] C.m ()
+        2   20.00  60.00  [2] A.m ()
+        2   20.00  80.00  [3] B.m ()
+        2   20.00 100.00  [4] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                60.0%    [1]      1/1              6 C.m ()
+                20.0%    [2]      1/1              2 A.m ()
+                20.0%    [4]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              6 (toplevel)
+[1]     60.0%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    [3]      1/1              2 B.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [1]      1/1              2 C.m ()
+[3]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         6   100.0   100.0      1+0      [1] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [4] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         6    40.0    40.0      1+0      [1] C.m ()
+
         2         2    20.0    60.0      1+0      [2] A.m ()
+
         2         2    20.0    80.0      1+0      [3] B.m ()
+
         2         2    20.0   100.0      1+0      [4] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..23f418786b7d4328aec351694faf13e2c25455e2 GIT binary patch literal 218 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yI2}22IW;taObbqD7&DpE3C1)u;EaN>wNmp^xPpEB z!z!T^BLgpxWCOD}fh0%;BhVZe KOAyH70%8EWrX}eB literal 0 HcmV?d00001 diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys new file mode 100644 index 000000000..bd645af3f --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys @@ -0,0 +1,13 @@ +# ____ ____ ____ ____ ____ +# __|A ||A ||B ||B ||Z |__ +# +0 1 A +2 1 A +2 1 A +4 1 A +4 1 B +6 1 B +6 1 B +8 1 B +8 1 Z +10 1 Z diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected new file mode 100644 index 000000000..0e8f300ea --- /dev/null +++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected @@ -0,0 +1,203 @@ + + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 10 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  [1] A.m ()
+        4   40.00  80.00  [2] B.m ()
+        2   20.00 100.00  [3] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    [1]      2/2              4 A.m ()
+                40.0%    [2]      2/2              4 B.m ()
+                20.0%    [3]      1/1              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      2+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+
         2         2   100.0   100.0      1+0      [3] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    40.0    40.0      2+0      [1] A.m ()
+
         4         4    40.0    80.0      2+0      [2] B.m ()
+
         2         2    20.0   100.0      1+0      [3] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace new file mode 100644 index 0000000000000000000000000000000000000000..01e95cd90ec4c0dd6fea6b1d2012ba4249470ef5 GIT binary patch literal 226 zcmX}i%L>9U5QX7MQE>(ZA43Czmx69w=vG0{h2SntA}zf{+A6-TZ{mbt2L?WVj(pp? z$y`M%(uLFcu1#yJ%v?WTB!e4TVyQBo;KMmuW1?z`F)36^vb1gLOhb!LjC(9`I%96} z@TbOmptO~t>*;)pU;>v-1o>AU1@s`CfIcJQ4=u + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 8 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  [1] C.m ()
+        4   50.00 100.00  [2] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    [1]      1/1              4 C.m ()
+                50.0%    [2]      2/2              4 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              4 (toplevel)
+[1]     50.0%                     1+0              4 C.m ()
+               100.0%   excl                       4
+----------------------------------------------------
+               100.0%    [0]      2/2              4 (toplevel)
+[2]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        6   75.00  75.00  66.67   0.00   0.00      1 main
+        2   25.00 100.00   0.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                      66.67               main
+         0                     0.00                      33.33               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         4   100.0   100.0      1+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         4    50.0    50.0      1+0      [1] C.m ()
+
         4         4    50.0   100.0      2+0      [2] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace new file mode 100644 index 0000000000000000000000000000000000000000..e73f0400a0df4377d0c0b4a05dc5d046d2a33e07 GIT binary patch literal 175 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yIGs6jIW;taObgB^2vaLHFNG`E$3L8jL4aY72Ma^? mLoIJc1{MYgU}E5avp9h)CLm^HU + + + + + + + +

Table of Contents

+ + + +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+Total cycles: 8 + +

+Exclusive elapsed times for each method, not including time spent in +children, sorted by exclusive time. + +

+
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  [1] C.m ()
+        4   50.00 100.00  [2] Z.m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Inclusive elapsed times for each method and its parents and children, +sorted by inclusive time. + +

+
+index  %/total %/self  index     calls         usecs name
+----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                75.0%    [1]      1/1              6 C.m ()
+                25.0%    [2]      1/2              2 Z.m ()
+----------------------------------------------------
+               100.0%    [0]      1/1              6 (toplevel)
+[1]     75.0%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    [2]      1/2              2 Z.m ()
+----------------------------------------------------
+                50.0%    [0]      1/2              2 (toplevel)
+                50.0%    [1]      1/2              2 C.m ()
+[2]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Elapsed times for each thread, sorted by elapsed time. +Also includes percentage of time spent during the execution of any filters. + +

+
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+

+ +Break-down of portion of time spent by each thread while waiting on a filter method. +

+
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+
+

+
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+

+
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each class, summed over all the methods +in the class. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Class
+ +
+
         4         6   100.0   100.0      1+0      [1] m ()
+
+ +
+
         4         4   100.0   100.0      2+0      [2] m ()
+
+ +
+[Top] +[Exclusive] +[Inclusive] +[Thread] +[Class] +[Method] +

+ +Exclusive elapsed time for each method, summed over all the classes +that contain a method with the same name. + +

+
    Cycles %/total Cumul.%  Calls+Recur  Method
+ +
+
         4         6    50.0    50.0      1+0      [1] C.m ()
+
         4         4    50.0   100.0      2+0      [2] Z.m ()
+
+ + + diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace new file mode 100644 index 0000000000000000000000000000000000000000..3a43c46a0ae6395cb1e24329d5c50d82908f8a03 GIT binary patch literal 175 zcmdNYOD!tS%+KR8;!4iRPtLY2$tX%qOwmm)DCN?Eu#342Idc;;fl4^j^7FZjIg=8L zxJ)>cauPGRv~p8RGV)W3xeO{yIGs6jIW;taObgB^2vaLHFNG`E$3L8jL4e_}2opp0 pLoIJc1{MYgU}WF`GMIpvk%1FPg2WjaSb-!Pm<5uBut2gP9sr)CAjtp# literal 0 HcmV?d00001 -- 2.11.0