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