324c79db532cb487e7b3a377954f0821872a7d07 braney Thu Feb 8 16:57:37 2024 -0800 add logging of memory high water mark diff --git src/hg/hgTracks/mainMain.c src/hg/hgTracks/mainMain.c index cf045cd..0aac574 100644 --- src/hg/hgTracks/mainMain.c +++ src/hg/hgTracks/mainMain.c @@ -15,30 +15,32 @@ #include "cheapcgi.h" #include "htmshell.h" #include "web.h" #include "cart.h" #include "hdb.h" #include "hui.h" #include "hgFind.h" #include "hgTracks.h" #include "versionInfo.h" #include "net.h" #include "search.h" #include "imageV2.h" #include "extTools.h" #include "botDelay.h" #include "hgConfig.h" +#include <sys/time.h> +#include <sys/resource.h> boolean issueBotWarning; long enteredMainTime = 0; int main(int argc, char *argv[]) { enteredMainTime = clock1000(); measureTime(NULL); cfgSetMaxMem(); // read hg.conf and set the maxMem if there issueBotWarning = earlyBotCheck(enteredMainTime, "hgTracks", delayFraction, 0, 0, "html"); browserName = hBrowserName(); organization = "UCSC"; @@ -66,17 +68,24 @@ httpHeaders = slPairNew("Cache-Control", "no-store"); cartHtmlShell("UCSC Genome Browser v"CGI_VERSION, doMiddle, hUserCookie(), excludeVars, oldVars); } // TODO: better place for this ? puts("<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\">\n"); if (measureTiming) measureTime("Time to write and close cart"); if (measureTiming) { fprintf(stdout, "<span class='timing'>Overall total time: %ld millis<br /></span>\n", clock1000() - enteredMainTime); } cgiExitTime("hgTracks", enteredMainTime); + +// print out some resource usage stats +struct rusage usage; +int stat = getrusage(RUSAGE_SELF, &usage); +if (stat == 0) + // if you change this printf, then increment the number after RESOURCE: + fprintf(stderr, "RESOURCE: 1 %ld %ld %ld\n",usage.ru_utime.tv_sec,usage.ru_stime.tv_sec, usage.ru_maxrss); return 0; }