Verified Commit dc95e70f authored by Marc Vef's avatar Marc Vef
Browse files

Encapsulating msgpack away from build when not needed

parent e5d9e925
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -299,11 +299,6 @@ if(GKFS_ENABLE_PROMETHEUS)
    add_definitions(-DGKFS_ENABLE_PROMETHEUS)
endif ()

# Enable MSGPack metrics
if(GKFS_ENABLE_CLIENT_METRICS)
    add_definitions(-DGKFS_ENABLE_CLIENT_METRICS)
endif ()

configure_file(include/common/cmake_configure.hpp.in include/common/cmake_configure.hpp)

if(GKFS_ENABLE_CLIENT_LOG)
+4 −4
Original line number Diff line number Diff line
@@ -110,8 +110,8 @@ private:
    std::string hostname;
    int replicas_;

    std::unique_ptr<gkfs::messagepack::ClientMetrics> write_metrics_;
    std::unique_ptr<gkfs::messagepack::ClientMetrics> read_metrics_;
    std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics_;
    std::shared_ptr<gkfs::messagepack::ClientMetrics> read_metrics_;


public:
@@ -236,10 +236,10 @@ public:
    int
    get_replicas();

    gkfs::messagepack::ClientMetrics&
    const std::shared_ptr<gkfs::messagepack::ClientMetrics>
    write_metrics();

    gkfs::messagepack::ClientMetrics&
    const std::shared_ptr<gkfs::messagepack::ClientMetrics>
    read_metrics();
};

+10 −2
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ target_link_options(gkfs_user_lib PRIVATE -z noexecstack)
if(GKFS_ENABLE_AGIOS)
  target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_AGIOS)
endif()
# Enable MSGPack metrics for intercept only

target_link_libraries(
  gkfs_intercept
@@ -88,8 +89,16 @@ target_link_libraries(
         fmt::fmt
         Threads::Threads
         Syscall_intercept::Syscall_intercept
)
# Enable MSGPack metrics for intercept only
if (GKFS_ENABLE_CLIENT_METRICS)
	target_link_libraries(
		gkfs_intercept
		PUBLIC
		msgpack_util
	)
	target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_CLIENT_METRICS)
endif ()

target_link_libraries(
  gkfs_user_lib
@@ -99,7 +108,6 @@ target_link_libraries(
         hermes
         fmt::fmt
         Threads::Threads
         msgpack_util
)

install(
+4 −2
Original line number Diff line number Diff line
@@ -37,7 +37,9 @@
#include <client/open_dir.hpp>

#include <common/path_util.hpp>
#ifdef GKFS_ENABLE_CLIENT_METRICS
#include <common/msgpack_util.hpp>
#endif
#include <utility>

extern "C" {
@@ -956,7 +958,7 @@ gkfs_write_ws(gkfs::filemap::OpenFile& file, const char* buf, size_t count, off6
#ifdef GKFS_ENABLE_CLIENT_METRICS
    auto start_t = std::chrono::high_resolution_clock::now();
    auto written = gkfs_do_write(file, buf, count, offset, update_pos);
    CTX->write_metrics().add_event(written, start_t);
    CTX->write_metrics()->add_event(written, start_t);
    return written;
#else
    return gkfs_do_write(file, buf, count, offset, update_pos);
@@ -1121,7 +1123,7 @@ gkfs_read_ws(const gkfs::filemap::OpenFile& file, char* buf, size_t count, off64
#ifdef GKFS_ENABLE_CLIENT_METRICS
    auto start_t = std::chrono::high_resolution_clock::now();
    auto read = gkfs_do_read(file, buf, count, offset);
    CTX->read_metrics().add_event(read, start_t);
    CTX->read_metrics()->add_event(read, start_t);
    return read;
#else
    return gkfs_do_read(file, buf, count, offset);
+5 −3
Original line number Diff line number Diff line
@@ -36,7 +36,9 @@

#include <common/rpc/distributor.hpp>
#include <common/common_defs.hpp>
#ifdef GKFS_ENABLE_CLIENT_METRICS
#include <common/msgpack_util.hpp>
#endif

#include <ctime>
#include <cstdlib>
@@ -319,10 +321,10 @@ destroy_preload() {
    }
#ifdef GKFS_ENABLE_CLIENT_METRICS
    LOG(INFO, "Flushing final metrics...");
    CTX->write_metrics().flush_msgpack();
    CTX->read_metrics().flush_msgpack();
    CTX->write_metrics()->flush_msgpack();
    CTX->read_metrics()->flush_msgpack();
    LOG(INFO, "Metrics flushed. Total flush operations: {}",
        CTX->write_metrics().flush_count());
        CTX->write_metrics()->flush_count());
#endif
    CTX->clear_hosts();
    LOG(DEBUG, "Peer information deleted");
Loading