1
0
mirror of https://github.com/Zygo/bees.git synced 2025-07-01 16:22:27 +02:00

extent scan: only write a detailed debug log when there's an exception

Note that when enabled, the logs are still very CPU-intensive,
but most of the logs will be discarded.

Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
Zygo Blaxell
2025-02-11 00:31:29 -05:00
parent 0953160584
commit bc7c35aa2d

View File

@ -933,6 +933,7 @@ BeesScanModeExtent::SizeTier::find_next_extent()
// Low-level extent search debugging
shared_ptr<ostringstream> debug_oss;
const bool debug_oss_only_exceptions = true;
#if 0
// Enable a _lot_ of debugging output
debug_oss = make_shared<ostringstream>();
@ -966,7 +967,9 @@ BeesScanModeExtent::SizeTier::find_next_extent()
);
}
if (debug_oss) {
BEESLOGDEBUG("debug oss trace:\n" << debug_oss->str());
if (!debug_oss_only_exceptions || exception_check()) {
BEESLOGDEBUG("debug oss trace:\n" << debug_oss->str());
}
}
}
BtrfsIoctlSearchKey::s_debug_ostream.reset();
@ -1002,7 +1005,9 @@ BeesScanModeExtent::SizeTier::find_next_extent()
// There is a lot of debug output. Dump it if it gets too long
if (!debug_oss->str().empty()) {
if (crawl_time.age() > 1) {
BEESLOGDEBUG("debug oss trace (so far):\n" << debug_oss->str());
if (!debug_oss_only_exceptions) {
BEESLOGDEBUG("debug oss trace (so far):\n" << debug_oss->str());
}
debug_oss->str("");
}
}