package vlt
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=756a6cba94204cda45ee767ca5f7e52ec321873dd53de48025c32dba1e03de24
md5=c0f22efcafa1119a9c82ffd9d7422da2
doc/vlt/Vlt/Paje/index.html
Module Vlt.PajeSource
This module provides support for the Pajé tool (version 1.2.3).
Pajé (available at http://paje.sourceforge.net) is a graphical tool for the analysis of multithreads and/or multiprocesses programs.
Bolt can produce Pajé-compatible traces by using statements like:
LOG Paje.t WITH Paje.new_event ...;
more information can be found in the Bolt manual.
Definitions
The identifier message for Pajé event.
The type of information to be recorded in a trace.
Synonym for names.
Synonym for aliases.
The type of colors, as three red/green/blue components (each should be between 0.0 and 1.0).
Predefined events: type definitions
val define_container_type :
name:name ->
?typ:string ->
?alias:alias ->
properties ->
propertiesDefines a new type of container with name, optional parent type, optional alias, and a list of additional properties.
Defines a new type of state with name, type, optional alias, and a list of additonnal properties.
Defines a new type of event with name, type, optional alias, and a list of additional properties.
val define_variable_type :
name:name ->
typ:string ->
color:color ->
?alias:alias ->
properties ->
propertiesDefines a new type of variable with name, type, optional alias, and a list of additonnal properties.
val define_link_type :
name:name ->
typ:string ->
start_container_type:string ->
end_container_type:string ->
?alias:alias ->
properties ->
propertiesDefines a new type of link with name, type, start and end container types, optional alias, and a list of additonnal properties.
val define_entity_value :
name:name ->
typ:string ->
color:color ->
?alias:alias ->
properties ->
propertiesDefines a new value for an entity value with name, type, color, optional alias, and a list of additional properties.
Predefined events: trace recording
val create_container :
name:name ->
typ:string ->
?container:name ->
?alias:alias ->
properties ->
propertiesCreates a container with name, type, optional parent container, optional alias and a list of additional properties.
Destroys a container with name, type, and a list of additional properties.
Changes the state of a given container to a new value with passed type, and additional list of properties.
Pushes the current state of a given container to its own stack, and changes its state to the passed type and value.
Changes the states of a given container by poping a previously pushed value from its own stack.
Clears all previously saved values for the type of a container.
Records a new event with type, container, value, and additional list of properties.
Sets the value of a container variable.
Increases the value of a container variable by a given amount.
Decreases the value of a container variable by a given amount.
val start_link :
typ:string ->
container:name ->
start_container:name ->
value:string ->
key:string ->
properties ->
propertiesRecords the start of a link occuring inside a container, from a start. The key/value pair is used to match with an associated end of link.
val end_link :
typ:string ->
container:name ->
end_container:name ->
value:string ->
key:string ->
properties ->
propertiesRecords the end of a link occuring inside a container, to an end. The key/value pair is used to match with an associated start of link.
Layout elements
The header defining Pajé events.
The layout supporting the "Pajé" trace format. The message of the event should match the name of an EventDef defined by the "Pajé trace file format" available at http://paje.sourceforge.net/download/publication/lang-paje.pdf. The values of the fields are taken from the event properties, the "Time" field being automatically set to the time elapsed since program start (unless explicitly set through a property).
Functorial interface
The input signature of Paje.Make, that is static definition of Pajé types.
The output signature of Paje.Make, that is type-safe interface to Pajé functions.
module Make
(D : Definitions) :
S
with type container_type = D.container_type
and type event_type = D.event_type
and type state_type = D.state_type
and type variable_type = D.variable_type
and type link_type = D.link_typeFunctor building a type-safe version of Pajé trace-recording functions. Definitions from the passed module are recorded at the "TRACE" level.