---
name: "eztrace_create_plugin"
section: "1"
platform: "linux"
package: "eztrace"
version: "1.1-10-2"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/eztrace_create_plugin"
---

# eztrace\_create\_plugin(1)

creates an EZTrace plugin

## NAME

eztrace\_create\_plugin - creates an EZTrace plugin

## 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\
 \[...\]

## SEE ALSO

[eztrace\_convert(1)](/eztrace_convert/1.md), [eztrace\_stats(1)](/eztrace_stats/1.md), [eztrace.old(1)](/eztrace.old/1.md), [eztrace\_cc(1)](/eztrace_cc/1.md), [eztrace\_avail(1)](/eztrace_avail/1.md), [eztrace\_loaded(1)](/eztrace_loaded/1.md), [eztrace\_create\_plugin(1)](/eztrace_create_plugin/1.md)

## REPORTING BUGS

Report eztrace bugs to eztrace-devel@lists.gforge.inria.fr\
 EZTrace home page: \<http://eztrace.gforge.inria.fr/\>

## AUTHOR

Francois Trahay (francois.trahay@telecom-sduparis.eu)
