Changeset: 43fd275d9f3c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/43fd275d9f3c
Modified Files:
        monetdb5/mal/mal.c
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_private.h
Branch: Dec2023
Log Message:

Print some client information on SIGUSR1.


diffs (58 lines):

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -54,7 +54,7 @@ mal_version(void)
 static void
 MALprintinfo(void)
 {
-       /* we need to start printing MAL info here... */
+       MCprintinfo();
 }
 
 /*
diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -585,3 +585,32 @@ MCvalid(Client tc)
        MT_lock_unset(&mal_contextLock);
        return 0;
 }
+
+void
+MCprintinfo(void)
+{
+       int nrun = 0, nfinish = 0, nblock = 0;
+       MT_lock_set(&mal_contextLock);
+       for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) {
+               switch (c->mode) {
+               case RUNCLIENT:
+                       /* running */
+                       nrun++;
+                       printf("client %d, user %s, using %"PRIu64" bytes of 
transient space\n", c->idx, c->username, (uint64_t) 
ATOMIC_GET(&c->qryctx.datasize));
+                       break;
+               case FINISHCLIENT:
+                       /* finishing */
+                       nfinish++;
+                       break;
+               case BLOCKCLIENT:
+                       /* blocked */
+                       nblock++;
+                       break;
+               case FREECLIENT:
+                       break;
+               }
+       }
+       MT_lock_unset(&mal_contextLock);
+       printf("%d active clients, %d finishing clients, %d blocked clients\n",
+                  nrun, nfinish, nblock);
+}
diff --git a/monetdb5/mal/mal_private.h b/monetdb5/mal/mal_private.h
--- a/monetdb5/mal/mal_private.h
+++ b/monetdb5/mal/mal_private.h
@@ -78,3 +78,6 @@ void mal_runtime_reset(void)
 
 char *dupError(const char *err)
        __attribute__((__visibility__("hidden"), __returns_nonnull__));
+
+void MCprintinfo(void)
+       __attribute__((__visibility__("hidden")));
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to