Changeset: f4fc50291cd7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f4fc50291cd7
Modified Files:
clients/mapiclient/eventparser.c
clients/mapiclient/eventparser.h
clients/mapiclient/stethoscope.c
monetdb5/mal/mal_profiler.c
Branch: profiler
Log Message:
Add clk event
The clk event gives the number of usec since server start
The old timing event is available as 'ctime'
diffs (66 lines):
diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c
--- a/clients/mapiclient/eventparser.c
+++ b/clients/mapiclient/eventparser.c
@@ -106,7 +106,7 @@ resetEventRecord(EventRecord *ev)
if( ev->package) free(ev->package);
if( ev->function) free(ev->function);
- if( ev->clk) free(ev->clk);
+ if( ev->time) free(ev->time);
if( ev->stmt) free(ev->stmt);
if( ev->fcn) free(ev->fcn);
if( ev->numa) free(ev->numa);
@@ -202,9 +202,13 @@ keyvalueparser(char *txt, EventRecord *e
} else val =c;
if( strstr(key,"event")) { ev->eventnr= atol(val); return 0;}
- if( strstr(key,"time")){
+ if( strstr(key,"clk")){
+ ev->clk = atoll(val);
+ return 0;
+ }
+ if( strstr(key,"ctime")){
/* convert time to epoch in seconds*/
- ev->clk= strdup(val);
+ ev->time= strdup(val);
memset(&stm, 0, sizeof(struct tm));
c = strptime(val + 1, "%H:%M:%S", &stm);
ev->clkticks = (((lng) stm.tm_hour * 60 + stm.tm_min) * 60 +
stm.tm_sec) * 1000000;
diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h
--- a/clients/mapiclient/eventparser.h
+++ b/clients/mapiclient/eventparser.h
@@ -82,7 +82,8 @@ typedef struct {
int tag; // unique MAL block invocation tag
lng eventnr;// serial event number
int thread; // worker thread involved
- char *clk; // string rep of clock
+ lng clk; // usec since start of session
+ char *time; // string rep of clock
lng clkticks;
lng ticks;
lng rss;
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -110,7 +110,7 @@ renderEvent(EventRecord *ev){
return;
fprintf(s, "[ ");
fprintf(s, LLFMT", ", ev->eventnr);
- fprintf(s, "\"%s\", ", ev->clk);
+ printf("\"%s\", ", ev->time);
if( ev->function && *ev->function)
fprintf(s, "\"%s[%d]%d\", ", ev->function, ev->pc,
ev->tag);
else
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -144,7 +144,8 @@ renderProfilerEvent(MalBlkPtr mb, MalStk
tbuf[19]=0;
/* there should be less than 10^6 == 1M usecs in 1 sec */
assert(clock.tv_usec >= 0 && clock.tv_usec < 1000000);
- logadd("\"time\":\"%s.%06ld\",\n", tbuf+11, (long)clock.tv_usec);
+ logadd("\"clk\":"LLFMT",\n",GDKusec());
+ logadd("\"ctime\":\"%s.%06ld\",\n", tbuf+11, (long)clock.tv_usec);
logadd("\"thread\":%d,\n", THRgettid());
logadd("\"function\":\"%s.%s\",\n", getModuleId(getInstrPtr(mb, 0)),
getFunctionId(getInstrPtr(mb, 0)));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list