Changeset: a62d4fd93bbc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a62d4fd93bbc
Modified Files:
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_join.c
gdk/gdk_tracer.c
gdk/gdk_utils.c
monetdb5/mal/mal.h
monetdb5/mal/mal_debugger.c
monetdb5/modules/mal/mdb.c
tools/mserver/mserver5.1.in
Branch: default
Log Message:
Translate GDKdebug (-d option) bits to GDKtracer infrastructure.
Also some cleanup.
diffs (truncated from 310 to 300 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -363,47 +363,19 @@
#define THRDMASK (1)
#define CHECKMASK (1<<1)
#define CHECKDEBUG if (GDKdebug & CHECKMASK)
-#define MEMMASK (1<<2)
#define PROPMASK (1<<3)
#define PROPDEBUG if (GDKdebug & PROPMASK)
#define IOMASK (1<<4)
#define BATMASK (1<<5)
-/* PARSEMASK not used anymore
-#define PARSEMASK (1<<6)
-#define PARSEDEBUG if (GDKdebug & PARSEMASK)
-*/
#define PARMASK (1<<7)
-/* HEADLESSMASK not used anymore
-#define HEADLESSMASK (1<<8)
-#define HEADLESSDEBUG if (GDKdebug & HEADLESSMASK)
-*/
#define TMMASK (1<<9)
#define TEMMASK (1<<10)
-/* DLMASK not used anymore
-#define DLMASK (1<<11)
-#define DLDEBUG if (GDKdebug & DLMASK)
-*/
#define PERFMASK (1<<12)
#define DELTAMASK (1<<13)
#define LOADMASK (1<<14)
-/* YACCMASK not used anymore
-#define YACCMASK (1<<15)
-#define YACCDEBUG if (GDKdebug & YACCMASK)
-*/
-/*
-#define ?tcpip? if (GDKdebug&(1<<16))
-#define ?monet_multiplex? if (GDKdebug&(1<<17))
-#define ?ddbench? if (GDKdebug&(1<<18))
-#define ?ddbench? if (GDKdebug&(1<<19))
-#define ?ddbench? if (GDKdebug&(1<<20))
-*/
#define ACCELMASK (1<<20)
#define ALGOMASK (1<<21)
#define ESTIMASK (1<<22)
-/* XPROPMASK not used anymore
-#define XPROPMASK (1<<23)
-#define XPROPDEBUG if (GDKdebug & XPROPMASK)
-*/
#define NOSYNCMASK (1<<24)
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -447,11 +447,12 @@ BATextend(BAT *b, BUN newcap)
b->batCapacity = newcap;
theap_size *= Tsize(b);
- if (b->theap.base && GDKdebug & HEAPMASK)
- TRC_INFO(BAT_, "HEAPextend in BATextend %s %zu %zu\n",
b->theap.filename, b->theap.size, theap_size);
- if (b->theap.base &&
- HEAPextend(&b->theap, theap_size, b->batRestricted == BAT_READ) !=
GDK_SUCCEED)
- return GDK_FAIL;
+ if (b->theap.base) {
+ TRC_DEBUG(HEAP, "HEAPextend in BATextend %s %zu %zu\n",
+ b->theap.filename, b->theap.size, theap_size);
+ if (HEAPextend(&b->theap, theap_size, b->batRestricted ==
BAT_READ) != GDK_SUCCEED)
+ return GDK_FAIL;
+ }
return GDK_SUCCEED;
}
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -3514,7 +3514,7 @@ BATouterjoin(BAT **r1p, BAT **r2p, BAT *
{
return leftjoin(r1p, r2p, l, r, sl, sr, nil_matches,
true, false, false, false, estimate, __func__,
- GDKdebug & ALGOMASK ? GDKusec() : 0);
+ GDK_TRACER_TEST(M_DEBUG, ALGO) ? GDKusec() : 0);
}
/* Perform a semi-join over l and r. Returns one or two new, bats
diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c
--- a/gdk/gdk_tracer.c
+++ b/gdk/gdk_tracer.c
@@ -157,7 +157,7 @@ find_level(const char *lvl)
return LOG_LEVELS_COUNT;
for (int i = 0; i < (int) LOG_LEVELS_COUNT; i++) {
- if (strcasecmp(LEVEL_STR[i], lvl) == 0) {
+ if (strcasecmp(LEVEL_STR[i] + 2, lvl) == 0) {
return (LOG_LEVEL) i;
}
}
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -606,6 +606,54 @@ void
GDKsetdebug(int debug)
{
GDKdebug = debug;
+ if (debug & ACCELMASK)
+ GDKtracer_set_component_level("accelerator", "debug");
+ else
+ GDKtracer_reset_component_level("accelerator");
+ if (debug & ALGOMASK)
+ GDKtracer_set_component_level("algo", "debug");
+ else
+ GDKtracer_reset_component_level("algo");
+ if (debug & ALLOCMASK)
+ GDKtracer_set_component_level("alloc", "debug");
+ else
+ GDKtracer_reset_component_level("alloc");
+ if (debug & BATMASK)
+ GDKtracer_set_component_level("bat", "debug");
+ else
+ GDKtracer_reset_component_level("bat");
+ if (debug & CHECKMASK)
+ GDKtracer_set_component_level("check", "debug");
+ else
+ GDKtracer_reset_component_level("check");
+ if (debug & DELTAMASK)
+ GDKtracer_set_component_level("delta", "debug");
+ else
+ GDKtracer_reset_component_level("delta");
+ if (debug & HEAPMASK)
+ GDKtracer_set_component_level("heap", "debug");
+ else
+ GDKtracer_reset_component_level("heap");
+ if (debug & IOMASK)
+ GDKtracer_set_component_level("io", "debug");
+ else
+ GDKtracer_reset_component_level("io");
+ if (debug & PARMASK)
+ GDKtracer_set_component_level("par", "debug");
+ else
+ GDKtracer_reset_component_level("par");
+ if (debug & PERFMASK)
+ GDKtracer_set_component_level("perf", "debug");
+ else
+ GDKtracer_reset_component_level("perf");
+ if (debug & TEMMASK)
+ GDKtracer_set_component_level("tem", "debug");
+ else
+ GDKtracer_reset_component_level("tem");
+ if (debug & THRDMASK)
+ GDKtracer_set_component_level("thrd", "debug");
+ else
+ GDKtracer_reset_component_level("thrd");
}
gdk_return
@@ -1377,7 +1425,7 @@ GDKfatal(const char *format, ...)
size_t len = strlen(GDKFATAL);
va_list ap;
- GDKdebug |= IOMASK;
+ GDKtracer_set_component_level("io", "debug");
#ifndef NATIVE_WIN32
BATSIGinit();
#endif
diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h
--- a/monetdb5/mal/mal.h
+++ b/monetdb5/mal/mal.h
@@ -60,7 +60,7 @@ mal_export int have_hge;
for a documentation of all debug options.
*/
#define GRPthreads (THRDMASK | PARMASK)
-#define GRPmemory (MEMMASK | ALLOCMASK )
+#define GRPmemory (ALLOCMASK )
#define GRPproperties (CHECKMASK | PROPMASK | BATMASK )
#define GRPio (IOMASK | PERFMASK )
#define GRPheaps (HEAPMASK)
diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c
--- a/monetdb5/mal/mal_debugger.c
+++ b/monetdb5/mal/mal_debugger.c
@@ -944,7 +944,7 @@ retryRead:
case 'd':
if (strncmp(b, "debug", 5) == 0) {
skipWord(cntxt, b);
- GDKdebug = atol(b);
+ GDKsetdebug(atoi(b));
mnstr_printf(out, "#Set debug mask to %d\n",
GDKdebug);
break;
}
diff --git a/monetdb5/modules/mal/mdb.c b/monetdb5/modules/mal/mdb.c
--- a/monetdb5/modules/mal/mdb.c
+++ b/monetdb5/modules/mal/mdb.c
@@ -177,8 +177,8 @@ MDBgetDebug(Client cntxt, MalBlkPtr mb,
(void) mb;
(void) stk;
(void) p;
- *ret = GDKdebug;
- return MAL_SUCCEED;
+ *ret = GDKdebug;
+ return MAL_SUCCEED;
}
str
@@ -191,9 +191,9 @@ MDBsetDebug(Client cntxt, MalBlkPtr mb,
(void) mb;
(void) stk;
(void) p;
- GDKdebug = *flg;
+ GDKsetdebug(*flg);
*ret = GDKdebug;
- return MAL_SUCCEED;
+ return MAL_SUCCEED;
}
#define addFlag(NME, FLG, DSET) \
@@ -205,7 +205,7 @@ str
MDBgetDebugFlags(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p)
{
bat *f = getArgReference_bat(stk,p,0);
- bat *v = getArgReference_bat(stk,p,1);
+ bat *v = getArgReference_bat(stk,p,1);
BAT *flg, *val;
bit state = 0;
@@ -231,8 +231,8 @@ MDBgetDebugFlags(Client cntxt, MalBlkPtr
addFlag("performance", GRPperformance, GDKdebug);
addFlag("forcemito", GRPforcemito, GDKdebug);
- BBPkeepref( *f = flg->batCacheid);
- BBPkeepref( *v = val->batCacheid);
+ BBPkeepref( *f = flg->batCacheid);
+ BBPkeepref( *v = val->batCacheid);
return MAL_SUCCEED;
bailout:
@@ -244,20 +244,34 @@ bailout:
/* Toggle the debug flags on/off */
static str
MDBsetDebugStr_(int *ret, str *flg)
-{
- if( strcmp("threads",*flg)==0) GDKdebug ^= GRPthreads;
- if( strcmp("memory",*flg)==0) GDKdebug ^= GRPmemory;
- if( strcmp("properties",*flg)==0) GDKdebug ^= GRPproperties;
- if( strcmp("io",*flg)==0) GDKdebug ^= GRPio;
- if( strcmp("heaps",*flg)==0) GDKdebug ^= GRPheaps;
- if( strcmp("transactions",*flg)==0) GDKdebug ^= GRPtransactions;
- if( strcmp("modules",*flg)==0) GDKdebug ^= GRPmodules;
- if( strcmp("algorithms",*flg)==0) GDKdebug ^= GRPalgorithms;
- if( strcmp("performance",*flg)==0) GDKdebug ^= GRPperformance;
- if( strcmp("forcemito",*flg)==0) GDKdebug ^= GRPforcemito;
+{
+ int debug = GDKdebug;
+ if( strcmp("threads",*flg)==0)
+ debug ^= GRPthreads;
+ else if( strcmp("memory",*flg)==0)
+ debug ^= GRPmemory;
+ else if( strcmp("properties",*flg)==0)
+ debug ^= GRPproperties;
+ else if( strcmp("io",*flg)==0)
+ debug ^= GRPio;
+ else if( strcmp("heaps",*flg)==0)
+ debug ^= GRPheaps;
+ else if( strcmp("transactions",*flg)==0)
+ debug ^= GRPtransactions;
+ else if( strcmp("modules",*flg)==0)
+ debug ^= GRPmodules;
+ else if( strcmp("algorithms",*flg)==0)
+ debug ^= GRPalgorithms;
+ else if( strcmp("performance",*flg)==0)
+ debug ^= GRPperformance;
+ else if( strcmp("forcemito",*flg)==0)
+ debug ^= GRPforcemito;
+ else
+ throw(MAL, "mdb.setDebugStr", ILLEGAL_ARGUMENT);
+ GDKsetdebug(debug);
*ret = GDKdebug;
- return MAL_SUCCEED;
+ return MAL_SUCCEED;
}
str
diff --git a/tools/mserver/mserver5.1.in b/tools/mserver/mserver5.1.in
--- a/tools/mserver/mserver5.1.in
+++ b/tools/mserver/mserver5.1.in
@@ -115,26 +115,19 @@ The value is an integer, which can be (a
.EX
\fB1\fP = THRDMASK = thread-specific debug output
\fB2\fP = CHECKMASK = property enforcing on new BATs
- \fB4\fP = MEMMASK = memory allocation
\fB8\fP = PROPMASK = property checking on all values:
tells about wrongly set properties
\fB16\fP = IOMASK = major IO activity
\fB32\fP = BATMASK = BAT handling
-.\" \fB64\fP = PARSEMASK = parser debugging
\fB128\fP = PARMASK = Thread management
-.\" \fB256\fP = HEADLESSMASK = Warn about BAT heads that are not
"headless-ready"
\fB512\fP = TMMASK = Transaction management
\fB1024\fP = TEMMASK = Locks and Triggers
-.\" \fB2048\fP = DLMASK = Dynamic loading
\fB4096\fP = PERFMASK = BBP Performance (?)
\fB8192\fP = DELTAMASK = Delta debugging (?)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list