Creates an eztrace plugin
eztrace_create [OPTION] FILE
Generate an EZTrace plugin
-I <incdir1,incdir2,..., --include_dir=<incdir1,incdir2,...>>
Add specific include directories for the compilation of the generated code.
-o <dir, --output=<dir>>
Select the output directory.
-h --help
Print a brief help message and exits.
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
[...]
Report eztrace bugs to [email protected]
EZTrace home page: <http://eztrace.gforge.inria.fr/>
Francois Trahay ([email protected])