Changeset: 913260853ccb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=913260853ccb
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk.h
        gdk/gdk_delta.h
        gdk/gdk_private.h
        gdk/gdk_tracer.c
        gdk/gdk_tracer.h
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_function.h
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_listing.h
Branch: Jun2020
Log Message:

Cleanup of tracer: do more inside function, export less, use lowercase.


diffs (truncated from 658 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -217,7 +217,6 @@ BUN BUNfnd(BAT *b, const void *right);
 gdk_return BUNinplace(BAT *b, BUN p, const void *right, bool force) 
__attribute__((__warn_unused_result__));
 BAT *COLcopy(BAT *b, int tt, bool writable, role_t role);
 BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role) 
__attribute__((__warn_unused_result__));
-const char *COMPONENT_STR[];
 size_t GDK_mem_maxsize;
 size_t GDK_vm_maxsize;
 gdk_return GDKanalytical_correlation(BAT *r, BAT *b1, BAT *b2, BAT *s, BAT *e, 
int tpe);
@@ -304,8 +303,7 @@ str GDKstrndup(const char *s, size_t n) 
 void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...) 
__attribute__((__format__(__printf__, 1, 2)));
 gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level);
 gdk_return GDKtracer_flush_buffer(void);
-char *GDKtracer_get_timestamp(const char *fmt, char *buf, size_t sz);
-gdk_return GDKtracer_log(LOG_LEVEL level, const char *fmt, ...) 
__attribute__((__format__(__printf__, 2, 3)));
+gdk_return GDKtracer_log(const char *file, const char *func, int lineno, 
log_level_t lvl, component_t comp, const char *format, ...) 
__attribute__((__format__(__printf__, 6, 7)));
 void GDKtracer_reinit_basic(int sig);
 gdk_return GDKtracer_reset_adapter(void);
 gdk_return GDKtracer_reset_component_level(const char *comp);
@@ -335,8 +333,6 @@ size_t HEAPmemsize(Heap *h);
 size_t HEAPvmsize(Heap *h);
 void IMPSdestroy(BAT *b);
 lng IMPSimprintsize(BAT *b);
-const char *LEVEL_STR[];
-LOG_LEVEL LVL_PER_COMPONENT[];
 int MT_check_nr_cores(void);
 int MT_create_thread(MT_Id *t, void (*function)(void *), void *arg, enum 
MT_thr_detach d, const char *threadname);
 void MT_exiting_thread(void);
@@ -521,6 +517,7 @@ gdk_return logger_restart(logger *lg);
 int logger_sequence(logger *lg, int seq, lng *id);
 gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) 
__attribute__((__warn_unused_result__));
 void logger_with_ids(logger *lg);
+log_level_t lvl_per_component[];
 void *mdlopen(const char *library, int mode);
 const char *mercurial_revision(void) __attribute__((__const__));
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
@@ -2612,8 +2609,8 @@ str thetajoinRef;
 str thetaselectRef;
 str tidRef;
 str timestampRef;
-void traceFunction(COMPONENT comp, MalBlkPtr mb, MalStkPtr stk, int flg);
-void traceInstruction(COMPONENT comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, 
int flg);
+void traceFunction(component_t comp, MalBlkPtr mb, MalStkPtr stk, int flg);
+void traceInstruction(component_t comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
p, int flg);
 str transactionRef;
 str transaction_abortRef;
 str transaction_beginRef;
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1646,6 +1646,7 @@ gdk_export gdk_return BATorderidx(BAT *b
 gdk_export gdk_return GDKmergeidx(BAT *b, BAT**a, int n_ar);
 gdk_export bool BATcheckorderidx(BAT *b);
 
+#include "gdk_tracer.h"
 #include "gdk_delta.h"
 #include "gdk_hash.h"
 #include "gdk_bbp.h"
diff --git a/gdk/gdk_delta.h b/gdk/gdk_delta.h
--- a/gdk/gdk_delta.h
+++ b/gdk/gdk_delta.h
@@ -9,8 +9,6 @@
 #ifndef _GDK_DELTA_H_
 #define _GDK_DELTA_H_
 
-#include "gdk_tracer.h"
-
 /*
  * We make sure here that the BUNs section of a BAT at least starts 4
  * bytes from the BUN start.  This ensures that the first data item of
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -19,7 +19,6 @@
 #define PERSISTENTIDX 1
 
 #include "gdk_system_private.h"
-#include "gdk_tracer.h"
 
 enum heaptype {
        offheap,
diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c
--- a/gdk/gdk_tracer.c
+++ b/gdk/gdk_tracer.c
@@ -29,32 +29,36 @@ MT_Lock lock = MT_LOCK_INITIALIZER("GDKt
 
 static char file_name[FILENAME_MAX];
 
-static ATOMIC_TYPE CUR_ADAPTER = ATOMIC_VAR_INIT(DEFAULT_ADAPTER);
+static ATOMIC_TYPE cur_adapter = ATOMIC_VAR_INIT(DEFAULT_ADAPTER);
 
-static LOG_LEVEL CUR_FLUSH_LEVEL = DEFAULT_FLUSH_LEVEL;
+static log_level_t cur_flush_level = DEFAULT_FLUSH_LEVEL;
 
 #define GENERATE_LOG_LEVEL(COMP) DEFAULT_LOG_LEVEL,
-LOG_LEVEL LVL_PER_COMPONENT[] = {
+log_level_t lvl_per_component[] = {
        FOREACH_COMP(GENERATE_LOG_LEVEL)
 };
 
-const char *ADAPTER_STR[] = {
+static const char *adapter_str[] = {
        FOREACH_ADPTR(GENERATE_STRING)
 };
 
-const char *LAYER_STR[] = {
+static const char *layer_str[] = {
        FOREACH_LAYER(GENERATE_STRING)
 };
 
-const char *COMPONENT_STR[] = {
+static const char *component_str[] = {
        FOREACH_COMP(GENERATE_STRING)
 };
 
-const char *LEVEL_STR[] = {
+static const char *level_str[] = {
        FOREACH_LEVEL(GENERATE_STRING)
 };
 
 
+#define MXW "20"
+
+#define TS_SIZE        ((size_t) 20)   /* buffer size needed for timestamp */
+
 
 /*
  * GDKtracer Stream Macros
@@ -68,8 +72,7 @@ const char *LEVEL_STR[] = {
                     "%"MXW"s "                                         \
                     "%-"MXW"s "                                        \
                     "%-"MXW"s # "MSG,                                  \
-                    GDKtracer_get_timestamp("%Y-%m-%d %H:%M:%S",       \
-                                            (char[20]){0}, 20),        \
+                    GDKtracer_get_timestamp((char[TS_SIZE]){0}, TS_SIZE), \
                     __FILE__,                                          \
                     __func__,                                          \
                     __LINE__,                                          \
@@ -81,6 +84,18 @@ const char *LEVEL_STR[] = {
 
 
 
+static inline char *
+GDKtracer_get_timestamp(char *datetime, size_t dtsz)
+{
+       time_t now = time(NULL);
+       struct tm tmp;
+       (void) localtime_r(&now, &tmp);
+       strftime(datetime, dtsz, "%Y-%m-%d %H:%M:%S", &tmp);
+
+       return datetime;
+}
+
+
 // When BASIC adapter is active, all the log messages are getting printed to a 
file.
 // This function prepares a file in order to write the contents of the buffer 
when necessary.
 static gdk_return
@@ -114,30 +129,30 @@ static void
 _GDKtracer_layer_level_helper(int layer, int lvl)
 {
        const char *tok = NULL;
-       LOG_LEVEL level = (LOG_LEVEL) lvl;
+       log_level_t level = (log_level_t) lvl;
 
        for (int i = 0; i < COMPONENTS_COUNT; i++) {
                if (layer == MDB_ALL) {
-                       if (LVL_PER_COMPONENT[i] != level)
-                               LVL_PER_COMPONENT[i] = level;
+                       if (lvl_per_component[i] != level)
+                               lvl_per_component[i] = level;
                } else {
-                       tok = COMPONENT_STR[i];
+                       tok = component_str[i];
 
                        switch (layer) {
                        case SQL_ALL:
                                if (strncmp(tok, "SQL_", 4) == 0)
-                                       if (LVL_PER_COMPONENT[i] != level)
-                                               LVL_PER_COMPONENT[i] = level;
+                                       if (lvl_per_component[i] != level)
+                                               lvl_per_component[i] = level;
                                break;
                        case MAL_ALL:
                                if (strncmp(tok, "MAL_", 4) == 0)
-                                       if (LVL_PER_COMPONENT[i] != level)
-                                               LVL_PER_COMPONENT[i] = level;
+                                       if (lvl_per_component[i] != level)
+                                               lvl_per_component[i] = level;
                                break;
                        case GDK_ALL:
                                if (strncmp(tok, "GDK", 3) == 0)
-                                       if (LVL_PER_COMPONENT[i] != level)
-                                               LVL_PER_COMPONENT[i] = level;
+                                       if (lvl_per_component[i] != level)
+                                               lvl_per_component[i] = level;
                                break;
                        default:
                                break;
@@ -146,48 +161,48 @@ static void
        }
 }
 
-static inline ADAPTER
+static inline adapter_t
 find_adapter(const char *adptr)
 {
        if (adptr == NULL)
                return ADAPTERS_COUNT;
 
        for (int i = 0; i < (int) ADAPTERS_COUNT; i++) {
-               if (strcasecmp(ADAPTER_STR[i], adptr) == 0) {
-                       return (ADAPTER) i;
+               if (strcasecmp(adapter_str[i], adptr) == 0) {
+                       return (adapter_t) i;
                }
        }
        return ADAPTERS_COUNT;
 }
 
-static inline LOG_LEVEL
+static inline log_level_t
 find_level(const char *lvl)
 {
        if (lvl == NULL)
                return LOG_LEVELS_COUNT;
 
        for (int i = 0; i < (int) LOG_LEVELS_COUNT; i++) {
-               if (strcasecmp(LEVEL_STR[i] + 2, lvl) == 0) {
-                       return (LOG_LEVEL) i;
+               if (strcasecmp(level_str[i] + 2, lvl) == 0) {
+                       return (log_level_t) i;
                }
        }
        return LOG_LEVELS_COUNT;
 }
 
-static inline LAYER
+static inline layer_t
 find_layer(const char *layer)
 {
        if (layer == NULL)
                return LAYERS_COUNT;
        for (int i = 0; i < (int) LAYERS_COUNT; i++) {
-               if (strcasecmp(LAYER_STR[i], layer) == 0) {
-                       return (LAYER) i;
+               if (strcasecmp(layer_str[i], layer) == 0) {
+                       return (layer_t) i;
                }
        }
        return LAYERS_COUNT;
 }
 
-static inline COMPONENT
+static inline component_t
 find_component(const char *comp)
 {
        /* special case for the (currently) three components that end in _ */
@@ -201,8 +216,8 @@ find_component(const char *comp)
                comp = "check_";
 
        for (int i = 0; i < (int) COMPONENTS_COUNT; i++) {
-               if (strcasecmp(COMPONENT_STR[i], comp) == 0) {
-                       return (COMPONENT) i;
+               if (strcasecmp(component_str[i], comp) == 0) {
+                       return (component_t) i;
                }
        }
        return COMPONENTS_COUNT;
@@ -215,18 +230,6 @@ find_component(const char *comp)
  * API CALLS
  *
  */
-char *
-GDKtracer_get_timestamp(const char *fmt, char *datetime, size_t dtsz)
-{
-       time_t now = time(NULL);
-       struct tm tmp;
-       (void) localtime_r(&now, &tmp);
-       strftime(datetime, dtsz, fmt, &tmp);
-
-       return datetime;
-}
-
-
 void
 GDKtracer_reinit_basic(int sig)
 {
@@ -234,7 +237,7 @@ GDKtracer_reinit_basic(int sig)
 
        // GDKtracer needs to reopen the file only in 
        // case the adapter is BASIC
-       if ((int) ATOMIC_GET(&CUR_ADAPTER) != BASIC)
+       if ((adapter_t) ATOMIC_GET(&cur_adapter) != BASIC)
                return;
 
        // Make sure that GDKtracer is not trying to flush the buffer
@@ -263,8 +266,8 @@ GDKtracer_stop(void)
 gdk_return
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to