Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2008-07-27 15:42:03 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2008-07-27 15:42:03 (GMT)
commit597433bc874ff2cf5cb9f9de4e053db47837e042 (patch)
tree2143de602b6a0bbd81de36b7b1bca721f4ed67d5 /shell
parentdc42eeb3da3878a8698c2358658f821819d3d070 (diff)
Add a profile mode available when debug is enabled. Add profilers in
2008-07-27 Carlos Garcia Campos <carlosgc@gnome.org> * libdocument/ev-debug.[ch]: (ev_profiler_start), (ev_profiler_stop): * shell/ev-jobs.c: (ev_job_finished), (ev_job_links_run), (notify_page_ready), (ev_job_render_run), (ev_job_thumbnail_run), (ev_job_fonts_run), (ev_job_load_run), (ev_job_save_run), (ev_job_print_run): * shell/main.c: (main): Add a profile mode available when debug is enabled. Add profilers in ev-jobs. svn path=/trunk/; revision=3086
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-jobs.c15
-rw-r--r--shell/main.c2
2 files changed, 15 insertions, 2 deletions
diff --git a/shell/ev-jobs.c b/shell/ev-jobs.c
index af6ead0..196bad6 100644
--- a/shell/ev-jobs.c
+++ b/shell/ev-jobs.c
@@ -248,10 +248,11 @@ ev_job_print_class_init (EvJobPrintClass *class)
void
ev_job_finished (EvJob *job)
{
- ev_debug_message (DEBUG_JOBS, NULL);
+ ev_debug_message (DEBUG_JOBS, EV_GET_TYPE_NAME (job));
+ ev_profiler_stop (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
g_return_if_fail (EV_IS_JOB (job));
-
+
g_signal_emit (job, job_signals[FINISHED], 0);
}
@@ -272,6 +273,7 @@ void
ev_job_links_run (EvJobLinks *job)
{
ev_debug_message (DEBUG_JOBS, NULL);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
g_return_if_fail (EV_IS_JOB_LINKS (job));
@@ -345,6 +347,7 @@ static gboolean
notify_page_ready (EvJobRender *job)
{
ev_debug_message (DEBUG_JOBS, "%d", job->ev_page->index);
+ ev_profiler_stop (EV_PROFILE_JOBS, "Rendering page %d", job->ev_page->index);
g_signal_emit (job, job_render_signals[PAGE_READY], 0);
@@ -369,6 +372,7 @@ ev_job_render_run (EvJobRender *job)
g_return_if_fail (EV_IS_JOB_RENDER (job));
ev_debug_message (DEBUG_JOBS, "page: %d", job->page);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
ev_document_doc_mutex_lock ();
@@ -380,6 +384,8 @@ ev_job_render_run (EvJobRender *job)
G_CALLBACK (render_finished_cb), job);
} else {
EvRenderContext *rc;
+
+ ev_profiler_start (EV_PROFILE_JOBS, "Rendering page %d", job->page);
ev_document_fc_mutex_lock ();
@@ -456,6 +462,7 @@ ev_job_thumbnail_run (EvJobThumbnail *job)
EvPage *page;
ev_debug_message (DEBUG_JOBS, "%d", job->page);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
g_return_if_fail (EV_IS_JOB_THUMBNAIL (job));
@@ -498,6 +505,7 @@ ev_job_fonts_run (EvJobFonts *job)
EvDocumentFonts *fonts;
ev_debug_message (DEBUG_JOBS, NULL);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
g_return_if_fail (EV_IS_JOB_FONTS (job));
@@ -595,6 +603,7 @@ ev_job_load_run (EvJobLoad *job)
g_return_if_fail (EV_IS_JOB_LOAD (job));
ev_debug_message (DEBUG_JOBS, "%s", job->uri);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
if (job->error) {
g_error_free (job->error);
@@ -685,6 +694,7 @@ ev_job_save_run (EvJobSave *job)
gchar *local_uri;
ev_debug_message (DEBUG_JOBS, "uri: %s, document_uri: %s", job->uri, job->document_uri);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
filename = ev_tmp_filename ("saveacopy");
tmp_filename = g_strdup_printf ("%s.XXXXXX", filename);
@@ -940,6 +950,7 @@ ev_job_print_run (EvJobPrint *job)
g_return_if_fail (EV_IS_JOB_PRINT (job));
ev_debug_message (DEBUG_JOBS, NULL);
+ ev_profiler_start (EV_PROFILE_JOBS, "%s (%p)", EV_GET_TYPE_NAME (job), job);
if (job->temp_file)
g_free (job->temp_file);
diff --git a/shell/main.c b/shell/main.c
index 04aa5ea..f230ea8 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -418,6 +418,8 @@ main (int argc, char *argv[])
ev_backends_manager_shutdown ();
+ ev_debug_shutdown ();
+
#if WITH_GNOME
g_object_unref (program);
#endif