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 -- [email protected]
To unsubscribe send an email to [email protected]