X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fdoc%2Fdeveloper%2Fprocess_traceset_strict_boundaries.txt;h=858ee576ef91d047d3071494caef39361656dd98;hb=e7fe5effe2cf2fd70daf7cd860a72e291c2cb812;hp=6ad299f3e6764914e3bc758470881492e52dc5a1;hpb=f28a9a7ba7ab955ffa45ecd17ca1542abd1f4527;p=lttv.git diff --git a/ltt/branches/poly/doc/developer/process_traceset_strict_boundaries.txt b/ltt/branches/poly/doc/developer/process_traceset_strict_boundaries.txt index 6ad299f3..858ee576 100644 --- a/ltt/branches/poly/doc/developer/process_traceset_strict_boundaries.txt +++ b/ltt/branches/poly/doc/developer/process_traceset_strict_boundaries.txt @@ -95,13 +95,13 @@ Description of new context API useage From now on, the state computation will be done in the middle hook call, with a priority higher than default. We will define this priority as PRIO_STATE, -defined to -10. +defined to 25. -If state has to be computed, lttv_process_traceset_begin is called to add state -hooks to the context. Then, the state seek_closest will have to be used to -restore the nearest state, plus a process_traceset with no hooks present other -than the state hooks will have to be called to go from the closest state to the -real time seeked. +If state has to be computed, lttv_process_traceset_begin has to be called in +a first time. It adds the state hooks to the context. Then, the state +seek_closest will have to be used to restore the nearest state, plus a +process_traceset with no hooks present other than the state hooks will have to +be called to go from the closest state to the real time seeked. The lttv_process_traceset_end will only need to be called if no further state computation is needed. @@ -112,9 +112,14 @@ computation is needed. - Type LttvTracesetContextPosition +struct _LttvTraceContextPosition { + LttEventPosition *tf_pos; /* Position in each trace */ + guint nb_tracefile; /* Number of tracefiles (check) */ +} + struct _LttvTracesetContextPosition { - LttEventPosition *tracefile_position; /* Position in each trace/tracefile */ - guint num_tracefiles; /* Number of tracefiles (check) */ + LttTraceContextPosition *t_pos; /* Position in each trace */ + guint nb_trace; /* Number of traces (check) */ } with interfaces : @@ -132,7 +137,7 @@ Dependencies : lttv_process_traceset_seek_position will seek each tracefile to the right position. We keep information about number of tracefiles for extra integrity -checking when reloading the position in the context. +checking when reloading the position in the context. It also loads the pqueue. @@ -140,31 +145,35 @@ checking when reloading the position in the context. We modify lttv_process_traceset_middle so that it takes as arguments : (LttvTracesetContext *self, LttTime end, -unsigned num_events, +unsigned nb_events, const LttvTracesetContextPosition *end_position) -This new version of process traceset middle will call the middle hooks for -events until the first criterion is fulfilled : either the end time is passed, -the number of events requested is passed or the end position is reached. When -this function ends, the end position can be extracted from the context, the end -event is set as described below and the number of events read is returned. +This new version of process traceset middle will call the event hooks for +events until the first criterion is fulfilled : either the end time is reached, +the number of events requested is passed, the end position is reached or the +last event hook list called returned TRUE. When this function ends, the end +position can be extracted from the context, the end event is set as described +below and the number of events read is returned. The end event is a pointer to the last event the hooks has been called for. - lttv_process_traceset_seek_time : already implemented + - now loads the pqueue. - lttv_process_traceset_begin(LttvTracesetContext *self, - LttvHooksById *before_traceset, - LttvHooksById *before_trace, - LttvHooksById *before_tracefile, - LttvHooksById *middle_hooks) + LttvHooks *before_traceset, + LttvHooks *before_trace, + LttvHooks *before_tracefile, + LttvHooks *event, + LttvHooksById *event_by_id) - lttv_process_traceset_end(LttvTracesetContext *self, - LttvHooksById *after_traceset, - LttvHooksById *after_trace, - LttvHooksById *after_tracefile, - LttvHooksById *middle_hooks) + LttvHooks *after_traceset, + LttvHooks *after_trace, + LttvHooks *after_tracefile, + LttvHooks *event, + LttvHooksById *event_by_id) - lttv_traceset_context_add_hooks and lttv_traceset_context_remove_hooks