0.10.8-alpha
ca.uqac.lif.cep.EventTracker Interface Reference

Tracks the relationship between output events produced by processors, and the input events that were used to compute them. More...

Classes

class  NoOpEventTracker
 Dummy event tracker that does nothing. More...
 

Public Member Functions

void associateTo (int id, NodeFunction f, int out_stream_index, int out_stream_pos)
 Associates an output event from a processor to an arbitrary node function. More...
 
void associateToInput (int id, int in_stream_index, int in_stream_pos, int out_stream_index, int out_stream_pos)
 Associates an output event from a processor to an input event from that same processor. More...
 
void associateToOutput (int id, int in_stream_index, int in_stream_pos, int out_stream_index, int out_stream_pos)
 Associates an output event from a processor to another output event from that same processor. More...
 
ProvenanceNode getProvenanceTree (int proc_id, int stream_index, int stream_pos)
 Gets the provenance tree for a given event. More...
 
void setConnection (int output_proc_id, int output_stream_index, int input_proc_id, int input_stream_index)
 
void setTo (Processor ... processors)
 Associates this tracker to multiple processors at the same time. More...
 
void add (GroupProcessor g)
 Adds a group to be managed by this tracker. More...
 
EventTracker getCopy (boolean with_state)
 Gets a copy of the event tracker. More...
 

Detailed Description

Tracks the relationship between output events produced by processors, and the input events that were used to compute them.

Processor objects can be associated to a tracker. When this is the case, they may call the tracker, asking it to record a relationship between events. The tracker can use this set of recorded relationships, potentially coming from multiple processors, to reconstruct the chain of computation leading to a particular event.

This tracking is done by processors on a "voluntary" basis. If a processor does not call the tracker to record these relationships, the chain of dependencies may be broken at some point.

Author
Sylvain Hallé
Since
0.7

Definition at line 40 of file EventTracker.java.

Member Function Documentation

◆ add()

void ca.uqac.lif.cep.EventTracker.add ( GroupProcessor  g)

Adds a group to be managed by this tracker.

Parameters
gThe group
Since
0.11

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ associateTo()

void ca.uqac.lif.cep.EventTracker.associateTo ( int  id,
NodeFunction  f,
int  out_stream_index,
int  out_stream_pos 
)

Associates an output event from a processor to an arbitrary node function.

Parameters
idThe ID of the processor
fThe node function
out_stream_indexThe index of the stream in the processor where this output event is produced
out_stream_posThe position in the stream corresponding to this output event

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ associateToInput()

void ca.uqac.lif.cep.EventTracker.associateToInput ( int  id,
int  in_stream_index,
int  in_stream_pos,
int  out_stream_index,
int  out_stream_pos 
)

Associates an output event from a processor to an input event from that same processor.

Parameters
idThe ID of the processor
in_stream_indexThe index of the stream in the processor corresponding to the input event to associate
in_stream_posThe position in the input stream corresponding to this event
out_stream_indexThe index of the stream in the processor where the output event is produced
out_stream_posThe position in the stream corresponding to this output event

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ associateToOutput()

void ca.uqac.lif.cep.EventTracker.associateToOutput ( int  id,
int  in_stream_index,
int  in_stream_pos,
int  out_stream_index,
int  out_stream_pos 
)

Associates an output event from a processor to another output event from that same processor.

Parameters
idThe ID of the processor
in_stream_indexThe index of the stream in the processor corresponding to the input event to associate
in_stream_posThe position in the input stream corresponding to this event
out_stream_indexThe index of the stream in the processor where the output event is produced
out_stream_posThe position in the stream corresponding to this output event

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ getCopy()

EventTracker ca.uqac.lif.cep.EventTracker.getCopy ( boolean  with_state)

Gets a copy of the event tracker.

Parameters
with_stateA flag indicating if the track should be copied with its existing associations.
Returns
A copy of this event tracker

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ getProvenanceTree()

ProvenanceNode ca.uqac.lif.cep.EventTracker.getProvenanceTree ( int  proc_id,
int  stream_index,
int  stream_pos 
)

Gets the provenance tree for a given event.

Parameters
proc_idThe ID of the prcoessor
stream_indexThe index of the stream in the processor corresponding to the input event to associate
stream_posThe position in the stream corresponding to this event
Returns
The provenance tree

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.

◆ setConnection()

void ca.uqac.lif.cep.EventTracker.setConnection ( int  output_proc_id,
int  output_stream_index,
int  input_proc_id,
int  input_stream_index 
)

◆ setTo()

void ca.uqac.lif.cep.EventTracker.setTo ( Processor ...  processors)

Associates this tracker to multiple processors at the same time.

Parameters
processorsThe processors this tracker should be associated to

Implemented in ca.uqac.lif.cep.functions.ApplyFunction.ShiftTracker, and ca.uqac.lif.cep.EventTracker.NoOpEventTracker.


The documentation for this interface was generated from the following file: