aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2010-12-17 11:04:18 -0800
committerAndy McFadden <fadden@android.com>2010-12-17 12:33:23 -0800
commit7b522639a499f63ccb5162576830d0c20539bd05 (patch)
treeb1e6bd22ff6ad251e1c6e5659088d82dad349d3b /tools
parent08c2f9fc9cd7c1cb36c31d6f15b4d13a7cc15432 (diff)
Fix dmtracedump.
This rolls back a couple of checkins that were made some time ago. The dmtracedump tool has largely been broken ever since (only the "-o" mode worked reliably). The key feature this removes is "filters". I don't know what they do. Bug 2643529 Change-Id: I602c96da7a704286715d81d3fb227f490e933fcc
Diffstat (limited to 'tools')
-rw-r--r--tools/dmtracedump/TraceDump.c869
-rw-r--r--tools/dmtracedump/filters42
-rwxr-xr-xtools/dmtracedump/tests/filters/run_tests.sh36
-rw-r--r--tools/dmtracedump/tests/filters/testFilters9
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTracebin270 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTracebin246 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTracebin270 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTracebin246 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys17
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTracebin290 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys17
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTracebin266 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys16
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected216
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTracebin258 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys17
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTracebin266 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTracebin270 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTracebin246 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTracebin270 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys19
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTracebin246 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTracebin250 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTracebin226 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys11
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected214
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTracebin218 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTracebin226 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairCrossThread14
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTracebin206 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairSingleThread11
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTracebin206 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys23
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTracebin310 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys23
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTracebin286 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys23
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTracebin310 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys23
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTracebin286 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected232
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTracebin250 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected210
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTracebin226 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys12
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected214
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTracebin218 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys13
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected203
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTracebin226 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloCrossThread12
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected192
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTracebin175 -> 0 bytes
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloSingleThread10
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected194
-rw-r--r--tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTracebin175 -> 0 bytes
88 files changed, 61 insertions, 7356 deletions
diff --git a/tools/dmtracedump/TraceDump.c b/tools/dmtracedump/TraceDump.c
index 3f8006489..4127530cc 100644
--- a/tools/dmtracedump/TraceDump.c
+++ b/tools/dmtracedump/TraceDump.c
@@ -1,19 +1,18 @@
-/* //device/tools/dmtracedump/TraceDump.c
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
+/*
+ * Copyright (C) 2006 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
/*
* Process dmtrace output.
@@ -47,18 +46,6 @@ int versionNumber;
/* Size of temporary buffers for escaping html strings */
#define HTML_BUFSIZE 10240
-/* Size of methodId->method cache */
-#define METHOD_CACHE_SIZE 2048
-#define METHOD_CACHE_SIZE_MASK (METHOD_CACHE_SIZE - 1)
-
-/* 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 =
"<html>\n<head>\n<script type=\"text/javascript\" src=\"%ssortable.js\"></script>\n"
"<script langugage=\"javascript\">\n"
@@ -140,7 +127,6 @@ typedef struct DataHeader {
typedef struct ThreadEntry {
int threadId;
const char* threadName;
- uint64_t elapsedTime;
} ThreadEntry;
struct MethodEntry;
@@ -198,8 +184,6 @@ typedef struct DataKeys {
ThreadEntry* threads;
int numMethods;
MethodEntry* methods; /* 2 extra methods: "toplevel" and "unknown" */
- int* methodCache; /* methodId->methodIndex mapping */
- // TODO change to map methodId->method itself
} DataKeys;
#define TOPLEVEL_INDEX 0
@@ -211,15 +195,10 @@ typedef struct StackEntry {
} StackEntry;
typedef struct CallStack {
- int top;
- StackEntry calls[MAX_STACK_DEPTH];
- uint64_t lastEventTime;
- uint64_t threadStartTime;
- uint64_t* remTimes;
- // Note: remTimes keeps a sum of 'un-allocated' time for each thread, in case
- // we need to allocate it to one (or many) filter later. This would happen when
- // we see a method exit that maches a filter, but whose entry we hadn't seen.
- // TODO: consider moving remTimes into FilterTimes and change logic appropriately
+ int top;
+ StackEntry calls[MAX_STACK_DEPTH];
+ uint64_t lastEventTime;
+ uint64_t threadStartTime;
} CallStack;
typedef struct DiffEntry {
@@ -236,7 +215,6 @@ typedef struct Options {
const char* traceFileName;
const char* diffFileName;
const char* graphFileName;
- const char* filterFileName;
int keepDotFile;
int dump;
int outputHtml;
@@ -253,31 +231,6 @@ typedef struct TraceData {
UniqueMethodEntry *uniqueMethods;
} TraceData;
-typedef struct FilterKey {
- int type[2]; /* 0=class, 1=method; 2 needed for start and end keys */
- uint32_t flags; /* 1st bit = include cross-thread time */
- char* keys[2]; /* 2 needed for start and end keys */
-} FilterKey;
-
-typedef struct FilterTimes {
- uint64_t totalWaitTime;
- uint64_t* threadWaitTimes;
- uint64_t* threadExecutionTimesWhileWaiting;
- uint64_t* threadExecutionTimes;
-} FilterTimes;
-
-typedef struct Filter {
- char* filterName;
- FilterKey* filterKeys;
- int numKeys;
- int activeCount;
- int* activeThreads;
- int* activationKeys;
- FilterTimes times;
-} Filter;
-
-int numFilters = 0; // global
-
static Options gOptions;
/* Escapes characters in the source string that are html special entities.
@@ -445,37 +398,6 @@ int compareElapsedInclusive(const void *a, const void *b) {
/*
* This comparison function is called from qsort() to sort
- * threads into decreasing order of elapsed time.
- */
-int compareElapsed(const void *a, const void *b) {
- const ThreadEntry *threadA, *threadB;
- uint64_t elapsed1, elapsed2;
- int result = 0;
-
- threadA = (ThreadEntry const *)a;
- threadB = (ThreadEntry const *)b;
- elapsed1 = threadA->elapsedTime;
- elapsed2 = threadB->elapsedTime;
- if (elapsed1 < elapsed2)
- return 1;
- if (elapsed1 > elapsed2)
- return -1;
-
- /* If the elapsed times of two threads are equal, then sort them
- * by thread id.
- */
- int idA = threadA->threadId;
- int idB = threadB->threadId;
- if (idA < idB)
- result = -1;
- if (idA > idB)
- result = 1;
-
- return result;
-}
-
-/*
- * This comparison function is called from qsort() to sort
* TimedMethods into decreasing order of inclusive elapsed time.
*/
int compareTimedMethod(const void *a, const void *b) {
@@ -647,7 +569,6 @@ void freeDataKeys(DataKeys* pKeys)
free(pKeys->fileData);
free(pKeys->threads);
free(pKeys->methods);
- free(pKeys->methodCache);
free(pKeys);
}
@@ -674,15 +595,20 @@ int findNextChar(const char* data, int len, char lookFor)
return -1;
}
-int countLinesToChar(const char* data, int len, const char toFind)
+/*
+ * Count the number of lines until the next token.
+ *
+ * Returns -1 if none found before EOF.
+ */
+int countLinesToToken(const char* data, int len)
{
int count = 0;
int next;
- while (*data != toFind) {
+ while (*data != TOKEN_CHAR) {
next = findNextChar(data, len, '\n');
if (next < 0)
- return count;
+ return -1;
count++;
data += next+1;
len -= next+1;
@@ -692,16 +618,6 @@ int countLinesToChar(const char* data, int len, const char toFind)
}
/*
- * Count the number of lines until the next token.
- *
- * Returns 0 if none found before EOF.
- */
-int countLinesToToken(const char* data, int len)
-{
- return countLinesToChar(data, len, TOKEN_CHAR);
-}
-
-/*
* Make sure we're at the start of the right section.
*
* Returns the length of the token line, or -1 if something is wrong.
@@ -1060,6 +976,9 @@ DataKeys* parseKeys(FILE *fp, int verbose)
if (offset < 0)
goto fail;
+ /* Reduce our allocation now that we know where the end of the key section is. */
+ pKeys->fileData = (char *)realloc(pKeys->fileData, offset);
+ pKeys->fileLen = offset;
/* Leave fp pointing to the beginning of the data section. */
fseek(fp, offset, SEEK_SET);
@@ -1085,7 +1004,7 @@ DataKeys* parseKeys(FILE *fp, int verbose)
printf("Methods (%d):\n", pKeys->numMethods);
for (i = 0; i < pKeys->numMethods; i++) {
printf("0x%08x %s : %s : %s\n",
- pKeys->methods[i].methodId >> 2, pKeys->methods[i].className,
+ pKeys->methods[i].methodId, pKeys->methods[i].className,
pKeys->methods[i].methodName, pKeys->methods[i].signature);
}
}
@@ -1159,7 +1078,7 @@ int parseDataHeader(FILE *fp, DataHeader* pHeader)
}
/*
- * Look up a method by its method ID (using binary search).
+ * Look up a method by it's method ID.
*
* Returns NULL if no matching method was found.
*/
@@ -1167,18 +1086,6 @@ MethodEntry* lookupMethod(DataKeys* pKeys, unsigned int methodId)
{
int hi, lo, mid;
unsigned int id;
- int hashedId;
-
- /* Create cache if it doesn't already exist */
- if (pKeys->methodCache == NULL) {
- pKeys->methodCache = (int*) calloc(METHOD_CACHE_SIZE, sizeof(int));
- }
-
- // ids are multiples of 4, so shift
- hashedId = (methodId >> 2) & METHOD_CACHE_SIZE_MASK;
- if (pKeys->methodCache[hashedId]) /* cache hit */
- if (pKeys->methods[pKeys->methodCache[hashedId]].methodId == methodId)
- return &pKeys->methods[pKeys->methodCache[hashedId]];
lo = 0;
hi = pKeys->numMethods - 1;
@@ -1187,11 +1094,9 @@ MethodEntry* lookupMethod(DataKeys* pKeys, unsigned int methodId)
mid = (hi + lo) / 2;
id = pKeys->methods[mid].methodId;
- if (id == methodId) { /* match, put in cache */
- hashedId = (methodId >> 2) & METHOD_CACHE_SIZE_MASK;
- pKeys->methodCache[hashedId] = mid;
- return &pKeys->methods[mid];
- } else if (id < methodId) /* too low */
+ if (id == methodId) /* match */
+ return &pKeys->methods[mid];
+ else if (id < methodId) /* too low */
lo = mid + 1;
else /* too high */
hi = mid - 1;
@@ -1585,7 +1490,6 @@ void outputTableOfContents()
printf("<ul>\n");
printf(" <li><a href=\"#exclusive\">Exclusive profile</a></li>\n");
printf(" <li><a href=\"#inclusive\">Inclusive profile</a></li>\n");
- printf(" <li><a href=\"#thread\">Thread profile</a></li>\n");
printf(" <li><a href=\"#class\">Class/method profile</a></li>\n");
printf(" <li><a href=\"#method\">Method/class profile</a></li>\n");
printf("</ul>\n\n");
@@ -1596,7 +1500,6 @@ void outputNavigationBar()
printf("<a href=\"#contents\">[Top]</a>\n");
printf("<a href=\"#exclusive\">[Exclusive]</a>\n");
printf("<a href=\"#inclusive\">[Inclusive]</a>\n");
- printf("<a href=\"#thread\">[Thread]</a>\n");
printf("<a href=\"#class\">[Class]</a>\n");
printf("<a href=\"#method\">[Method]</a>\n");
printf("<br><br>\n");
@@ -1772,10 +1675,12 @@ void printInclusiveProfile(MethodEntry **pMethods, int numMethods,
char classBuf[HTML_BUFSIZE], methodBuf[HTML_BUFSIZE];
char signatureBuf[HTML_BUFSIZE];
char anchor_buf[80];
+ char *anchor_close = "";
total = sumThreadTime;
anchor_buf[0] = 0;
if (gOptions.outputHtml) {
+ anchor_close = "</a>";
printf("<a name=\"inclusive\"></a>\n");
printf("<hr>\n");
outputNavigationBar();
@@ -1860,122 +1765,6 @@ void printInclusiveProfile(MethodEntry **pMethods, int numMethods,
}
}
-void printThreadProfile(ThreadEntry *pThreads, int numThreads, uint64_t sumThreadTime, Filter** filters)
-{
- int ii, jj;
- ThreadEntry thread;
- double total, per, sum_per;
- uint64_t sum;
- char threadBuf[HTML_BUFSIZE];
- char anchor_buf[80];
- int drawTable;
-
- total = sumThreadTime;
- anchor_buf[0] = 0;
- if (gOptions.outputHtml) {
- printf("<a name=\"thread\"></a>\n");
- printf("<hr>\n");
- outputNavigationBar();
- } else {
- printf("\n%s\n", profileSeparator);
- }
-
- /* Sort the threads into decreasing order of elapsed time. */
- qsort(pThreads, numThreads, sizeof(ThreadEntry), compareElapsed);
-
- printf("\nElapsed times for each thread, sorted by elapsed time.\n");
- printf("Also includes percentage of time spent during the <i>execution</i> of any filters.\n\n");
-
- if (gOptions.outputHtml) {
- printf("<br><br>\n<pre>\n");
- }
-
- printf(" Usecs self %% sum %%");
- for (ii = 0; ii < numFilters; ++ii) {
- printf(" %s %%", filters[ii]->filterName);
- }
- printf(" tid ThreadName\n");
- sum = 0;
-
- for (ii = 0; ii < numThreads; ++ii) {
- int threadId;
- char *threadName;
- uint64_t time;
-
- thread = pThreads[ii];
-
- threadId = thread.threadId;
- threadName = (char*)(thread.threadName);
- time = thread.elapsedTime;
-
- sum += time;
- per = 100.0 * time / total;
- sum_per = 100.0 * sum / total;
-
- if (gOptions.outputHtml) {
- threadName = htmlEscape(threadName, threadBuf, HTML_BUFSIZE);
- }
-
- printf("%9llu %6.2f %6.2f", time, per, sum_per);
- for (jj = 0; jj < numFilters; jj++) {
- printf(" %6.2f", 100.0 * filters[jj]->times.threadExecutionTimes[threadId] / time);
- }
- printf(" %3d %s\n", threadId, threadName);
- }
-
- if (gOptions.outputHtml)
- printf("</pre><br />");
-
- printf("\n\nBreak-down of portion of time spent by each thread while waiting on a filter method.\n");
-
- for (ii = 0; ii < numFilters; ++ii) {
- // Draw a table for each filter that measures wait time
- drawTable = 0;
- for (jj = 0; jj < filters[ii]->numKeys; jj++)
- if (filters[ii]->filterKeys[jj].flags == 1)
- drawTable = 1;
-
- if (drawTable) {
-
- if (gOptions.outputHtml)
- printf("<br/><br/>\n<pre>\n");
- printf("Filter: %s\n", filters[ii]->filterName);
- printf("Total waiting cycles: %llu (%6.2f%% of total)\n",
- filters[ii]->times.totalWaitTime,
- 100.0 * filters[ii]->times.totalWaitTime / sum);
-
- if (filters[ii]->times.totalWaitTime > 0) {
-
- printf("Details: \n\n");
-
- printf(" Waiting cycles %% of total waiting time execution time while waiting thread name\n");
-
- for (jj = 0; jj < numThreads; jj++) {
-
- thread = pThreads[jj];
-
- char *threadName;
- threadName = (char*) thread.threadName;
- if (gOptions.outputHtml) {
- threadName = htmlEscape(threadName, threadBuf, HTML_BUFSIZE);
- }
-
- printf(" %9llu %6.2f %6.2f %s\n",
- filters[ii]->times.threadWaitTimes[thread.threadId],
- 100.0 * filters[ii]->times.threadWaitTimes[thread.threadId] / filters[ii]->times.totalWaitTime,
- 100.0 * filters[ii]->times.threadExecutionTimesWhileWaiting[thread.threadId] / filters[ii]->times.totalWaitTime,
- threadName);
- }
- }
-
- if (gOptions.outputHtml)
- printf("</pre>\n");
-
- }
- }
-
-}
-
void createClassList(TraceData* traceData, MethodEntry **pMethods, int numMethods)
{
int ii;
@@ -2477,464 +2266,16 @@ void printMethodProfiles(TraceData* traceData, uint64_t sumThreadTime)
}
/*
- * Determines whether the given FilterKey matches the method. The FilterKey's
- * key that is used to match against the method is determined by index.
- */
-int keyMatchesMethod(FilterKey filterKey, MethodEntry* method, int index)
-{
- if (filterKey.type[index] == 0) { // Class
-#if 0
- fprintf(stderr, " class is %s; filter key is %s\n", method->className, filterKey.keys[index]);
-#endif
- if (strcmp(method->className, filterKey.keys[index]) == 0) {
- return 1;
- }
- } else { // Method
- if (method->methodName != NULL) {
- // Get fully-qualified name
- // TODO: parse class name and method name an put them in structure to avoid
- // allocating memory here
- char* str = malloc ((strlen(method->className) + strlen(method->methodName) + 2) * sizeof(char));
- strcpy(str, method->className);
- strcat(str, ".");
- strcat(str, method->methodName);
-#if 0
- fprintf(stderr, " method is %s; filter key is %s\n", str, filterKey.keys[index]);
-#endif
- if (strcmp(str, filterKey.keys[index]) == 0) {
- free(str);
- return 1;
- }
- free(str);
- }
- }
- return 0;
-}
-
-/*
- * Adds the appropriate times to the given filter based on the given method. Activates and
- * de-activates filters as necessary.
- *
- * A filter is activated when the given method matches the 'entry' key of one of its FilterKeys.
- * It is de-activated when the method matches the 'exit' key of the same FilterKey that activated it
- * in the first place. Thus, a filter may be active more than once on the same thread (activated by
- * different FilterKeys). A filter may also be active on different threads at the same time.
- *
- * While the filter is active on thread 1, elapsed time is allocated to different buckets which
- * include: thread execution time (i.e., time thread 1 spent executing while filter was active),
- * thread waiting time (i.e., time thread 1 waited while other threads executed), and execution
- * time while waiting (i.e., time thread x spent executing while thread 1 was waiting). We also
- * keep track of the total waiting time for a given filter.
- *
- * Lastly, we keep track of remaining (un-allocated) time for cases in which we exit a method we
- * had not entered before, and that method happens to match the 'exit' key of a FilterKey.
- */
-int filterMethod(MethodEntry* method, Filter* filter, int entry, int threadId, int numThreads,
- uint64_t elapsed, uint64_t remTime)
-{
- int ii, jj;
- int activeCount, addedWaitTimeThreadsCount;
- int* activeThreads;
- int* activationKeys;
- int* addedWaitTimeThreads;
-
- // flags
- int addWaitTime = 0;
- int deactivation = 0;
- int addedExecutionTime = 0;
- int addedExecutionTimeWhileWaiting = 0;
- int addedWaitTime;
- int addedRemTime = 0;
- int threadKeyPairActive = 0;
-
- if (filter->times.threadWaitTimes == NULL && filter->times.threadExecutionTimes == NULL &&
- filter->times.threadExecutionTimesWhileWaiting == NULL) {
- filter->times.threadWaitTimes = (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
- filter->times.threadExecutionTimesWhileWaiting =
- (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
- filter->times.threadExecutionTimes = (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
- }
-
- int verbose = 0;
-
- if (verbose)
- fprintf(stderr,
- "Running %s filter for class %s method %s, thread %d; activeCount: %d time: %llu\n",
- filter->filterName, method->className, method->methodName, threadId,
- filter->activeCount, elapsed);
-
- // If active on some thread
- if (filter->activeCount > 0) {
-
- // Initialize active structures in case there are any de-activations
- activeThreads = (int*) calloc(filter->activeCount, sizeof(int));
- activationKeys = (int*) calloc(filter->activeCount, sizeof(int));
- activeCount = 0;
-
- // Initialize structure to help us determine which threads we've already added wait time to
- addedWaitTimeThreads = (int*) calloc(filter->activeCount, sizeof(int));
- addedWaitTimeThreadsCount = 0;
-
- // Add times to appropriate sums and de-activate (if necessary)
- for (ii = 0; ii < filter->activeCount; ii++) {
-
- if (verbose) {
- fprintf(stderr, " Analyzing active thread with id %d, activated by key [%s, %s]\n",
- filter->activeThreads[ii],
- filter->filterKeys[filter->activationKeys[ii]].keys[0],
- filter->filterKeys[filter->activationKeys[ii]].keys[1]);
- }
-
- // If active on THIS thread -> add to execution time (only add once!)
- if (filter->activeThreads[ii] == threadId && !addedExecutionTime) {
- if (verbose)
- fprintf(stderr, " Adding execution time to this thead\n");
- filter->times.threadExecutionTimes[threadId] += elapsed;
- addedExecutionTime = 1;
- }
-
- // If active on ANOTHER thread (or this one too) with CROSS_THREAD_FLAG -> add to
- // both thread's waiting time + total
- if (filter->filterKeys[filter->activationKeys[ii]].flags == 1) {
-
- // Add time to thread that is waiting (add to each waiting thread at most once!)
- addedWaitTime = 0;
- for (jj = 0; jj < addedWaitTimeThreadsCount; jj++) {
- if (addedWaitTimeThreads[jj] == filter->activeThreads[ii])
- addedWaitTime = 1;
- }
- if (!addedWaitTime) {
- if (verbose)
- fprintf(stderr, " Adding wait time to waiting thread\n");
- filter->times.threadWaitTimes[filter->activeThreads[ii]] += elapsed;
- addedWaitTimeThreads[addedWaitTimeThreadsCount++] = filter->activeThreads[ii];
- }
-
- // Add execution time to this thread while the other is waiting (only add once!)
- // [Flag is needed only because outside for loop might iterate through same
- // thread twice?] TODO: verify
- if (!addedExecutionTimeWhileWaiting) {
- if (verbose)
- fprintf(stderr, " Adding exec time to this thread while thread waits\n");
- filter->times.threadExecutionTimesWhileWaiting[threadId] += elapsed;
- addedExecutionTimeWhileWaiting = 1;
- }
-
- addWaitTime = 1;
- }
-
- // If a method exit matches the EXIT method of an ACTIVE key -> de-activate
- // the KEY (not the entire filter!!)
- if (!entry && keyMatchesMethod(filter->filterKeys[filter->activationKeys[ii]],
- method, 1)) {
- if (verbose)
- fprintf(stderr, " Exit key matched!\n");
-
- // Deactivate by removing (NOT adding) entries from activeThreads and activationKeys
- deactivation = 1; // singal that lists should be replaced
- } else {
- // No de-activation -> copy old entries into new lists
- activeThreads[activeCount] = filter->activeThreads[ii];
- activationKeys[activeCount++] = filter->activationKeys[ii];
- }
- }
-
- // If waiting on ANY thread, add wait time to total (but only ONCE!)
- if (addWaitTime) {
- filter->times.totalWaitTime += elapsed;
- }
-
- // If de-activation occurred, replace lists
- if (deactivation) {
- // TODO: Free memory from old lists
-
- // Set new lists
- filter->activeThreads = activeThreads;
- filter->activationKeys = activationKeys;
- filter->activeCount = activeCount;
- } else {
- // TODO: Free memory from new lists
- }
-
- } // Else, continue (we might be activating the filter on a different thread)
-
-
- if (entry) { // ENTRY
- if (verbose)
- fprintf(stderr, " Here at the entry\n");
- // If method matches entry key -> activate thread (do not add time since it's a new entry!)
- for (ii = 0; ii < filter->numKeys; ii++) {
- if (keyMatchesMethod(filter->filterKeys[ii], method, 0)) {
- if (verbose)
- fprintf(stderr, " Entry key matched!\n");
- // Activate thread only if thread/key pair is not already active
- for (jj = 0; jj < filter->activeCount; jj++) {
- if (filter->activeThreads[jj] == threadId && filter->activationKeys[jj] == ii)
- threadKeyPairActive = 1;
- }
- // TODO: WORRY ABOUT MEMORY WHEN ACTIVE_COUNT > DEFAULT_ACTIVE_THREAD (unlikely)
- // TODO: what if the same thread is active multiple times by different keys?
- // nothing, we just have to make sure we dont double-add, and we dont..
- if (!threadKeyPairActive) {
- filter->activeThreads[filter->activeCount] = threadId;
- filter->activationKeys[filter->activeCount++] = ii;
- }
- }
- }
- } else { // EXIT
- // If method matches a terminal key -> add remTime to total (no need to active/de-activate)
- for (ii = 0; ii < filter->numKeys; ii++) {
- if (!deactivation && keyMatchesMethod(filter->filterKeys[ii], method, 1) &&
- keyMatchesMethod(filter->filterKeys[ii], method, 0)) {
- // Add remTime(s)
- // TODO: think about how we should add remTimes.. should we add remTime to threads
- // that were waiting or being waited on? for now, keep it simple and just add the
- // execution time to the current thread.
- filter->times.threadExecutionTimes[threadId] += remTime;
- addedRemTime = 1;
- }
- }
- }
-
- return addedExecutionTime | (addedRemTime << 1);
-}
-
-void dumpFilters(Filter** filters) {
- int i;
- for (i = 0; i < numFilters; i++) {
- int j;
- fprintf(stderr, "FILTER %s\n", filters[i]->filterName);
- for (j = 0; j < filters[i]->numKeys; j++) {
- fprintf(stderr, "Keys: %s, type %d", filters[i]->filterKeys[j].keys[0],
- filters[i]->filterKeys[j].type[0]);
- if (filters[i]->filterKeys[j].keys[1] != NULL) {
- fprintf(stderr, " AND %s, type %d", filters[i]->filterKeys[j].keys[1],
- filters[i]->filterKeys[j].type[1]);
- }
- fprintf(stderr, "; flags: %d\n", filters[i]->filterKeys[j].flags);
- }
- }
-}
-
-/*
- * See parseFilters for required data format.
- * 'data' must point to the beginning of a filter definition.
- */
-char* parseFilter(char* data, char* dataEnd, Filter** filters, int num) {
-
- Filter* filter;
- int next, count, i;
- int tmpOffset, tmpKeyLen;
- char* tmpKey;
- char* key1;
- char* key2;
-
- filter = (Filter*) malloc(sizeof(Filter));
- filter->activeCount = 0;
- filter->activeThreads = (int*) calloc(DEFAULT_ACTIVE_THREADS, sizeof(int));
- filter->activationKeys = (int*) calloc(DEFAULT_ACTIVE_THREADS, sizeof(int));
-
- next = findNextChar(data + 1, dataEnd - data - 1, '\n');
- if (next < 0) {
- // TODO: what should we do here?
- // End of file reached...
- }
- data[next+1] = '\0';
- filter->filterName = data + 1;
- data += next + 2; // Careful
-
- /*
- * Count the number of keys (one per line).
- */
- count = countLinesToChar(data, dataEnd - data, FILTER_TAG);
- if (count <= 0) {
- fprintf(stderr,
- "ERROR: failed while parsing filter %s (found %d keys)\n",
- filter->filterName, count);
- return NULL; // TODO: Should do something else
- // Could return filter with 0 keys instead (probably better to avoid random segfaults)
- }
-
- filter->filterKeys = (FilterKey*) malloc(sizeof(FilterKey) * count);
-
- /*
- * Extract all entries.
- */
- tmpOffset = 0;
- for (i = 0; i < count; i++) {
- next = findNextChar(data, dataEnd - data, '\n');
- // assert(next > 0); // TODO: revise... (skip if next == 0 ?)
- data[next] = '\0';
- tmpKey = data;
-
- if (*data == FILTER_FLAG_THREAD) {
- filter->filterKeys[i].flags = 1;
- tmpKey++;
- } else {
- filter->filterKeys[i].flags = 0;
- }
-
- tmpOffset = findNextChar(tmpKey, next, ',');
-
- if (tmpOffset < 0) {
- // No comma, so only 1 key
- key1 = tmpKey;
- key2 = tmpKey;
-
- // Get type for key1
- filter->filterKeys[i].type[0] = FILTER_TYPE_CLASS; // default
- tmpOffset = findNextChar(key1, next, '(');
- if (tmpOffset > 0) {
- if (findNextChar(key1, next, ')') == tmpOffset + 1) {
- filter->filterKeys[i].type[0] = FILTER_TYPE_METHOD;
- filter->filterKeys[i].type[1] = FILTER_TYPE_METHOD;
- }
- key1[tmpOffset] = '\0';
- }
- } else {
- // Pair of keys
- tmpKey[tmpOffset] = '\0';
- key1 = tmpKey;
- key2 = tmpKey + tmpOffset + 1;
-
- // Get type for key1
- filter->filterKeys[i].type[0] = FILTER_TYPE_CLASS;
- tmpKeyLen = tmpOffset;
- tmpOffset = findNextChar(key1, tmpKeyLen, '(');
- if (tmpOffset > 0) {
- if (findNextChar(key1, tmpKeyLen, ')') == tmpOffset + 1) {
- filter->filterKeys[i].type[0] = FILTER_TYPE_METHOD;
- }
- key1[tmpOffset] = '\0';
- }
-
- // Get type for key2
- filter->filterKeys[i].type[1] = FILTER_TYPE_CLASS;
- tmpOffset = findNextChar(key2, next - tmpKeyLen, '(');
- if (tmpOffset > 0) {
- if (findNextChar(key2, next - tmpKeyLen, ')') == tmpOffset + 1) {
- filter->filterKeys[i].type[1] = FILTER_TYPE_METHOD;
- }
- key2[tmpOffset] = '\0';
- }
- }
-
- filter->filterKeys[i].keys[0] = key1;
- filter->filterKeys[i].keys[1] = key2;
- data += next+1;
- }
-
- filter->numKeys = count;
- filters[num] = filter;
-
- return data;
-}
-
-/*
- * Parses filters from given file. The file must follow the following format:
- *
- * *FilterName <- creates a new filter with keys to follow
- * A.method() <- key that triggers whenever A.method() enters/exit
- * Class <- key that triggers whenever any method from Class enters/exits
- * +CrossThread <- same as above, but keeps track of execution times accross threads
- * B.m(),C.m() <- key that triggers filter on when B.m() enters and off when C.m() exits
- *
- * TODO: add concrete example to make things clear
- */
-Filter** parseFilters(const char* filterFileName) {
-
- Filter** filters = NULL;
- FILE* fp = NULL;
- long len;
- char* data;
- char* dataEnd;
- char* dataStart;
- int i, next, count;
-
- fp = fopen(filterFileName, "r");
- if (fp == NULL)
- goto bail;
-
- if (fseek(fp, 0L, SEEK_END) != 0) {
- perror("fseek");
- goto bail;
- }
-
- len = ftell(fp);
- if (len == 0) {
- fprintf(stderr, "WARNING: Filter file is empty.\n");
- goto bail;
- }
- rewind(fp);
-
- data = (char*) malloc(len);
- if (data == NULL) {
- fprintf(stderr, "ERROR: unable to alloc %ld bytes for filter file\n", len);
- goto bail;
- }
-
- // Read file into memory
- if (fread(data, 1, len, fp) != (size_t) len) {
- fprintf(stderr, "ERROR: unable to read %ld bytes from filter file\n", len);
- goto bail;
- }
-
- dataStart = data;
- dataEnd = data + len;
-
- // Figure out how many filters there are
- numFilters = 0;
- next = -1;
-
- while (1) {
- if (*data == FILTER_TAG)
- numFilters++;
- next = findNextChar(data, len, '\n');
- if (next < 0)
- break;
- data += next+1;
- len -= next+1;
- }
-
- if (numFilters == 0) {
- fprintf(stderr, "WARNING: no filters found. Continuing without filters\n");
- goto bail;
- }
-
- filters = (Filter**) calloc(numFilters, sizeof(Filter *));
- if (filters == NULL) {
- fprintf(stderr, "ERROR: unable to alloc memory for filters");
- goto bail;
- }
-
- data = dataStart;
- for (i = 0; i < numFilters; i++) {
- data = parseFilter(data, dataEnd, filters, i);
- }
-
- return filters;
-
-bail:
- if (fp != NULL)
- fclose(fp);
-
- return NULL;
-
-}
-
-
-/*
* Read the key and data files and return the MethodEntries for those files
*/
-DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
- uint64_t* threadTime, Filter** filters)
+DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName, uint64_t* threadTime)
{
DataKeys* dataKeys = NULL;
MethodEntry **pMethods = NULL;
MethodEntry* method;
FILE* dataFp = NULL;
DataHeader dataHeader;
- int ii, jj, numThreads;
+ int ii;
uint64_t currentTime;
MethodEntry* caller;
@@ -2943,13 +2284,11 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
goto bail;
if ((dataKeys = parseKeys(dataFp, 0)) == NULL)
- goto bail;
+ goto bail;
if (parseDataHeader(dataFp, &dataHeader) < 0)
goto bail;
- numThreads = dataKeys->numThreads;
-
#if 0
FILE *dumpStream = fopen("debug", "w");
#endif
@@ -2959,7 +2298,6 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
int action;
unsigned int methodId;
CallStack *pStack;
-
/*
* Extract values from file.
*/
@@ -2978,7 +2316,6 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
pStack->top = 0;
pStack->lastEventTime = currentTime;
pStack->threadStartTime = currentTime;
- pStack->remTimes = (uint64_t*) calloc(numFilters, sizeof(uint64_t));
traceData->stacks[threadId] = pStack;
}
@@ -2989,16 +2326,16 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
#if 0
if (method->methodName) {
- fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s.%s %s\n",
- threadId, currentTime, action, pStack->threadStartTime,
- method->recursiveEntries,
- pStack->top, method->className, method->methodName,
- method->signature);
+ fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s.%s %s\n",
+ threadId, currentTime, action, pStack->threadStartTime,
+ method->recursiveEntries,
+ pStack->top, method->className, method->methodName,
+ method->signature);
} else {
- printf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s\n",
- threadId, currentTime, action, pStack->threadStartTime,
- method->recursiveEntries,
- pStack->top, method->className);
+ fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s\n",
+ threadId, currentTime, action, pStack->threadStartTime,
+ method->recursiveEntries,
+ pStack->top, method->className);
}
#endif
@@ -3031,26 +2368,6 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
/* Push the method on the stack for this thread */
pStack->calls[pStack->top].method = method;
pStack->calls[pStack->top++].entryTime = currentTime;
-
- // For each filter
- int result = 0;
- for (ii = 0; ii < numFilters; ii++) {
- result = filterMethod(method, filters[ii], 1, threadId, numThreads,
- currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
-
- // TODO: make remTimes work properly
- // Consider moving remTimes handling together with the rest
- // of time handling and clean up the return codes
- /*
- if (result == 0) { // no time added, no remTime added
- pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
- } else if (result == 3 || result == 4) { // remTime added
- // Reset remTime, since it's been added
- pStack->remTimes[ii] = 0;
- }
- */
- }
-
} else {
/* This is a method exit */
uint64_t entryTime = 0;
@@ -3088,24 +2405,6 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
if (method->recursiveEntries == 0) {
method->topExclusive += currentTime - pStack->lastEventTime;
}
-
- // For each filter
- int result = 0;
- for (ii = 0; ii < numFilters; ii++) {
- result = filterMethod(method, filters[ii], 0, threadId, numThreads,
- currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
-
- // TODO: make remTimes work properly
- /*
- if (result == 0) { // no time added, no remTime added
- pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
- } else if (result == 3 || result == 4) { // remTime added
- // Reset remTime, since it's been added
- pStack->remTimes[ii] = 0;
- }
- */
- }
-
}
/* Remember the time of the last entry or exit event */
pStack->lastEventTime = currentTime;
@@ -3117,23 +2416,18 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
*/
CallStack *pStack;
int threadId;
- uint64_t elapsedTime = 0;
uint64_t sumThreadTime = 0;
for (threadId = 0; threadId < MAX_THREADS; ++threadId) {
-
pStack = traceData->stacks[threadId];
/* If this thread never existed, then continue with next thread */
if (pStack == NULL)
continue;
- /* Calculate times spent in thread, and add it to total time */
- elapsedTime = pStack->lastEventTime - pStack->threadStartTime;
- sumThreadTime += elapsedTime;
+ /* Also, add up the time taken by all of the threads */
+ sumThreadTime += pStack->lastEventTime - pStack->threadStartTime;
for (ii = 0; ii < pStack->top; ++ii) {
- //printf("in loop\n");
-
if (ii == 0)
caller = &dataKeys->methods[TOPLEVEL_INDEX];
else
@@ -3145,33 +2439,7 @@ DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
uint64_t entryTime = pStack->calls[ii].entryTime;
uint64_t elapsed = pStack->lastEventTime - entryTime;
addInclusiveTime(caller, method, elapsed);
-
- // For each filter
- int result = 0;
- for (ii = 0; ii < numFilters; ii++) {
- result = filterMethod(method, filters[ii], 0, threadId, numThreads,
- currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
-
- // TODO: make remTimes work properly
- /*
- if (result == 0) { // no time added, no remTime added
- pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
- } else if (result == 3 || result == 4) { // remTime added
- // Reset remTime, since it's been added
- pStack->remTimes[ii] = 0;
- }
- */
- }
}
-
- /* Save the per-thread elapsed time in the DataKeys struct */
- for (ii = 0; ii < dataKeys->numThreads; ++ii) {
- if (dataKeys->threads[ii].threadId == threadId) {
- dataKeys->threads[ii].elapsedTime = elapsedTime;
- }
- }
-
-
}
caller = &dataKeys->methods[TOPLEVEL_INDEX];
caller->elapsedInclusive = sumThreadTime;
@@ -3208,14 +2476,12 @@ MethodEntry** parseMethodEntries(DataKeys* dataKeys)
return pMethods;
}
-
/*
* Produce a function profile from the following methods
*/
-void profileTrace(TraceData* traceData, MethodEntry **pMethods, int numMethods, uint64_t sumThreadTime,
- ThreadEntry *pThreads, int numThreads, Filter** filters)
+void profileTrace(TraceData* traceData, MethodEntry **pMethods, int numMethods, uint64_t sumThreadTime)
{
- /* Print the html header, if necessary */
+ /* Print the html header, if necessary */
if (gOptions.outputHtml) {
printf(htmlHeader, gOptions.sortableUrl);
outputTableOfContents();
@@ -3224,8 +2490,6 @@ void profileTrace(TraceData* traceData, MethodEntry **pMethods, int numMethods,
printExclusiveProfile(pMethods, numMethods, sumThreadTime);
printInclusiveProfile(pMethods, numMethods, sumThreadTime);
- printThreadProfile(pThreads, numThreads, sumThreadTime, filters);
-
createClassList(traceData, pMethods, numMethods);
printClassProfiles(traceData, sumThreadTime);
@@ -3491,7 +2755,7 @@ void createDiff(DataKeys* d1, uint64_t sum1, DataKeys* d2, uint64_t sum2)
if (gOptions.outputHtml) {
printf("</table>\n");
printf("<h3>Run 1 methods not found in Run 2</h3>");
- printf(tableHeaderMissing);
+ printf(tableHeaderMissing, "?");
}
for (i = 0; i < d1->numMethods; ++i) {
@@ -3503,7 +2767,7 @@ void createDiff(DataKeys* d1, uint64_t sum1, DataKeys* d2, uint64_t sum2)
if (gOptions.outputHtml) {
printf("</table>\n");
printf("<h3>Run 2 methods not found in Run 1</h3>");
- printf(tableHeaderMissing);
+ printf(tableHeaderMissing, "?");
}
for (i = 0; i < d2->numMethods; ++i) {
@@ -3517,10 +2781,10 @@ void createDiff(DataKeys* d1, uint64_t sum1, DataKeys* d2, uint64_t sum2)
int usage(const char *program)
{
- fprintf(stderr, "usage: %s [-ho] [-s sortable] [-d trace-file-name] [-g outfile] [-f filter-file] trace-file-name\n", program);
+ fprintf(stderr, "Copyright (C) 2006 The Android Open Source Project\n\n");
+ fprintf(stderr, "usage: %s [-ho] [-s sortable] [-d trace-file-name] [-g outfile] trace-file-name\n", program);
fprintf(stderr, " -d trace-file-name - Diff with this trace\n");
fprintf(stderr, " -g outfile - Write graph to 'outfile'\n");
- fprintf(stderr, " -f filter-file - Filter functions as specified in file\n");
fprintf(stderr, " -k - When writing a graph, keep the intermediate DOT file\n");
fprintf(stderr, " -h - Turn on HTML output\n");
fprintf(stderr, " -o - Dump the dmtrace file instead of profiling\n");
@@ -3533,7 +2797,7 @@ int usage(const char *program)
int parseOptions(int argc, char **argv)
{
while (1) {
- int opt = getopt(argc, argv, "d:hg:kos:t:f:");
+ int opt = getopt(argc, argv, "d:hg:kos:t:");
if (opt == -1)
break;
switch (opt) {
@@ -3543,9 +2807,6 @@ int parseOptions(int argc, char **argv)
case 'g':
gOptions.graphFileName = optarg;
break;
- case 'f':
- gOptions.filterFileName = optarg;
- break;
case 'k':
gOptions.keepDotFile = 1;
break;
@@ -3573,7 +2834,6 @@ int parseOptions(int argc, char **argv)
*/
int main(int argc, char** argv)
{
-
gOptions.threshold = -1;
// Parse the options
@@ -3593,15 +2853,9 @@ int main(int argc, char** argv)
uint64_t sumThreadTime = 0;
- Filter** filters = NULL;
- if (gOptions.filterFileName != NULL) {
- filters = parseFilters(gOptions.filterFileName);
- }
-
TraceData data1;
- memset(&data1, 0, sizeof(data1));
DataKeys* dataKeys = parseDataKeys(&data1, gOptions.traceFileName,
- &sumThreadTime, filters);
+ &sumThreadTime);
if (dataKeys == NULL) {
fprintf(stderr, "Cannot read trace.\n");
exit(1);
@@ -3610,15 +2864,14 @@ int main(int argc, char** argv)
if (gOptions.diffFileName != NULL) {
uint64_t sum2;
TraceData data2;
- DataKeys* d2 = parseDataKeys(&data2, gOptions.diffFileName, &sum2, filters);
+ DataKeys* d2 = parseDataKeys(&data2, gOptions.diffFileName, &sum2);
createDiff(d2, sum2, dataKeys, sumThreadTime);
freeDataKeys(d2);
} else {
MethodEntry** methods = parseMethodEntries(dataKeys);
- profileTrace(&data1, methods, dataKeys->numMethods, sumThreadTime,
- dataKeys->threads, dataKeys->numThreads, filters);
+ profileTrace(&data1, methods, dataKeys->numMethods, sumThreadTime);
if (gOptions.graphFileName != NULL) {
createInclusiveProfileGraphNew(dataKeys);
}
diff --git a/tools/dmtracedump/filters b/tools/dmtracedump/filters
deleted file mode 100644
index 96a041ca1..000000000
--- a/tools/dmtracedump/filters
+++ /dev/null
@@ -1,42 +0,0 @@
-*GC
-dvmGcScanRootClassLoader
-mspace_walk_free_pages
-dvmCollectGarbageInternal
-doHeapWork
-dvmGetNextHeapWorkerObject
-GC
-GC2
-GC3
-*Net
-setsockopt
-+sys_setsockopt [kernel]
-socketSelect
-send
-recv
-sendto
-recvfrom
-+sys_sendto [kernel]
-+sys_recvfrom [kernel]
-org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection
-android.net.http.ConnectionThread
-PlainSocketImpl
-WebCore::HTMLTokenizer
-*IO
-select
-+sys_select [kernel]
-*DB
-android.database.sqlite.SQLiteOpenHelper
-android.database.sqlite.SQLiteQueryBuilder
-android.database.sqlite.SQLiteDatabase
-android.database.sqlite.SQLiteDirectCursorDriver
-android.database.sqlite.SQLiteQuery
-android.database.sqlite.SQLiteProgram
-android.database.AbstractCursor
-android.database.sqlite.SQLiteCursor
-*UI
-android.view.View.draw()
-android.view.ViewGroup
-*Sync
-+java.lang.Object.wait()
-*Useless
-+android.widget.ProgressBar
diff --git a/tools/dmtracedump/tests/filters/run_tests.sh b/tools/dmtracedump/tests/filters/run_tests.sh
deleted file mode 100755
index cdf87cb96..000000000
--- a/tools/dmtracedump/tests/filters/run_tests.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-failed=0
-for file in $(find $1 -type f -iname 'test*'); do
- case $file in
- *testFilters) continue; ;;
- *Expected) continue; ;;
- *Trace) continue; ;;
- *.html) continue; ;;
- esac
-
- echo "Running test for $file"
-
-# create_test_dmtrace $file tmp.trace
- dmtracedump -f testFilters -h "$file"Trace > tmp.html 2> /dev/null
-
- output=`diff tmp.html "$file"Expected 2>&1`
- if [ ${#output} -eq 0 ]
- then
- echo " OK"
- else
- echo " Test failed: $output"
- failed=`expr $failed + 1`
- fi
-
-done
-
-rm tmp.trace
-rm tmp.html
-
-if [ $failed -gt 0 ]
-then
- echo "$failed test(s) failed"
-else
- echo "All tests passed successfully"
-fi
diff --git a/tools/dmtracedump/tests/filters/testFilters b/tools/dmtracedump/tests/filters/testFilters
deleted file mode 100644
index 2c3edb603..000000000
--- a/tools/dmtracedump/tests/filters/testFilters
+++ /dev/null
@@ -1,9 +0,0 @@
-*FirstFilter
-+A.m(),B.m()
-+C.m()
-+R.m(),S.m()
-*SecondFilter
-+D.m(),E.m()
-+F.m()
-*RepeatedFilter
-+R.m(),S.m()
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys
deleted file mode 100644
index b4367c6dd..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ _________
-# __|A |___________|B |_____|Z |_______
-#
-# ___________ ____ ____
-# _______|Z |_____|D |_________|E |__
-#
-#
-0 1 A
-2 1 A
-0 2 Z
-4 2 Z
-2 1 B
-4 1 B
-4 2 D
-6 2 D
-4 1 Z
-8 1 Z
-6 2 E
-8 2 E
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected
deleted file mode 100644
index 7fa789a1a..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> D.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> E.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 D.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 E.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 E.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index 8bc74ffad..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys
deleted file mode 100644
index 76cdea78b..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ _________
-# __|R |___________|S |_____|Z |_______
-#
-# ___________ ____ ____
-# _______|Z |_____|R |_________|S |__
-#
-#
-0 1 R
-2 1 R
-0 2 Z
-4 2 Z
-2 1 S
-4 1 S
-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/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected
deleted file mode 100644
index 567282614..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> R.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 R.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 S.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace
deleted file mode 100644
index 9ec737814..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys
deleted file mode 100644
index d1bcdd31c..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ _________
-# __|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
deleted file mode 100644
index ef56af57b..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> R.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 R.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 R.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 S.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace
deleted file mode 100644
index 0559a6af3..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys
deleted file mode 100644
index 2bb68d7bd..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ _________
-# __|A |___________|B |_____|Z |_______
-#
-# ___________ ____ ____
-# _______|Z |_____|A |_________|B |__
-#
-#
-0 1 A
-2 1 A
-0 2 Z
-4 2 Z
-2 1 B
-4 1 B
-4 2 A
-6 2 A
-4 1 Z
-8 1 Z
-6 2 B
-8 2 B
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected
deleted file mode 100644
index 50b2b98a5..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 A.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 B.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace
deleted file mode 100644
index f113fcfcc..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys
deleted file mode 100644
index e7456c1a5..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,17 +0,0 @@
-# ____ ____ ____ ________ ____ ____ ____
-# __|A ||Z ||B ||Z ||D ||Z ||E |__
-#
-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 D
-12 1 D
-12 1 Z
-14 1 Z
-14 1 E
-16 1 E
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected
deleted file mode 100644
index 9349375e8..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> D.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> E.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 3/3 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 D.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 E.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 3/3 8 (toplevel)
-[1] 50.0% 3+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 E.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index 09983baca..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys
deleted file mode 100644
index b51f81e18..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,17 +0,0 @@
-# ____ ____ ____ ________ ____ ____ ____
-# __|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
deleted file mode 100644
index 41f9625b5..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> R.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 3/3 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 R.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 3/3 8 (toplevel)
-[1] 50.0% 3+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 S.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace
deleted file mode 100644
index 2cccf077a..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys
deleted file mode 100644
index d4e41a48a..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,16 +0,0 @@
-# ____
-# ____ ____ ____ ________ ____|Z |____
-# __|A ||Z ||B ||Z ||C |__
-#
-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 C
-12 1 Z
-14 1 Z
-16 1 C
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected
deleted file mode 100644
index d81cccc9c..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,216 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> C.m ()
- 2 12.50 87.50 <a href="#m3">[3]</a> A.m ()
- 2 12.50 100.00 <a href="#m4">[4]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 37.5% <a href="#m2">[2]</a> 1/1 6 C.m ()
- 37.5% <a href="#m1">[1]</a> 2/3 6 Z.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 A.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 75.0% <a href="#m0">[0]</a> 2/3 6 (toplevel)
- 25.0% <a href="#m2">[2]</a> 1/3 2 C.m ()
-[1] 50.0% 3+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 6 (toplevel)
-[2] 37.5% 1+0 6 C.m ()
- 66.7% excl 4
- 33.3% <a href="#m1">[1]</a> 1/3 2 Z.m ()
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;C.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace
deleted file mode 100644
index 3f61656ab..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys
deleted file mode 100644
index 0b3377d6b..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys
+++ /dev/null
@@ -1,17 +0,0 @@
-# ____ ____ ____ ________ ____ ____ ____
-# __|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
deleted file mode 100644
index aa476b36b..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 3/3 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 A.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 3/3 8 (toplevel)
-[1] 50.0% 3+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 B.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace
deleted file mode 100644
index c6ddbe5ab..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys
deleted file mode 100644
index d87ac8174..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ ________
-# __|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
deleted file mode 100644
index a97f25c78..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> D.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> E.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 D.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 E.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 E.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index 832bbfc54..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys
deleted file mode 100644
index 82ab14216..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ ________
-# __|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
deleted file mode 100644
index 623478eee..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> R.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 R.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 S.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace
deleted file mode 100644
index 371f150d4..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys
deleted file mode 100644
index 511543fdb..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ ________
-# __|A |_____________________|B ||Z |__
-#
-# ____ ________ ____
-# _______|R ||Z ||S |______________
-#
-#
-0 1 A
-2 1 A
-0 2 R
-2 2 R
-2 2 Z
-6 2 Z
-6 2 S
-8 2 S
-2 1 B
-4 1 B
-4 1 Z
-8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected
deleted file mode 100644
index 1193f5ffd..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> R.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 R.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 R.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 S.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace
deleted file mode 100644
index 9f87efc65..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys
deleted file mode 100644
index 6714ddd72..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys
+++ /dev/null
@@ -1,19 +0,0 @@
-# ____ ____ ________
-# __|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
deleted file mode 100644
index 79c2e6300..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 A.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 8 (toplevel)
-[1] 50.0% 2+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 B.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace
deleted file mode 100644
index 74e4c53e9..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys
deleted file mode 100644
index b92471f84..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 3b2ffc8d3..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 2 20.00 20.00 <a href="#m1">[1]</a> A.m ()
- 2 20.00 40.00 <a href="#m2">[2]</a> B.m ()
- 2 20.00 60.00 <a href="#m3">[3]</a> D.m ()
- 2 20.00 80.00 <a href="#m4">[4]</a> E.m ()
- 2 20.00 100.00 <a href="#m5">[5]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 20.0% <a href="#m1">[1]</a> 1/1 2 A.m ()
- 20.0% <a href="#m2">[2]</a> 1/1 2 B.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 D.m ()
- 20.0% <a href="#m4">[4]</a> 1/1 2 E.m ()
- 20.0% <a href="#m5">[5]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[1] 20.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 20.0% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 20.0% 1+0 2 E.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;E.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index c9c086cea..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys
deleted file mode 100644
index 27b2bf80c..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected
deleted file mode 100644
index df55cd463..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 40.00 40.00 <a href="#m1">[1]</a> R.m ()
- 4 40.00 80.00 <a href="#m2">[2]</a> S.m ()
- 2 20.00 100.00 <a href="#m3">[3]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 40.0% <a href="#m1">[1]</a> 2/2 4 R.m ()
- 40.0% <a href="#m2">[2]</a> 2/2 4 S.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 40.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 40.0% 2+0 4 S.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;S.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace
deleted file mode 100644
index 0afca4d06..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys
deleted file mode 100644
index a494716e6..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,11 +0,0 @@
-# ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 720d05ac4..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,214 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 8
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 2 25.00 25.00 <a href="#m1">[1]</a> A.m ()
- 2 25.00 50.00 <a href="#m2">[2]</a> B.m ()
- 2 25.00 75.00 <a href="#m3">[3]</a> C.m ()
- 2 25.00 100.00 <a href="#m4">[4]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 8 (toplevel)
- 0.0% excl 0
- 25.0% <a href="#m1">[1]</a> 1/1 2 A.m ()
- 25.0% <a href="#m2">[2]</a> 1/1 2 B.m ()
- 25.0% <a href="#m3">[3]</a> 1/1 2 C.m ()
- 25.0% <a href="#m4">[4]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[1] 25.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 25.0% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 25.0% 1+0 2 C.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 25.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;C.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace
deleted file mode 100644
index c5f9a3e5e..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys
deleted file mode 100644
index bd645af3f..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 0e8f300ea..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 40.00 40.00 <a href="#m1">[1]</a> A.m ()
- 4 40.00 80.00 <a href="#m2">[2]</a> B.m ()
- 2 20.00 100.00 <a href="#m3">[3]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 40.0% <a href="#m1">[1]</a> 2/2 4 A.m ()
- 40.0% <a href="#m2">[2]</a> 2/2 4 B.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 40.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 40.0% 2+0 4 B.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace
deleted file mode 100644
index 65e381a13..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThread b/tools/dmtracedump/tests/filters/testWaitingPairCrossThread
deleted file mode 100644
index 6c93bc62f..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairCrossThread
+++ /dev/null
@@ -1,14 +0,0 @@
-# ____ ____ ____
-# __|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
deleted file mode 100644
index ed45fffca..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 8
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 2 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 8 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 4 Z.m ()
- 25.0% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 25.0% <a href="#m3">[3]</a> 1/1 2 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 50.0% 2+0 4 Z.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 25.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 25.0% 1+0 2 B.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace
deleted file mode 100644
index 4e53dfd22..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThread b/tools/dmtracedump/tests/filters/testWaitingPairSingleThread
deleted file mode 100644
index 45375ca87..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairSingleThread
+++ /dev/null
@@ -1,11 +0,0 @@
-# ____ ____ ____ ____
-# __|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
deleted file mode 100644
index b3e2b3f94..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 8
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 2 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 8 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 2/2 4 Z.m ()
- 25.0% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 25.0% <a href="#m3">[3]</a> 1/1 2 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 50.0% 2+0 4 Z.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 25.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 25.0% 1+0 2 B.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace
deleted file mode 100644
index 3f29843a9..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys
deleted file mode 100644
index 05995f370..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,23 +0,0 @@
-# ____ ____ ____ ____
-# __|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
deleted file mode 100644
index ba83cee11..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> D.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> E.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 4/4 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 D.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 E.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 4/4 8 (toplevel)
-[1] 50.0% 4+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 E.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index 30fbe3853..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys
deleted file mode 100644
index f87446405..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,23 +0,0 @@
-# ____ ____ ____ ____
-# __|R |___________|S ||Z |____|Z |_______
-#
-# ____ ____ ____ ____
-# _______|Z ||R |___________|S |____|Z |__
-#
-#
-0 1 R
-2 1 R
-0 2 Z
-2 2 Z
-2 2 R
-4 2 R
-2 1 S
-4 1 S
-4 1 Z
-6 1 Z
-4 2 S
-6 2 S
-6 1 Z
-8 1 Z
-6 2 Z
-8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected
deleted file mode 100644
index 93c4a0521..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> R.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 4/4 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 R.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 4/4 8 (toplevel)
-[1] 50.0% 4+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 S.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace
deleted file mode 100644
index 6dc18264d..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys
deleted file mode 100644
index bdc437336..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,23 +0,0 @@
-# ____ ____ ____ ____
-# __|A |___________|B ||Z |____|Z |_______
-#
-# ____ ____ ____ ____
-# _______|Z ||R |___________|S |____|Z |__
-#
-#
-0 1 A
-2 1 A
-0 2 Z
-2 2 Z
-2 2 R
-4 2 R
-2 1 B
-4 1 B
-4 1 Z
-6 1 Z
-4 2 S
-6 2 S
-6 1 Z
-8 1 Z
-6 2 Z
-8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected
deleted file mode 100644
index b154ed134..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 2 12.50 62.50 <a href="#m2">[2]</a> A.m ()
- 2 12.50 75.00 <a href="#m3">[3]</a> B.m ()
- 2 12.50 87.50 <a href="#m4">[4]</a> R.m ()
- 2 12.50 100.00 <a href="#m5">[5]</a> S.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 4/4 8 Z.m ()
- 12.5% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 12.5% <a href="#m3">[3]</a> 1/1 2 B.m ()
- 12.5% <a href="#m4">[4]</a> 1/1 2 R.m ()
- 12.5% <a href="#m5">[5]</a> 1/1 2 S.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 4/4 8 (toplevel)
-[1] 50.0% 4+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 12.5% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 12.5% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 12.5% 1+0 2 R.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 12.5% 1+0 2 S.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace
deleted file mode 100644
index efb0b1b06..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys
deleted file mode 100644
index 552ae40df..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys
+++ /dev/null
@@ -1,23 +0,0 @@
-# ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 82b0356b9..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 16
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 8 50.00 50.00 <a href="#m1">[1]</a> Z.m ()
- 4 25.00 75.00 <a href="#m2">[2]</a> A.m ()
- 4 25.00 100.00 <a href="#m3">[3]</a> B.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 16 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 4/4 8 Z.m ()
- 25.0% <a href="#m2">[2]</a> 2/2 4 A.m ()
- 25.0% <a href="#m3">[3]</a> 2/2 4 B.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 4/4 8 (toplevel)
-[1] 50.0% 4+0 8 Z.m ()
- 100.0% excl 8
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 25.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[3] 25.0% 2+0 4 B.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace
deleted file mode 100644
index 497e925f1..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys
deleted file mode 100644
index edf03c54a..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 2d597200d..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 2 20.00 20.00 <a href="#m1">[1]</a> A.m ()
- 2 20.00 40.00 <a href="#m2">[2]</a> B.m ()
- 2 20.00 60.00 <a href="#m3">[3]</a> D.m ()
- 2 20.00 80.00 <a href="#m4">[4]</a> E.m ()
- 2 20.00 100.00 <a href="#m5">[5]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 20.0% <a href="#m1">[1]</a> 1/1 2 A.m ()
- 20.0% <a href="#m2">[2]</a> 1/1 2 B.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 D.m ()
- 20.0% <a href="#m4">[4]</a> 1/1 2 E.m ()
- 20.0% <a href="#m5">[5]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[1] 20.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 20.0% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 D.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 20.0% 1+0 2 E.m ()
- 100.0% excl 2
-<a name="m5"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[5] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d4">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;D.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;E.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace
deleted file mode 100644
index b9afef48f..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys
deleted file mode 100644
index 27b2bf80c..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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
deleted file mode 100644
index df55cd463..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 40.00 40.00 <a href="#m1">[1]</a> R.m ()
- 4 40.00 80.00 <a href="#m2">[2]</a> S.m ()
- 2 20.00 100.00 <a href="#m3">[3]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 40.0% <a href="#m1">[1]</a> 2/2 4 R.m ()
- 40.0% <a href="#m2">[2]</a> 2/2 4 S.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 40.0% 2+0 4 R.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 40.0% 2+0 4 S.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-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
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;R.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;S.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace
deleted file mode 100644
index a52929a06..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys
deleted file mode 100644
index c53c90df1..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys
+++ /dev/null
@@ -1,12 +0,0 @@
-# ____
-# ____ ____|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
deleted file mode 100644
index 18ce892fd..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected
+++ /dev/null
@@ -1,214 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 40.00 40.00 <a href="#m1">[1]</a> C.m ()
- 2 20.00 60.00 <a href="#m2">[2]</a> A.m ()
- 2 20.00 80.00 <a href="#m3">[3]</a> B.m ()
- 2 20.00 100.00 <a href="#m4">[4]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 60.0% <a href="#m1">[1]</a> 1/1 6 C.m ()
- 20.0% <a href="#m2">[2]</a> 1/1 2 A.m ()
- 20.0% <a href="#m4">[4]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 6 (toplevel)
-[1] 60.0% 1+0 6 C.m ()
- 66.7% excl 4
- 33.3% <a href="#m3">[3]</a> 1/1 2 B.m ()
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[2] 20.0% 1+0 2 A.m ()
- 100.0% excl 2
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m1">[1]</a> 1/1 2 C.m ()
-[3] 20.0% 1+0 2 B.m ()
- 100.0% excl 2
-<a name="m4"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[4] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d3">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace
deleted file mode 100644
index 23f418786..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys
deleted file mode 100644
index bd645af3f..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys
+++ /dev/null
@@ -1,13 +0,0 @@
-# ____ ____ ____ ____ ____
-# __|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
deleted file mode 100644
index 0e8f300ea..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 10
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 40.00 40.00 <a href="#m1">[1]</a> A.m ()
- 4 40.00 80.00 <a href="#m2">[2]</a> B.m ()
- 2 20.00 100.00 <a href="#m3">[3]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 10 (toplevel)
- 0.0% excl 0
- 40.0% <a href="#m1">[1]</a> 2/2 4 A.m ()
- 40.0% <a href="#m2">[2]</a> 2/2 4 B.m ()
- 20.0% <a href="#m3">[3]</a> 1/1 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[1] 40.0% 2+0 4 A.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 40.0% 2+0 4 B.m ()
- 100.0% excl 4
-<a name="m3"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 2 (toplevel)
-[3] 20.0% 1+0 2 Z.m ()
- 100.0% excl 2
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d2">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace
deleted file mode 100644
index 01e95cd90..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread
deleted file mode 100644
index c9dbd1a09..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread
+++ /dev/null
@@ -1,12 +0,0 @@
-# ____ ____ ____
-# __|C ||Z |__
-#
-# ____
-# ________|Z |_____________
-#
-0 1 C
-0 2 Z
-2 2 Z
-4 1 C
-4 1 Z
-6 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected
deleted file mode 100644
index 409b17ebe..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 8
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 50.00 50.00 <a href="#m1">[1]</a> C.m ()
- 4 50.00 100.00 <a href="#m2">[2]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 8 (toplevel)
- 0.0% excl 0
- 50.0% <a href="#m1">[1]</a> 1/1 4 C.m ()
- 50.0% <a href="#m2">[2]</a> 2/2 4 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 4 (toplevel)
-[1] 50.0% 1+0 4 C.m ()
- 100.0% excl 4
-<a name="m2"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 2/2 4 (toplevel)
-[2] 50.0% 2+0 4 Z.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace
deleted file mode 100644
index e73f0400a..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace
+++ /dev/null
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread
deleted file mode 100644
index 3f0753e20..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread
+++ /dev/null
@@ -1,10 +0,0 @@
-# _____
-# ____|Z |____ ____
-# __|C ||Z |__
-#
-0 1 C
-2 1 Z
-4 1 Z
-6 1 C
-6 1 Z
-8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected
deleted file mode 100644
index 8d22b637f..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected
+++ /dev/null
@@ -1,194 +0,0 @@
-<html>
-<head>
-<script type="text/javascript" src="(null)sortable.js"></script>
-<script langugage="javascript">
-function toggle(item) {
- obj=document.getElementById(item);
- visible=(obj.style.display!="none" && obj.style.display!="");
- key=document.getElementById("x" + item);
- if (visible) {
- obj.style.display="none";
- key.innerHTML="+";
- } else {
- obj.style.display="block";
- key.innerHTML="-";
- }
-}
-function onMouseOver(obj) {
- obj.style.background="lightblue";
-}
-function onMouseOut(obj) {
- obj.style.background="white";
-}
-</script>
-<style type="text/css">
-div { font-family: courier; font-size: 13 }
-div.parent { margin-left: 15; display: none }
-div.leaf { margin-left: 10 }
-div.header { margin-left: 10 }
-div.link { margin-left: 10; cursor: move }
-span.parent { padding-right: 10; }
-span.leaf { padding-right: 10; }
-a img { border: 0;}
-table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
-table.sortable tr.even td { background-color: #fff; }
-</style>
-</head><body>
-
-<a name="contents"></a>
-<h2>Table of Contents</h2>
-<ul>
- <li><a href="#exclusive">Exclusive profile</a></li>
- <li><a href="#inclusive">Inclusive profile</a></li>
- <li><a href="#thread">Thread profile</a></li>
- <li><a href="#class">Class/method profile</a></li>
- <li><a href="#method">Method/class profile</a></li>
-</ul>
-
-<a name="exclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-Total cycles: 8
-
-<br><br>
-Exclusive elapsed times for each method, not including time spent in
-children, sorted by exclusive time.
-
-<br><br>
-<pre>
- Usecs self % sum % Method
- 4 50.00 50.00 <a href="#m1">[1]</a> C.m ()
- 4 50.00 100.00 <a href="#m2">[2]</a> Z.m ()
-</pre>
-<a name="inclusive"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Inclusive elapsed times for each method and its parents and children,
-sorted by inclusive time.
-
-<br><br>
-<pre>
-index %/total %/self index calls usecs name
-<a name="m0"></a>----------------------------------------------------
-[0] 100.0% 0+0 8 (toplevel)
- 0.0% excl 0
- 75.0% <a href="#m1">[1]</a> 1/1 6 C.m ()
- 25.0% <a href="#m2">[2]</a> 1/2 2 Z.m ()
-<a name="m1"></a>----------------------------------------------------
- 100.0% <a href="#m0">[0]</a> 1/1 6 (toplevel)
-[1] 75.0% 1+0 6 C.m ()
- 66.7% excl 4
- 33.3% <a href="#m2">[2]</a> 1/2 2 Z.m ()
-<a name="m2"></a>----------------------------------------------------
- 50.0% <a href="#m0">[0]</a> 1/2 2 (toplevel)
- 50.0% <a href="#m1">[1]</a> 1/2 2 C.m ()
-[2] 50.0% 2+0 4 Z.m ()
- 100.0% excl 4
-</pre>
-<a name="thread"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Elapsed times for each thread, sorted by elapsed time.
-Also includes percentage of time spent during the <i>execution</i> of any filters.
-
-<br><br>
-<pre>
- 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
-</pre><br />
-
-Break-down of portion of time spent by each thread while waiting on a filter method.
-<br/><br/>
-<pre>
-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
-</pre>
-<br/><br/>
-<pre>
-Filter: SecondFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<br/><br/>
-<pre>
-Filter: RepeatedFilter
-Total waiting cycles: 0 ( 0.00% of total)
-</pre>
-<a name="class"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each class, summed over all the methods
-in the class.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
-<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
-<div class="parent" id="d0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
-</div>
-<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
-<div class="parent" id="d1">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
-</div>
-<a name="method"></a>
-<hr>
-<a href="#contents">[Top]</a>
-<a href="#exclusive">[Exclusive]</a>
-<a href="#inclusive">[Inclusive]</a>
-<a href="#thread">[Thread]</a>
-<a href="#class">[Class]</a>
-<a href="#method">[Method]</a>
-<br><br>
-
-Exclusive elapsed time for each method, summed over all the classes
-that contain a method with the same name.
-
-<br><br>
-<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
-<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
-<div class="parent" id="e0">
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
-<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;Z.m&nbsp;()</div>
-</div>
-
-</body>
-</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace
deleted file mode 100644
index 3a43c46a0..000000000
--- a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace
+++ /dev/null
Binary files differ