libsysprof-profiler: record sampler shutdown reason

This commit is contained in:
Christian Hergert
2023-07-12 13:15:08 -07:00
parent a82e8e2d2a
commit e440c130e8

View File

@ -374,6 +374,7 @@ static DexFuture *
sysprof_sampler_record_fiber (gpointer user_data) sysprof_sampler_record_fiber (gpointer user_data)
{ {
Record *record = user_data; Record *record = user_data;
g_autoptr(GError) error = NULL;
g_assert (record != NULL); g_assert (record != NULL);
g_assert (SYSPROF_IS_SAMPLER (record->sampler)); g_assert (SYSPROF_IS_SAMPLER (record->sampler));
@ -383,24 +384,28 @@ sysprof_sampler_record_fiber (gpointer user_data)
for (guint i = 0; i < record->sampler->perf_event_streams->len; i++) for (guint i = 0; i < record->sampler->perf_event_streams->len; i++)
{ {
SysprofPerfEventStream *stream = g_ptr_array_index (record->sampler->perf_event_streams, i); SysprofPerfEventStream *stream = g_ptr_array_index (record->sampler->perf_event_streams, i);
g_autoptr(GError) error = NULL;
if (!sysprof_perf_event_stream_enable (stream, &error)) if (!sysprof_perf_event_stream_enable (stream, &error))
g_debug ("%s", error->message); g_debug ("%s", error->message);
g_debug ("Sampler %d enabled", i); else
g_debug ("Sampler %d enabled", i);
g_clear_error (&error);
} }
dex_await (dex_ref (record->cancellable), NULL); if (!dex_await (dex_ref (record->cancellable), &error))
g_debug ("Sampler shutting down for reason: %s", error->message);
for (guint i = 0; i < record->sampler->perf_event_streams->len; i++) for (guint i = 0; i < record->sampler->perf_event_streams->len; i++)
{ {
SysprofPerfEventStream *stream = g_ptr_array_index (record->sampler->perf_event_streams, i); SysprofPerfEventStream *stream = g_ptr_array_index (record->sampler->perf_event_streams, i);
g_autoptr(GError) error = NULL;
if (!sysprof_perf_event_stream_disable (stream, &error)) if (!sysprof_perf_event_stream_disable (stream, &error))
g_debug ("%s", error->message); g_debug ("%s", error->message);
else else
g_debug ("Sampler %d disabled", i); g_debug ("Sampler %d disabled", i);
g_clear_error (&error);
} }
return dex_future_new_for_boolean (TRUE); return dex_future_new_for_boolean (TRUE);