diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2008-04-28 16:44:53 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2008-04-28 16:44:53 +0100 |
commit | c3ba72816cee6507e2b8fefcddda2eb2b3e9bbd4 (patch) | |
tree | 456aa23c36440c06b63caf89c88e76df12d8ba6f /src/summary-chart.c | |
parent | 9db15748ff771cb9464742d78df56bbfb41f087d (diff) |
Add a pie-chart to allocation callstack tooltip.
Include a pie-chart to visualize the fraction of the calls for each level
of the callstack.
Diffstat (limited to 'src/summary-chart.c')
-rw-r--r-- | src/summary-chart.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/summary-chart.c b/src/summary-chart.c index b67afb6..193252e 100644 --- a/src/summary-chart.c +++ b/src/summary-chart.c @@ -38,7 +38,6 @@ typedef struct _summary_chart { AllocatorsStore *store; struct _sum_allocator others; - gboolean total; guint dirty; } SummaryChart; @@ -54,8 +53,7 @@ G_DEFINE_TYPE (SummaryChart, summary_chart, GTK_TYPE_WIDGET) enum { PROP_0 = 0, - PROP_MODEL, - PROP_TOTAL + PROP_MODEL }; static gboolean @@ -105,9 +103,6 @@ summary_chart_set_property (GObject *obj, guint id, const GValue *v, GParamSpec case PROP_MODEL: summary_chart_set_model (self, g_value_get_object (v)); break; - case PROP_TOTAL: - self->total = g_value_get_boolean (v); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, spec); break; @@ -122,9 +117,6 @@ summary_chart_get_property (GObject *obj, guint id, GValue *v, GParamSpec *spec) case PROP_MODEL: g_value_set_object (v, self->store); break; - case PROP_TOTAL: - g_value_set_boolean (v, self->total); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, spec); break; @@ -550,8 +542,11 @@ summary_chart_query_tooltip (GtkWidget *widget, guint n, m, depth, n_allocs; n_allocs = A->time_tail->n_allocs; - if (! self->total && A->time_tail->prev) + if (! allocators_store_is_cumulative (self->store) && + A->time_tail->prev) + { n_allocs -= A->time_tail->freed; + } g_string_append (string, "\n\nMost frequent allocation callsite, "); len = g_snprintf (calls + 40, 40, "%u", n_allocs); @@ -624,17 +619,6 @@ summary_chart_class_init (SummaryChartClass *klass) G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NAME | G_PARAM_READWRITE)); - - g_object_class_install_property (object_class, - PROP_TOTAL, - g_param_spec_boolean ("total", - _("total"), - _("Total"), - TRUE, - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB | - G_PARAM_STATIC_NAME | - G_PARAM_READWRITE)); } @@ -646,10 +630,9 @@ summary_chart_init (SummaryChart *self) } GtkWidget * -summary_chart_new (AllocatorsStore *store, gboolean total) +summary_chart_new (AllocatorsStore *store) { return g_object_new (summary_chart_get_type (), "model", store, - "total", total, NULL); } |