In addition to supplying the global template, an exclude list of PredSpec
for predicates that should not be instrumented by the global template can
be specified:
itemplate with [...] - predicate/1,
my_module:my_predicate/8,...]
OptionList may contain the following options:
-
erase_templates
-
Specifying this option results in the removal of instrumentation templates
in file local and/or global template stores. The 'Value' portion of the
option can be specified as an atom representing a specific module, the
atom all or the atom every_module.
-
instrument_recursive (default:off)
-
Specifying this option as on indicates that instrumentation
should be applied within recursive predicates. With it off the
net effect is that instrumentation is placed around the recursive
call-graph (unless no applicable template exists). This prevents
incorrect aggregation of accounting by instrumentation predicates.
-
file_local_templates (default:off)
-
Specifying this option as on indicates that all templates in
ITemplates should be stored locally to the file - they are not available
for use in instrumenting other files (in other modules). The
file_local option of the itemplate in ITemplates are
overridden by this option.
-
ignore_module_templates (default:off)
-
Specifying this option as on results in the use of file local
templates only during instrumentation. Templates are not sought from
the global store.
-
verbose (default:off)
-
If set to on, the instrument preprocessor will print predicate
names as they are processed (to log_output). If set to debug,
the instrument preprocessor prints each instrumented and/or woven
predicate definition (to log_output).
Exceptions
- (4) instantiation fault
- ITemplates is not instantiated.
- (5) type error
- ITemplates is not of the appropriate type.
See Also
erase_all_templates / 0, file_result / 1, file_result / 2, file_callsites / 3, get_callsite_data / 2, instrument / 3, instrument_control / 2, library(instrument), module_callsites / 2, module_result / 0, module_result / 1, set_callsite_data / 2, defined_modules / 2