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

Reply via email to