diff --git a/common/utils/T/tracer/logger/Makefile b/common/utils/T/tracer/logger/Makefile index 4e67dce3ad5707cac030d2e1f3d24b836f5ed64d..18f70e0bc56b303f1ed36d2fae81a12740687bfd 100644 --- a/common/utils/T/tracer/logger/Makefile +++ b/common/utils/T/tracer/logger/Makefile @@ -1,7 +1,7 @@ CC=gcc CFLAGS=-Wall -g -pthread -I.. -OBJS=logger.o textlog.o framelog.o ttilog.o +OBJS=logger.o textlog.o framelog.o ttilog.o timelog.o logger.a: $(OBJS) ar cr logger.a $(OBJS) diff --git a/common/utils/T/tracer/logger/logger.h b/common/utils/T/tracer/logger/logger.h index f6905e153da937ca8be197d7931718c424f9ef71..a3c09b2c23acb60a1012a2d886a9eb666c3ebae8 100644 --- a/common/utils/T/tracer/logger/logger.h +++ b/common/utils/T/tracer/logger/logger.h @@ -10,6 +10,7 @@ logger *new_textlog(void *event_handler, void *database, logger *new_ttilog(void *event_handler, void *database, char *event_name, char *frame_varname, char *subframe_varname, char *data_varname, int convert_to_dB); +logger *new_timelog(void *event_handler, void *database, char *event_name); #include "view/view.h" diff --git a/common/utils/T/tracer/logger/timelog.c b/common/utils/T/tracer/logger/timelog.c new file mode 100644 index 0000000000000000000000000000000000000000..5dadad8c27516c7d7d772448693de278407fc373 --- /dev/null +++ b/common/utils/T/tracer/logger/timelog.c @@ -0,0 +1,37 @@ +#include "logger.h" +#include "logger_defs.h" +#include "event.h" +#include "database.h" +#include "handler.h" +#include <stdlib.h> +#include <string.h> + +struct timelog { + struct logger common; +}; + +static void _event(void *p, event e) +{ + struct timelog *l = p; + int i; + + for (i = 0; i < l->common.vsize; i++) + l->common.v[i]->append(l->common.v[i], e.sending_time); +} + +logger *new_timelog(event_handler *h, void *database, char *event_name) +{ + struct timelog *ret; + int event_id; + + ret = calloc(1, sizeof(struct timelog)); if (ret == NULL) abort(); + + ret->common.event_name = strdup(event_name); + if (ret->common.event_name == NULL) abort(); + + event_id = event_id_from_name(database, event_name); + + ret->common.handler_id = register_handler_function(h,event_id,_event,ret); + + return ret; +}