1 | #ifndef TA_H 2 | #define TA_H 3 | 4 | #include <glib.h> 5 | #include <pthread.h> 6 | #include <stubs.h> 7 | #include <memwrap.h> 8 | #include <stdio.h> 9 | #include <socket.h> 10 | 11 | #include <timediff.h> 12 | 13 | /* thread activity monitor */ 14 | #define TA_TYPE_LEN 16 15 | #define TA_ACT_LEN 256 16 | #define TA_PRINT_LEN (TA_ACT_LEN+64) 17 | 18 | typedef struct 19 | { 20 | pthread_t thread_id; /* thread id */ 21 | ut_timer_t sessionstart; /* time the session started */ 22 | ut_timer_t taskstart; /* time the last task started */ 23 | int sock; /* socket */ 24 | char type[TA_TYPE_LEN]; 25 | char activity[TA_ACT_LEN]; /* current activity (eg query) */ 26 | int tasks; /* number of activities(used to calculate the average) */ 27 | } ta_str_t; 28 | 29 | 30 | #ifdef TA_IMPL 31 | /* GLOBALs (private to the module)*/ 32 | GList *ta_list = NULL; 33 | pthread_mutex_t ta_mutex = PTHREAD_MUTEX_INITIALIZER; 34 | #endif 35 | 36 | /* prototypes */ 37 | void TA_add(int sock, char *type); 38 | void TA_delete(void); 39 | void TA_setactivity(char *activity); 40 | char * TA_tostring(void); 41 | 42 | #endif