man(1) | eztrace_create_plugin man page | man(1) |
eztrace_create_plugin - creates an EZTrace plugin
eztrace_create [OPTION] FILE
Generate an EZTrace plugin
eztrace_create_plugin generates the source code of an EZTrace plugin described by a template file. The template file has to be structure as follows:
--- foo.tpl
BEGIN_MODULE
NAME example_lib
DESC "module for the example library"
LANGUAGE C
ID 99
int foo(int n)
BEGIN
EVENT("Do function foo")
END
void bar(int n)
BEGIN
RECORD_STATE("running function bar")
END
END_MODULE
--- end of foo.tpl
Passing foo.tpl to eztrace_create_plugin will result in a
directory (default: output) that contains the source code of an EZTrace
plugin that intercepts the foo and bar functions. $ eztrace_create_plugin
foo.tpl
New Module
Module name : 'example_lib'
Module description : '"module for the example library"'
Language : 'C'
Module id : '99'
Function 'foo' done
Function 'bar' done
End of Module example_lib
Once the generated source code is compiled, the resulting plugin can be used with eztrace or eztrace.old:
$ cd output
$ make
$ export EZTRACE_LIBRARY_PATH=$PWD
$ eztrace_avail
3 stdio Module for stdio functions (read, write, select, poll, etc.)
2 pthread Module for PThread synchronization functions (mutex, semaphore,
spinlock, etc.)
6 papi Module for PAPI Performance counters
1 omp Module for OpenMP parallel regions
4 mpi Module for MPI functions
5 memory Module for memory functions (malloc, free, etc.)
153 example_lib module for the example library
$ eztrace -t example_lib my_application
[...]
eztrace_convert(1), eztrace_stats(1), eztrace.old(1), eztrace_cc(1), eztrace_avail(1), eztrace_loaded(1), eztrace_create_plugin(1)
Report eztrace bugs to eztrace-devel@lists.gforge.inria.fr
EZTrace home page: <http://eztrace.gforge.inria.fr/>
Francois Trahay (francois.trahay@telecom-sduparis.eu)
05 September 2013 | 1.0 |