From aff46065b0f7b30dd92aa58a5e14f14244dbf05b Mon Sep 17 00:00:00 2001 From: emeric Date: Fri, 5 Apr 2024 14:10:02 +0200 Subject: [PATCH] Export the traces using gzip format --- CMakeLists.txt | 2 +- Dockerfile-release | 1 + src/libs/database/impl/Utils.hpp | 3 +-- src/lms/CMakeLists.txt | 5 +++-- src/lms/ui/admin/TracingView.cpp | 14 +++++++++++--- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f06fbc8..7a203733 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ endif() find_package(PkgConfig REQUIRED) find_package(Threads REQUIRED) find_package(Filesystem REQUIRED) -find_package(Boost REQUIRED COMPONENTS system program_options) +find_package(Boost REQUIRED COMPONENTS system program_options iostreams) find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP) pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib) pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++) diff --git a/Dockerfile-release b/Dockerfile-release index df4eaeee..64679344 100644 --- a/Dockerfile-release +++ b/Dockerfile-release @@ -147,6 +147,7 @@ ARG RUNTIME_PACKAGES=" \ lame-libs \ zlib \ boost-filesystem \ + boost-iostreams \ boost-program_options \ boost-system \ boost-thread \ diff --git a/src/libs/database/impl/Utils.hpp b/src/libs/database/impl/Utils.hpp index 14cca456..56db65d8 100644 --- a/src/libs/database/impl/Utils.hpp +++ b/src/libs/database/impl/Utils.hpp @@ -173,5 +173,4 @@ namespace lms::db::utils } Wt::WDateTime normalizeDateTime(const Wt::WDateTime& dateTime); -} - +} \ No newline at end of file diff --git a/src/lms/CMakeLists.txt b/src/lms/CMakeLists.txt index b9754984..a21e8098 100644 --- a/src/lms/CMakeLists.txt +++ b/src/lms/CMakeLists.txt @@ -58,6 +58,9 @@ target_include_directories(lms PRIVATE ) target_link_libraries(lms PRIVATE + Boost::iostreams + Wt::Wt + Wt::HTTP lmsav lmsauth lmsdatabase @@ -68,8 +71,6 @@ target_link_libraries(lms PRIVATE lmsservice-cover lmssubsonic lmscore - Wt::Wt - Wt::HTTP ) install(TARGETS lms DESTINATION bin) diff --git a/src/lms/ui/admin/TracingView.cpp b/src/lms/ui/admin/TracingView.cpp index c42f3dbd..91265b77 100644 --- a/src/lms/ui/admin/TracingView.cpp +++ b/src/lms/ui/admin/TracingView.cpp @@ -19,6 +19,9 @@ #include "TracingView.hpp" +#include +#include + #include #include #include @@ -46,9 +49,14 @@ namespace lms::ui void handleRequest(const Wt::Http::Request&, Wt::Http::Response& response) { - suggestFileName(core::stringUtils::toISO8601String(Wt::WDateTime::currentDateTime()) + "-traces.json"); - response.setMimeType("application/json"); - _traceLogger.dumpCurrentBuffer(response.out()); + response.setMimeType("application/gzip"); + suggestFileName(core::stringUtils::toISO8601String(Wt::WDateTime::currentDateTime()) + "-traces.json.gz"); + + boost::iostreams::filtering_ostream gzipStream; + gzipStream.push(boost::iostreams::gzip_compressor{}); + gzipStream.push(response.out()); + + _traceLogger.dumpCurrentBuffer(gzipStream); } private: