f84bcb27620a7a967da8083791faca25dd2f0dd7 galt Wed Mar 30 14:36:27 2016 -0700 Suppressing measureTiming track output averages when NOT in virtMode since these are redundant. diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 3ba902a..92aca84 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -6947,72 +6947,102 @@ static int avgDrawTime(struct track *track) /* calculate average drawtime across all windows */ { int totalDrawTime = 0; int winCount = 0; while(track) { ++winCount; totalDrawTime += track->drawTime; track = track->nextWindow; } return (((float)totalDrawTime / winCount) + 0.5); } +static int avgWigMafLoadTime(struct track *track) +/* calculate average wigMaf loadtime across all windows */ +{ +int totalLoadTime = 0; +int winCount = 0; +while(track) + { + ++winCount; + if (startsWith("wigMaf", track->tdb->type)) + if (track->subtracks) + if (track->subtracks->loadTime) + totalLoadTime += track->subtracks->loadTime; + track = track->nextWindow; + } +return (((float)totalLoadTime / winCount) + 0.5); +} + static void printTrackTiming() { hPrintf("<span class='trackTiming'>track, load time, draw time, total (first window)<br />\n"); +if (virtMode) hPrintf("<span class='trackTiming'><idiv style='color:red' >average for all windows in red</idiv><br />\n"); struct track *track; for (track = trackList; track != NULL; track = track->next) { if (track->visibility == tvHide) continue; if (trackIsCompositeWithSubtracks(track)) //TODO: Change when tracks->subtracks are always set for composite { struct track *subtrack; for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next) if (isSubtrackVisible(subtrack)) { hPrintf("%s, %d, %d, %d<br />\n", subtrack->shortLabel, subtrack->loadTime, subtrack->drawTime, subtrack->loadTime + subtrack->drawTime); + if (virtMode) + { int avgLoad = avgLoadTime(subtrack); int avgDraw = avgDrawTime(subtrack); hPrintf("<idiv style='color:red' >%s, %d, %d, %d</idiv><br />\n", subtrack->shortLabel, avgLoad, avgDraw, avgLoad + avgDraw); } } + } else { hPrintf("%s, %d, %d, %d<br />\n", track->shortLabel, track->loadTime, track->drawTime, track->loadTime + track->drawTime); - int avgLoad = avgLoadTime(track); - int avgDraw = avgDrawTime(track); - hPrintf("<idiv style='color:red' >%s, %d, %d, %d</idiv><br />\n", track->shortLabel, - avgLoad, avgDraw, - avgLoad + avgDraw); if (startsWith("wigMaf", track->tdb->type)) if (track->subtracks) if (track->subtracks->loadTime) hPrintf(" %s wiggle, load %d<br />\n", track->shortLabel, track->subtracks->loadTime); } + if (virtMode) + { + int avgLoad = avgLoadTime(track); + int avgDraw = avgDrawTime(track); + hPrintf("<idiv style='color:red' >%s, %d, %d, %d</idiv><br />\n", track->shortLabel, + avgLoad, avgDraw, + avgLoad + avgDraw); + int avgWigMafLoad = avgWigMafLoadTime(track); + if (avgWigMafLoad > 0) + { + hPrintf("<idiv style='color:red' > %s wiggle, load %d</idiv><br />\n", + track->shortLabel, avgWigMafLoad); + } + } } hPrintf("</span>\n"); } void initTrackList() /* need to init tracklist, sometimes early */ { if (!trackList) { if (measureTiming) measureTime("Time before getTrackList"); boolean defaultTracks = cgiVarExists("hgt.reset"); trackList = getTrackList(&groupList, defaultTracks ? -1 : -2); if (measureTiming) measureTime("getTrackList");