43cc16d8d72f686e8652637128a13c4fd4851c56 braney Thu Nov 7 14:58:11 2019 -0800 add logging of current position in error_log diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 88ea935..a7f970b 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -2075,53 +2075,54 @@ struct track *track; for (track = trackList; track != NULL; track = track->next) { int vis = track->limitedVisSet ? track->limitedVis : track->visibility; if (vis) { logTrackList(dy, track->subtracks); if (dy->stringSize) dyStringAppendC(dy, ','); dyStringPrintf(dy,"%s:%d", track->track, vis); } } } -static void logTrackVisibilities (char *hgsid, struct track *trackList) +static void logTrackVisibilities (char *hgsid, struct track *trackList, char *position) /* log visibile tracks and hgsid */ { struct dyString *dy = newDyString(1024); // build up dyString logTrackList(dy, trackList); // put out ~1024 bye blocks to error_log because otherwise // Apache will chop up the lines char *begin = dy->string; char *ptr = begin; int count = 0; for(ptr=begin; ((ptr = strchr(ptr, ',')) != NULL); ptr++) { if (ptr - begin > 800) { *ptr = 0; fprintf(stderr, "trackLog %d %s %s %s\n", count++, database, hgsid, begin); begin = ptr+1; } } fprintf(stderr, "trackLog %d %s %s %s\n", count++, database, hgsid, begin); +fprintf(stderr, "trackLog position %s %s %s\n", database, hgsid, position); dyStringFree(&dy); } static void rAddToTrackHash(struct hash *trackHash, struct track *trackList) /* Add list and any children of list to hash. */ { struct track *track; for (track = trackList; track != NULL; track = track->next) { hashAddUnique(trackHash, track->track, track); rAddToTrackHash(trackHash, track->subtracks); } } @@ -7827,31 +7828,31 @@ struct window *w; for (w = windows; w; w=w->next) { if (hTrackOnChrom(track->tdb, w->chromName)) hideIt = FALSE; } if (hideIt) { track->limitedVis = tvHide; track->limitedVisSet = TRUE; } } if (sameString(cfgOptionDefault("trackLog", "off"), "on")) - logTrackVisibilities(cartSessionId(cart), trackList); + logTrackVisibilities(cartSessionId(cart), trackList, position); ///////////////// // NEED TO LOAD ALL WINDOWS NOW // // Need to load one window at a time! // // The use of the global values for a window // means that differerent threads cannot use different global window values. // Threads must run on just one window value at a time. // // Begin by making a copy of the track structure for visible tracks // for all windows.