X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_matching.h;h=4e8befc35520c85fae46a6f3d5519f1c43879f8f;hb=eb8e0e6fa27e4cfe25138d8275ee6f686ee2b32d;hp=e4c37732975ba542b6a486f4fad4bc4a90e8d0a2;hpb=336e21a5943e770da94553fa9559b891e0155da5;p=lttv.git diff --git a/lttv/lttv/sync/event_matching.h b/lttv/lttv/sync/event_matching.h index e4c37732..4e8befc3 100644 --- a/lttv/lttv/sync/event_matching.h +++ b/lttv/lttv/sync/event_matching.h @@ -30,14 +30,40 @@ typedef struct char* name; bool canMatch[TYPE_COUNT]; + /* + * This function is called at the beginning of a synchronization run for a set + * of traces. Allocate the matching specific data structures. + */ void (*initMatching)(struct _SyncState* const syncState); + + /* + * Free the matching specific data structures. + */ void (*destroyMatching)(struct _SyncState* const syncState); + /* + * Try to match one event from a trace with the corresponding event from + * another trace. If it is possible, create a new structure and call the + * analyse{message,exchange,broadcast} function of the analysis module. + */ void (*matchEvent)(struct _SyncState* const syncState, Event* const event); + + /* + * Obtain the factors from downstream. + */ AllFactors* (*finalizeMatching)(struct _SyncState* const syncState); + /* + * Print statistics related to matching. Is always called after + * finalizeMatching. + */ void (*printMatchingStats)(struct _SyncState* const syncState); + + /* + * Write the matching-specific options and graph commands in the gnuplot + * script. Is always called after finalizeMatching. + */ GraphFunctions graphFunctions; } MatchingModule;