mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
libsysprof-profile: update time range for recording
That way we don't have gaps at the edges.
This commit is contained in:
@ -75,6 +75,7 @@ sysprof_recording_fiber (gpointer user_data)
|
|||||||
g_autoptr(GCancellable) cancellable = NULL;
|
g_autoptr(GCancellable) cancellable = NULL;
|
||||||
g_autoptr(DexFuture) record = NULL;
|
g_autoptr(DexFuture) record = NULL;
|
||||||
g_autoptr(GError) error = NULL;
|
g_autoptr(GError) error = NULL;
|
||||||
|
gint64 begin_time;
|
||||||
|
|
||||||
g_assert (SYSPROF_IS_RECORDING (self));
|
g_assert (SYSPROF_IS_RECORDING (self));
|
||||||
|
|
||||||
@ -94,6 +95,9 @@ sysprof_recording_fiber (gpointer user_data)
|
|||||||
/* Ask instruments to start recording and stop if cancelled. */
|
/* Ask instruments to start recording and stop if cancelled. */
|
||||||
record = _sysprof_instruments_record (self->instruments, self, cancellable);
|
record = _sysprof_instruments_record (self->instruments, self, cancellable);
|
||||||
|
|
||||||
|
/* Now take our begin time now that all instruments are notified */
|
||||||
|
begin_time = SYSPROF_CAPTURE_CURRENT_TIME;
|
||||||
|
|
||||||
/* Wait for messages on our channel or the recording to complete */
|
/* Wait for messages on our channel or the recording to complete */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@ -129,6 +133,9 @@ stop_recording:
|
|||||||
*/
|
*/
|
||||||
g_cancellable_cancel (cancellable);
|
g_cancellable_cancel (cancellable);
|
||||||
|
|
||||||
|
/* Update start/end times to be the "running time" */
|
||||||
|
_sysprof_capture_writer_set_time_range (self->writer, begin_time, SYSPROF_CAPTURE_CURRENT_TIME);
|
||||||
|
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
return dex_future_new_for_error (g_steal_pointer (&error));
|
return dex_future_new_for_error (g_steal_pointer (&error));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user