1
0
Mirror von https://github.com/tkuschel/bees.git synchronisiert 2026-05-08 04:59:37 +02:00

progress: put the progress table in the stats and status files

Make the progress information more accessible, without having to
enable full debug log and fish it out of the stream with grep.

Also increase the progress log level to INFO.

Signed-off-by: Zygo Blaxell <bees@furryterror.org>
Dieser Commit ist enthalten in:
Zygo Blaxell
2024-11-27 15:58:06 -05:00
Ursprung 59f8a467c3
Commit 9c183c2c22
4 geänderte Dateien mit 43 neuen und 6 gelöschten Zeilen
+18
Datei anzeigen
@@ -98,6 +98,8 @@ BeesContext::dump_status()
TaskMaster::print_queue(ofs);
#endif
ofs << get_progress();
ofs.close();
BEESNOTE("renaming status file '" << status_file << "'");
@@ -112,6 +114,20 @@ BeesContext::dump_status()
}
}
void
BeesContext::set_progress(const string &str)
{
unique_lock<mutex> lock(m_progress_mtx);
m_progress_str = str;
}
string
BeesContext::get_progress()
{
unique_lock<mutex> lock(m_progress_mtx);
return m_progress_str;
}
void
BeesContext::show_progress()
{
@@ -159,6 +175,8 @@ BeesContext::show_progress()
BEESLOGINFO("\ttid " << t.first << ": " << t.second);
}
// No need to log progress here, it is logged when set
lastStats = thisStats;
}
}
+2
Datei anzeigen
@@ -356,6 +356,8 @@ BeesHashTable::prefetch_loop()
auto avg_rates = thisStats / m_ctx->total_timer().age();
graph_blob << "\t" << avg_rates << "\n";
graph_blob << m_ctx->get_progress();
BEESLOGINFO(graph_blob.str());
catch_all([&]() {
m_stats_file.write(graph_blob.str());
+18 -6
Datei anzeigen
@@ -1069,10 +1069,6 @@ BeesScanModeExtent::next_transid(const CrawlMap &crawl_map_unused)
});
BEESCOUNT(progress_ok);
}
ostringstream oss;
eta.left("PROGRESS: ");
eta.mid(" ");
eta.right("");
eta.insert_row(0, vector<Table::Content> {
Table::Text("done"),
Table::Text(pretty(fs_size)),
@@ -1087,8 +1083,24 @@ BeesScanModeExtent::next_transid(const CrawlMap &crawl_map_unused)
});
const auto dash_fill = Table::Fill('-');
eta.insert_row(1, vector<Table::Content>(eta.cols().size(), dash_fill));
oss << eta;
BEESLOGDEBUG(oss.str());
eta.left("");
eta.mid(" ");
eta.right("");
// One for publication through beesstats.txt and $BEESSTATUS
{
ostringstream progress_oss;
progress_oss << eta;
m_ctx->set_progress(progress_oss.str());
}
// One for the debug log
{
eta.left("PROGRESS: ");
ostringstream log_oss;
log_oss << eta;
BEESLOGINFO(log_oss.str());
}
}
void
+5
Datei anzeigen
@@ -749,6 +749,9 @@ class BeesContext : public enable_shared_from_this<BeesContext> {
shared_ptr<BeesThread> m_progress_thread;
shared_ptr<BeesThread> m_status_thread;
mutex m_progress_mtx;
string m_progress_str;
void set_root_fd(Fd fd);
BeesResolveAddrResult resolve_addr_uncached(BeesAddress addr);
@@ -784,6 +787,8 @@ public:
void dump_status();
void show_progress();
void set_progress(const string &str);
string get_progress();
void start();
void stop();