]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test: benchmark journald logger
author胡玮文 <huww98@outlook.com>
Wed, 3 Mar 2021 07:06:26 +0000 (15:06 +0800)
committer胡玮文 <huww98@outlook.com>
Tue, 9 Mar 2021 12:14:00 +0000 (20:14 +0800)
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: 胡玮文 <huww98@outlook.com>
src/test/CMakeLists.txt
src/test/bench_journald_logger.cc [new file with mode: 0644]

index 105f530e21bdd7fce88fd1433b576c8583ad0dd0..366e95d483a962e9eb0aa324c962375f13515eea 100644 (file)
@@ -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 (file)
index 0000000..97341f0
--- /dev/null
@@ -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);
+  }
+}