From 99d81fbfc86fae7f5709e66a6c213195017f5627 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Sun, 28 Oct 2007 22:08:32 -0400 Subject: add stdump filter for adaptive systems --- src/stdump.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/stdump.c (limited to 'src') diff --git a/src/stdump.c b/src/stdump.c new file mode 100644 index 0000000..282fb31 --- /dev/null +++ b/src/stdump.c @@ -0,0 +1,44 @@ +#include +#include +#include + + +#include "litmus.h" +#include "adaptive.h" +#include "sched_trace.h" + +int show_sl_chg(trace_header_t* hdr) +{ + service_level_change_record_t *rec; + + rec = (service_level_change_record_t*) hdr; + printf("SL CHANGE : PID=%d PERIOD=%lu\n", rec->task.pid, + rec->new_level.period); + return 0; +} + +int show_weight_error(trace_header_t* hdr) +{ + weight_error_record_t *rec; + + rec = (weight_error_record_t*) hdr; + printf("WEIGHT ERR: PID=%d EST=%5.4f ACT=%5.4f\n", rec->task, + fp2f(rec->estimate), fp2f(rec->actual)); + return 0; +} + + +int main(int argc, char** argv) +{ + record_callback_t cb; + int ret; + + init_record_callback(&cb); + set_callback(ST_SERVICE_LEVEL_CHANGE, show_sl_chg, &cb); + set_callback(ST_WEIGHT_ERROR, show_weight_error, &cb); + + ret = walk_sched_trace_files_ordered(argv + 1, argc - 1, 0, &cb); + if (ret != 0) + perror("walk failed"); + return 0; +} -- cgit v1.2.2