[ library(instrument) | Reference Manual | Alphabetic Index ]

# set_callsite_data(+SiteId, ?UserData)

Associate arbitrary data with an instrumentation callsite in a non-logical store.

SiteId
  Integer
UserData
  Valid Prolog term

## Description

Each code instrumentation point within a file is uniquely identified by its callsite identifier. The callsite identifier is a monotonically increasing integer incrementing from the initial value of 0 for a new module.

The predicate associates arbitrary data (a valid Prolog term) with a specified instrumentation callsite within a module or file.

The data is stored in a non-logical store and can be retrieved using `instrument:get_callsite_data/2`.

The predicate is a tool and data for a callsite of a module other than the current calling module context can be stored by invoking `set_callsite_data(SiteId, UserData)@Module`.

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

### Fail Conditions

no

### Resatisfiable

no

### Exceptions

(4) instantiation fault
  SiteId is not instantiated.
(5) type error
  SiteId is not an integer.

## See Also

file_callsites / 3, get_callsite_data / 2, instrument / 2, instrument / 3, library(instrument), module_callsites / 2, struct(itemplate), defined_modules / 2