X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fdoc%2Fdeveloper%2Fprocess_traceset_strict_boundaries.txt;h=858ee576ef91d047d3071494caef39361656dd98;hb=768d9ff70f4f49a042d606eeb0e767c23e537d04;hp=cc9b288d66394cd5d8a5b4e2af4bdc7714223fcf;hpb=361e970b2a6793fe739cbf3e98ee4efb18000768;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 cc9b288d..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,18 +145,20 @@ 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 event 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. +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, LttvHooks *before_traceset,