X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttv%2Flttv%2Ftraceset.c;h=7e86c5b764b8e2c0e1f0787f6826b2e99c23932a;hb=b9410cf1476ff6e407da89b0aa5aaeeb6f4c202b;hp=af65190e0c1e069f67840e0a2dabe4b3cb0d8a60;hpb=eda74fe8155fe06b436256cae5199bb367711ec4;p=lttv.git diff --git a/lttv/lttv/traceset.c b/lttv/lttv/traceset.c index af65190e..7e86c5b7 100644 --- a/lttv/lttv/traceset.c +++ b/lttv/lttv/traceset.c @@ -72,7 +72,7 @@ LttvTraceset *lttv_traceset_new(void) ts->time_span.start_time = ltt_time_zero; ts->time_span.end_time = ltt_time_zero; - + lttv_traceset_get_time_span_real(ts); return ts; } @@ -550,7 +550,8 @@ guint64 lttv_traceset_get_timestamp_begin(LttvTraceset *traceset) { currentTrace = g_ptr_array_index(traceset->traces,i); timestamp_cur = bt_trace_handle_get_timestamp_begin(bt_ctx, - currentTrace->id); + currentTrace->id, + BT_CLOCK_REAL); if(timestamp_cur < timestamp_min) timestamp_min = timestamp_cur; } @@ -582,7 +583,8 @@ guint64 lttv_traceset_get_timestamp_end(LttvTraceset *traceset) { currentTrace = g_ptr_array_index(traceset->traces,i); timestamp_cur = bt_trace_handle_get_timestamp_end(bt_ctx, - currentTrace->id); + currentTrace->id, + BT_CLOCK_REAL); if(timestamp_cur > timestamp_max){ timestamp_max = timestamp_cur; } @@ -597,19 +599,20 @@ guint64 lttv_traceset_get_timestamp_end(LttvTraceset *traceset) */ TimeInterval lttv_traceset_get_time_span_real(LttvTraceset *ts) { -#ifdef BABEL_HAS_SEEK_LAST + if(ltt_time_compare(ts->time_span.start_time, ltt_time_zero) == 0 && ts->traces->len > 0){ ts->time_span.start_time = ltt_time_from_uint64( lttv_traceset_get_timestamp_first_event(ts)); +#ifdef BABEL_HAS_SEEK_LAST ts->time_span.end_time = ltt_time_from_uint64( - lttv_traceset_get_timestamp_last_event(ts)); - } - return ts->time_span; + lttv_traceset_get_timestamp_end(ts)); #else - return lttv_traceset_get_time_span(ts); + ts->time_span.end_time = lttv_traceset_get_time_span(ts).end_time; #endif + } + return ts->time_span; } /* @@ -644,7 +647,7 @@ int set_values_position(const LttvTracesetPosition *pos) struct bt_ctf_event *event = bt_ctf_iter_read_event(pos->iter); if(event != NULL){ - ((LttvTracesetPosition *)pos)->timestamp = bt_ctf_get_timestamp_raw(event); + ((LttvTracesetPosition *)pos)->timestamp = bt_ctf_get_timestamp(event); LttvEvent lttv_event; lttv_event.bt_event = event; @@ -659,6 +662,7 @@ int set_values_position(const LttvTracesetPosition *pos) lttv_traceset_seek_to_position(&previous_pos); /*We must desallocate because the function bt_iter_get_pos() does a g_new */ bt_iter_free_pos(previous_pos.bt_pos); + return 1; } guint64 lttv_traceset_position_get_timestamp(const LttvTracesetPosition *pos)