SYNOPSIS

eztrace_create [OPTION] FILE

DESCRIPTION

Generate an EZTrace plugin

OPTIONS

-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.

EXAMPLES

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

[...]

RELATED TO eztrace_create_plugin…

REPORTING BUGS

Report eztrace bugs to [email protected]

EZTrace home page: <http://eztrace.gforge.inria.fr/>

AUTHOR

Francois Trahay ([email protected])