From: 胡玮文 Date: Wed, 3 Mar 2021 07:06:26 +0000 (+0800) Subject: test: benchmark journald logger X-Git-Tag: v17.1.0~2374^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eadfcd173652b7d44632fe7d1066ab6527902c6c;p=ceph.git test: benchmark journald logger Simple program to send a lot log messages to journald. On my PC, it runs at about 35000 log entries per second. Signed-off-by: 胡玮文 --- diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 105f530e21b..366e95d483a 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -152,6 +152,11 @@ if(NOT WIN32) target_link_libraries(ceph_bench_log rt) endif() +add_executable(ceph_bench_journald_logger + bench_journald_logger.cc + ) +target_link_libraries(ceph_bench_journald_logger ceph-common) + # ceph_test_mutate add_executable(ceph_test_mutate test_mutate.cc diff --git a/src/test/bench_journald_logger.cc b/src/test/bench_journald_logger.cc new file mode 100644 index 00000000000..97341f0e7f1 --- /dev/null +++ b/src/test/bench_journald_logger.cc @@ -0,0 +1,20 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +#include "common/Journald.h" +#include "log/Entry.h" +#include "log/SubsystemMap.h" + +using namespace ceph::logging; + +int main() +{ + SubsystemMap subs; + JournaldLogger journald(&subs); + + for (int i = 0; i < 100000; i++) { + MutableEntry entry(0, 0); + entry.get_ostream() << "This is log message " << i << ", which is a little bit looooooooo********ooooooooog and may contains multiple\nlines."; + journald.log_entry(entry); + } +}