From 3f8e7d70bb81890246f9cea54cbc494b027dcc53 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 22 Jun 2018 01:06:49 +0100 Subject: [PATCH] Add some timing logs for playback. --- src/lib/butler.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/butler.cc b/src/lib/butler.cc index 223f8d579..112778e25 100644 --- a/src/lib/butler.cc +++ b/src/lib/butler.cc @@ -22,11 +22,15 @@ #include "player.h" #include "util.h" #include "log.h" +#include "cross.h" #include "compose.hpp" #include "exceptions.h" #include #include +#define LOG_TIMING(...) _log->log (String::compose(__VA_ARGS__), LogEntry::TYPE_TIMING); +#define LOG_WARNING(...) _log->log (String::compose(__VA_ARGS__), LogEntry::TYPE_WARNING); + using std::cout; using std::pair; using std::make_pair; @@ -45,8 +49,6 @@ using boost::optional; /** Minimum audio readahead in frames; should never be reached unless there are bugs in Player */ #define MAXIMUM_AUDIO_READAHEAD (48000 * MAXIMUM_VIDEO_READAHEAD / 24) -#define LOG_WARNING(...) _log->log (String::compose(__VA_ARGS__), LogEntry::TYPE_WARNING); - Butler::Butler (shared_ptr player, shared_ptr log, AudioMapping audio_mapping, int audio_channels) : _player (player) , _log (log) @@ -69,6 +71,8 @@ Butler::Butler (shared_ptr player, shared_ptr log, AudioMapping aud /* Create some threads to do work on the PlayerVideos we are creating; at present this is used to multi-thread JPEG2000 decoding. */ + + LOG_TIMING("start-prepare-threads %1", boost::thread::hardware_concurrency()); for (size_t i = 0; i < boost::thread::hardware_concurrency(); ++i) { _prepare_pool.create_thread (bind (&boost::asio::io_service::run, &_prepare_service)); } @@ -220,7 +224,9 @@ Butler::prepare (weak_ptr weak_video) const shared_ptr video = weak_video.lock (); /* If the weak_ptr cannot be locked the video obviously no longer requires any work */ if (video) { + LOG_TIMING("start-prepare in %1", thread_id()); video->prepare (); + LOG_TIMING("finish-prepare in %1", thread_id()); } } -- 2.30.2