mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof-profiler: add reader and FD helpers for recording
This commit is contained in:
@ -690,3 +690,37 @@ sysprof_recording_get_event_count (SysprofRecording *self)
|
|||||||
+ self->stat.frame_count[SYSPROF_CAPTURE_FRAME_MARK]
|
+ self->stat.frame_count[SYSPROF_CAPTURE_FRAME_MARK]
|
||||||
+ self->stat.frame_count[SYSPROF_CAPTURE_FRAME_LOG];
|
+ self->stat.frame_count[SYSPROF_CAPTURE_FRAME_LOG];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sysprof_recording_create_reader:
|
||||||
|
* @self: a #SysprofRecording
|
||||||
|
*
|
||||||
|
* Creates a new reader for the recording's writer.
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a #SysprofCaptureReader
|
||||||
|
*/
|
||||||
|
SysprofCaptureReader *
|
||||||
|
sysprof_recording_create_reader (SysprofRecording *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (SYSPROF_IS_RECORDING (self), NULL);
|
||||||
|
|
||||||
|
return sysprof_capture_writer_create_reader (self->writer);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sysprof_recording_dup_fd:
|
||||||
|
* @self: a #SysprofRecording
|
||||||
|
*
|
||||||
|
* Duplicates the FD that is being used for writing the recording. This can
|
||||||
|
* be useful if you want to open the recording using a
|
||||||
|
* #SysprofDocumentLoader.
|
||||||
|
*
|
||||||
|
* Returns: a FD that the caller should `close()` when no longer in use.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
sysprof_recording_dup_fd (SysprofRecording *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (SYSPROF_IS_RECORDING (self), -1);
|
||||||
|
|
||||||
|
return _sysprof_capture_writer_dup_fd (self->writer);
|
||||||
|
}
|
||||||
|
|||||||
@ -32,28 +32,32 @@ SYSPROF_AVAILABLE_IN_ALL
|
|||||||
G_DECLARE_FINAL_TYPE (SysprofRecording, sysprof_recording, SYSPROF, RECORDING, GObject)
|
G_DECLARE_FINAL_TYPE (SysprofRecording, sysprof_recording, SYSPROF, RECORDING, GObject)
|
||||||
|
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
GListModel *sysprof_recording_list_diagnostics (SysprofRecording *self);
|
GListModel *sysprof_recording_list_diagnostics (SysprofRecording *self);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
gint64 sysprof_recording_get_duration (SysprofRecording *self);
|
gint64 sysprof_recording_get_duration (SysprofRecording *self);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
gint64 sysprof_recording_get_event_count (SysprofRecording *self);
|
gint64 sysprof_recording_get_event_count (SysprofRecording *self);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
void sysprof_recording_wait_async (SysprofRecording *self,
|
void sysprof_recording_wait_async (SysprofRecording *self,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
gboolean sysprof_recording_wait_finish (SysprofRecording *self,
|
gboolean sysprof_recording_wait_finish (SysprofRecording *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
GError **error);
|
GError **error);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
void sysprof_recording_stop_async (SysprofRecording *self,
|
SysprofCaptureReader *sysprof_recording_create_reader (SysprofRecording *self);
|
||||||
GCancellable *cancellable,
|
|
||||||
GAsyncReadyCallback callback,
|
|
||||||
gpointer user_data);
|
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
gboolean sysprof_recording_stop_finish (SysprofRecording *self,
|
int sysprof_recording_dup_fd (SysprofRecording *self) G_GNUC_WARN_UNUSED_RESULT;
|
||||||
GAsyncResult *result,
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
GError **error);
|
void sysprof_recording_stop_async (SysprofRecording *self,
|
||||||
|
GCancellable *cancellable,
|
||||||
|
GAsyncReadyCallback callback,
|
||||||
|
gpointer user_data);
|
||||||
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
|
gboolean sysprof_recording_stop_finish (SysprofRecording *self,
|
||||||
|
GAsyncResult *result,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
Reference in New Issue
Block a user