[sysprof/wip/chergert/sysprof-3] libsysprof-ui: update samples while recording
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof/wip/chergert/sysprof-3] libsysprof-ui: update samples while recording
- Date: Mon, 20 May 2019 00:47:19 +0000 (UTC)
commit ec7cd0fba4a0e3d8a5bff4315ce86c02839a1092
Author: Christian Hergert <chergert redhat com>
Date: Sun May 19 17:46:55 2019 -0700
libsysprof-ui: update samples while recording
src/libsysprof-ui/sysprof-recording-state-view.c | 34 ++++++++++-----
.../ui/sysprof-recording-state-view.ui | 51 +++++++++++++++++-----
2 files changed, 64 insertions(+), 21 deletions(-)
---
diff --git a/src/libsysprof-ui/sysprof-recording-state-view.c
b/src/libsysprof-ui/sysprof-recording-state-view.c
index 21222b4..1763e72 100644
--- a/src/libsysprof-ui/sysprof-recording-state-view.c
+++ b/src/libsysprof-ui/sysprof-recording-state-view.c
@@ -25,8 +25,9 @@
typedef struct
{
SysprofProfiler *profiler;
- gulong notify_elapsed_handler;
- GtkLabel *elapsed;
+ GtkLabel *elapsed;
+ GtkLabel *samples;
+ gulong notify_elapsed_handler;
} SysprofRecordingStateViewPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (SysprofRecordingStateView, sysprof_recording_state_view, GTK_TYPE_BIN)
@@ -47,11 +48,12 @@ sysprof_recording_state_view_new (void)
static void
sysprof_recording_state_view_notify_elapsed (SysprofRecordingStateView *self,
- GParamSpec *pspec,
- SysprofProfiler *profiler)
+ GParamSpec *pspec,
+ SysprofProfiler *profiler)
{
SysprofRecordingStateViewPrivate *priv = sysprof_recording_state_view_get_instance_private (self);
g_autofree gchar *str = NULL;
+ SysprofCaptureWriter *writer;
gint64 elapsed;
guint hours;
guint minutes;
@@ -60,6 +62,16 @@ sysprof_recording_state_view_notify_elapsed (SysprofRecordingStateView *self,
g_assert (SYSPROF_IS_RECORDING_STATE_VIEW (self));
g_assert (SYSPROF_IS_PROFILER (profiler));
+ if ((writer = sysprof_profiler_get_writer (profiler)))
+ {
+ SysprofCaptureStat st;
+ g_autofree gchar *samples = NULL;
+
+ sysprof_capture_writer_stat (writer, &st);
+ samples = g_strdup_printf ("%"G_GINT64_FORMAT, st.frame_count[SYSPROF_CAPTURE_FRAME_SAMPLE]);
+ gtk_label_set_label (priv->samples, samples);
+ }
+
elapsed = (gint64)sysprof_profiler_get_elapsed (profiler);
hours = elapsed / (60 * 60);
@@ -94,9 +106,9 @@ sysprof_recording_state_view_destroy (GtkWidget *widget)
static void
sysprof_recording_state_view_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
SysprofRecordingStateView *self = SYSPROF_RECORDING_STATE_VIEW (object);
SysprofRecordingStateViewPrivate *priv = sysprof_recording_state_view_get_instance_private (self);
@@ -114,9 +126,9 @@ sysprof_recording_state_view_get_property (GObject *object,
static void
sysprof_recording_state_view_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
SysprofRecordingStateView *self = SYSPROF_RECORDING_STATE_VIEW (object);
@@ -164,7 +176,7 @@ sysprof_recording_state_view_init (SysprofRecordingStateView *self)
void
sysprof_recording_state_view_set_profiler (SysprofRecordingStateView *self,
- SysprofProfiler *profiler)
+ SysprofProfiler *profiler)
{
SysprofRecordingStateViewPrivate *priv = sysprof_recording_state_view_get_instance_private (self);
diff --git a/src/libsysprof-ui/ui/sysprof-recording-state-view.ui
b/src/libsysprof-ui/ui/sysprof-recording-state-view.ui
index e9631c9..948ae34 100644
--- a/src/libsysprof-ui/ui/sysprof-recording-state-view.ui
+++ b/src/libsysprof-ui/ui/sysprof-recording-state-view.ui
@@ -44,17 +44,48 @@
</object>
</child>
<child>
- <object class="GtkButton">
- <property name="action-name">display.stop-recording</property>
- <property name="margin-top">24</property>
+ <object class="GtkBox">
+ <property name="orientation">horizontal</property>
+ <property name="spacing">6</property>
<property name="visible">true</property>
- <property name="label" translatable="yes">_Stop Recording</property>
- <property name="halign">end</property>
- <property name="width-request">125</property>
- <property name="use-underline">true</property>
- <style>
- <class name="destructive-action"/>
- </style>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Samples</property>
+ <property name="xalign">1.0</property>
+ <property name="valign">baseline</property>
+ <property name="visible">true</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="samples">
+ <property name="label">0</property>
+ <property name="visible">true</property>
+ <property name="hexpand">true</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ <attributes>
+ <attribute name="font-features" value="font-feature-settings: 'tnum'"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="action-name">display.stop-recording</property>
+ <property name="margin-top">24</property>
+ <property name="visible">true</property>
+ <property name="label" translatable="yes">_Stop Recording</property>
+ <property name="halign">end</property>
+ <property name="width-request">125</property>
+ <property name="valign">baseline</property>
+ <property name="use-underline">true</property>
+ <style>
+ <class name="destructive-action"/>
+ </style>
+ </object>
+ </child>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]