[tracker-miners/sam/debug-more: 5/7] Move various log messages into TRACKER_DEBUG=statistics



commit 51cf643cdf83154675014114e3672cab55daf005
Author: Sam Thursfield <sam afuera me uk>
Date:   Sat Apr 25 16:47:30 2020 +0200

    Move various log messages into TRACKER_DEBUG=statistics
    
    I'm not sure if most of these are useful. Statistics should be
    shown by the CLI or other monitoring tools. I doubt users go
    looking for them in the syslog/journal.

 src/libtracker-miner/tracker-file-notifier.c |  19 +++--
 src/libtracker-miner/tracker-miner-fs.c      |  53 ++++++------
 src/tracker-extract/tracker-extract.c        | 120 +++++++++++++++------------
 3 files changed, 103 insertions(+), 89 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c
index 81dc129b2..3b0f0a157 100644
--- a/src/libtracker-miner/tracker-file-notifier.c
+++ b/src/libtracker-miner/tracker-file-notifier.c
@@ -701,14 +701,17 @@ finish_current_directory (TrackerFileNotifier *notifier,
                               priv->current_index_root->files_found,
                               priv->current_index_root->files_ignored);
 
-               g_info ("  Notified files after %2.2f seconds",
-                       g_timer_elapsed (priv->timer, NULL));
-               g_info ("  Found %d directories, ignored %d directories",
-                       priv->current_index_root->directories_found,
-                       priv->current_index_root->directories_ignored);
-               g_info ("  Found %d files, ignored %d files",
-                       priv->current_index_root->files_found,
-                       priv->current_index_root->files_ignored);
+               TRACKER_NOTE (STATISTICS,
+                             g_message ("  Notified files after %2.2f seconds",
+                                        g_timer_elapsed (priv->timer, NULL)));
+               TRACKER_NOTE (STATISTICS,
+                             g_message ("  Found %d directories, ignored %d directories",
+                                       priv->current_index_root->directories_found,
+                                       priv->current_index_root->directories_ignored));
+               TRACKER_NOTE (STATISTICS,
+                             g_message ("  Found %d files, ignored %d files",
+                                        priv->current_index_root->files_found,
+                                        priv->current_index_root->files_ignored));
 
                if (!interrupted) {
                        g_clear_pointer (&priv->current_index_root, root_data_free);
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index bcde7f16a..3e29978ab 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -1090,39 +1090,40 @@ notify_roots_finished (TrackerMinerFS *fs,
 }
 
 static void
-process_print_stats (TrackerMinerFS *fs)
+log_stats (TrackerMinerFS *fs)
 {
-       /* Only do this the first time, otherwise the results are
-        * likely to be inaccurate. Devices can be added or removed so
-        * we can't assume stats are correct.
-        */
-       if (!fs->priv->shown_totals) {
-               fs->priv->shown_totals = TRUE;
-
-               g_info ("--------------------------------------------------");
-               g_info ("Total directories : %d (%d ignored)",
-                       fs->priv->total_directories_found,
-                       fs->priv->total_directories_ignored);
-               g_info ("Total files       : %d (%d ignored)",
-                       fs->priv->total_files_found,
-                       fs->priv->total_files_ignored);
-#if 0
-               g_info ("Total monitors    : %d",
-                       tracker_monitor_get_count (fs->priv->monitor));
-#endif
-               g_info ("Total processed   : %d (%d notified, %d with error)",
-                       fs->priv->total_files_processed,
-                       fs->priv->total_files_notified,
-                       fs->priv->total_files_notified_error);
-               g_info ("--------------------------------------------------\n");
+#ifdef G_ENABLE_DEBUG
+       if (TRACKER_DEBUG_CHECK (STATISTICS)) {
+               /* Only do this the first time, otherwise the results are
+                * likely to be inaccurate. Devices can be added or removed so
+                * we can't assume stats are correct.
+                */
+               if (!fs->priv->shown_totals) {
+                       fs->priv->shown_totals = TRUE;
+
+                       g_info ("--------------------------------------------------");
+                       g_info ("Total directories : %d (%d ignored)",
+                               fs->priv->total_directories_found,
+                               fs->priv->total_directories_ignored);
+                       g_info ("Total files       : %d (%d ignored)",
+                               fs->priv->total_files_found,
+                               fs->priv->total_files_ignored);
+                       g_info ("Total processed   : %d (%d notified, %d with error)",
+                               fs->priv->total_files_processed,
+                               fs->priv->total_files_notified,
+                               fs->priv->total_files_notified_error);
+                       g_info ("--------------------------------------------------\n");
+               }
        }
+#endif
 }
 
 static void
 process_stop (TrackerMinerFS *fs)
 {
-       /* Now we have finished crawling, print stats and enable monitor events */
-       process_print_stats (fs);
+       /* Now we have finished crawling, we enable monitor events */
+
+       log_stats (fs);
 
        g_timer_stop (fs->priv->timer);
        g_timer_stop (fs->priv->extraction_timer);
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index d3e538cba..31852da00 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -70,7 +70,6 @@ typedef struct {
        GHashTable *single_thread_extractors;
 
        gboolean disable_shutdown;
-       gboolean disable_summary_on_finalize;
 
        gchar *force_module;
 
@@ -95,7 +94,7 @@ typedef struct {
 } TrackerExtractTask;
 
 static void tracker_extract_finalize (GObject *object);
-static void report_statistics        (GObject *object);
+static void log_statistics        (GObject *object);
 static gboolean get_metadata         (TrackerExtractTask *task);
 static gboolean dispatch_task_cb     (TrackerExtractTask *task);
 
@@ -124,12 +123,17 @@ tracker_extract_init (TrackerExtract *object)
        TrackerExtractPrivate *priv;
 
        priv = TRACKER_EXTRACT_GET_PRIVATE (object);
-       priv->statistics_data = g_hash_table_new_full (NULL, NULL, NULL,
-                                                      (GDestroyNotify) statistics_data_free);
        priv->single_thread_extractors = g_hash_table_new (NULL, NULL);
        priv->thread_pool = g_thread_pool_new ((GFunc) get_metadata,
                                               NULL, 10, TRUE, NULL);
 
+#ifdef G_ENABLE_DEBUG
+       if (TRACKER_DEBUG_CHECK (STATISTICS)) {
+               priv->statistics_data = g_hash_table_new_full (NULL, NULL, NULL,
+                                                              (GDestroyNotify) statistics_data_free);
+       }
+#endif
+
        g_mutex_init (&priv->task_mutex);
 }
 
@@ -145,11 +149,13 @@ tracker_extract_finalize (GObject *object)
        g_hash_table_destroy (priv->single_thread_extractors);
        g_thread_pool_free (priv->thread_pool, TRUE, FALSE);
 
-       if (!priv->disable_summary_on_finalize) {
-               report_statistics (object);
-       }
+       log_statistics (object);
 
-       g_hash_table_destroy (priv->statistics_data);
+#ifdef G_ENABLE_DEBUG
+       if (TRACKER_DEBUG_CHECK (STATISTICS)) {
+               g_hash_table_destroy (priv->statistics_data);
+       }
+#endif
 
        g_mutex_clear (&priv->task_mutex);
 
@@ -157,48 +163,52 @@ tracker_extract_finalize (GObject *object)
 }
 
 static void
-report_statistics (GObject *object)
+log_statistics (GObject *object)
 {
-       TrackerExtractPrivate *priv;
-       GHashTableIter iter;
-       gpointer key, value;
+#ifdef G_ENABLE_DEBUG
+       if (TRACKER_DEBUG_CHECK (STATISTICS)) {
+               TrackerExtractPrivate *priv;
+               GHashTableIter iter;
+               gpointer key, value;
 
-       priv = TRACKER_EXTRACT_GET_PRIVATE (object);
+               priv = TRACKER_EXTRACT_GET_PRIVATE (object);
 
-       g_mutex_lock (&priv->task_mutex);
+               g_mutex_lock (&priv->task_mutex);
 
-       g_message ("--------------------------------------------------");
-       g_message ("Statistics:");
+               g_message ("--------------------------------------------------");
+               g_message ("Statistics:");
 
-       g_hash_table_iter_init (&iter, priv->statistics_data);
+               g_hash_table_iter_init (&iter, priv->statistics_data);
 
-       while (g_hash_table_iter_next (&iter, &key, &value)) {
-               GModule *module = key;
-               StatisticsData *data = value;
+               while (g_hash_table_iter_next (&iter, &key, &value)) {
+                       GModule *module = key;
+                       StatisticsData *data = value;
 
-               if (data->extracted_count > 0 || data->failed_count > 0) {
-                       const gchar *name, *name_without_path;
+                       if (data->extracted_count > 0 || data->failed_count > 0) {
+                               const gchar *name, *name_without_path;
 
-                       name = g_module_name (module);
-                       name_without_path = strrchr (name, G_DIR_SEPARATOR) + 1;
+                               name = g_module_name (module);
+                               name_without_path = strrchr (name, G_DIR_SEPARATOR) + 1;
 
-                       g_message ("    Module:'%s', extracted:%d, failures:%d",
-                                  name_without_path,
-                                  data->extracted_count,
-                                  data->failed_count);
+                               g_message ("    Module:'%s', extracted:%d, failures:%d",
+                                          name_without_path,
+                                          data->extracted_count,
+                                          data->failed_count);
+                       }
                }
-       }
 
-       g_message ("Unhandled files: %d", priv->unhandled_count);
+               g_message ("Unhandled files: %d", priv->unhandled_count);
 
-       if (priv->unhandled_count == 0 &&
-           g_hash_table_size (priv->statistics_data) < 1) {
-               g_message ("    No files handled");
-       }
+               if (priv->unhandled_count == 0 &&
+                   g_hash_table_size (priv->statistics_data) < 1) {
+                       g_message ("    No files handled");
+               }
 
-       g_message ("--------------------------------------------------");
+               g_message ("--------------------------------------------------");
 
-       g_mutex_unlock (&priv->task_mutex);
+               g_mutex_unlock (&priv->task_mutex);
+       }
+#endif
 }
 
 TrackerExtract *
@@ -239,25 +249,29 @@ notify_task_finish (TrackerExtractTask *task,
         */
        g_mutex_lock (&priv->task_mutex);
 
-       if (task->cur_module) {
-               stats_data = g_hash_table_lookup (priv->statistics_data,
-                                                 task->cur_module);
-
-               if (!stats_data) {
-                       stats_data = g_slice_new0 (StatisticsData);
-                       g_hash_table_insert (priv->statistics_data,
-                                            task->cur_module,
-                                            stats_data);
-               }
+#ifdef G_ENABLE_DEBUG
+       if (TRACKER_DEBUG_CHECK (STATISTICS)) {
+               if (task->cur_module) {
+                       stats_data = g_hash_table_lookup (priv->statistics_data,
+                                                         task->cur_module);
+
+                       if (!stats_data) {
+                               stats_data = g_slice_new0 (StatisticsData);
+                               g_hash_table_insert (priv->statistics_data,
+                                                    task->cur_module,
+                                                    stats_data);
+                       }
 
-               stats_data->extracted_count++;
+                       stats_data->extracted_count++;
 
-               if (!success) {
-                       stats_data->failed_count++;
+                       if (!success) {
+                               stats_data->failed_count++;
+                       }
+               } else {
+                       priv->unhandled_count++;
                }
-       } else {
-               priv->unhandled_count++;
        }
+#endif
 
        priv->running_tasks = g_list_remove (priv->running_tasks, task);
 
@@ -666,14 +680,10 @@ tracker_extract_get_metadata_by_cmdline (TrackerExtract             *object,
                                          TrackerSerializationFormat  output_format)
 {
        GError *error = NULL;
-       TrackerExtractPrivate *priv;
        TrackerExtractTask *task;
        TrackerExtractInfo *info;
        gboolean no_data_or_modules = TRUE;
 
-       priv = TRACKER_EXTRACT_GET_PRIVATE (object);
-       priv->disable_summary_on_finalize = TRUE;
-
        g_return_if_fail (uri != NULL);
 
        task = extract_task_new (object, uri, mime, NULL, NULL, &error);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]