Loading CMake/gkfs-options.cmake +9 −0 Original line number Diff line number Diff line Loading @@ -356,4 +356,13 @@ gkfs_define_option( DESCRIPTION "If GKFS_ENABLE_FORWARDING is ON, use AGIOS for scheduling I/Os" ) ################################################################################ # MSGPack client metrics ################################################################################ gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE OFF DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file CMakeLists.txt +5 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,11 @@ 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) Loading include/client/env.hpp +5 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,11 @@ static constexpr auto LOG_OUTPUT_TRUNC = ADD_PREFIX("LOG_OUTPUT_TRUNC"); static constexpr auto CWD = ADD_PREFIX("CWD"); static constexpr auto HOSTS_FILE = ADD_PREFIX("HOSTS_FILE"); static constexpr auto FORWARDING_MAP_FILE = ADD_PREFIX("FORWARDING_MAP_FILE"); #ifdef GKFS_ENABLE_CLIENT_METRICS static constexpr auto METRICS_PATH = ADD_PREFIX("METRICS_PATH"); static constexpr auto METRICS_INTERVAL = ADD_PREFIX("METRICS_INTERVAL"); static constexpr auto ENABLE_METRICS = ADD_PREFIX("ENABLE_METRICS"); #endif static constexpr auto NUM_REPL = ADD_PREFIX("NUM_REPL"); } // namespace gkfs::env Loading include/client/preload_context.hpp +12 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include <hermes.hpp> #include <map> #include <mercury.h> #include <common/msgpack_util.hpp> #include <memory> #include <vector> #include <string> Loading @@ -52,6 +51,11 @@ class Distributor; namespace log { struct logger; } namespace messagepack { class ClientMetrics; } namespace preload { /* Loading Loading @@ -108,8 +112,9 @@ private: std::string hostname; int replicas_; gkfs::messagepack::ClientMetrics write_metrics_{}; gkfs::messagepack::ClientMetrics read_metrics_{}; std::unique_ptr<gkfs::messagepack::ClientMetrics> write_metrics_; std::unique_ptr<gkfs::messagepack::ClientMetrics> read_metrics_; public: static PreloadContext* Loading @@ -123,6 +128,8 @@ public: void operator=(PreloadContext const&) = delete; ~PreloadContext(); void init_logging(); Loading Loading @@ -228,10 +235,10 @@ public: int get_replicas(); messagepack::ClientMetrics& gkfs::messagepack::ClientMetrics& write_metrics(); messagepack::ClientMetrics& gkfs::messagepack::ClientMetrics& read_metrics(); }; Loading include/common/msgpack_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ public: // public: ClientMetrics(); ~ClientMetrics() = default; void add_event(size_t size, std::chrono::time_point<std::chrono::system_clock> start); Loading Loading
CMake/gkfs-options.cmake +9 −0 Original line number Diff line number Diff line Loading @@ -356,4 +356,13 @@ gkfs_define_option( DESCRIPTION "If GKFS_ENABLE_FORWARDING is ON, use AGIOS for scheduling I/Os" ) ################################################################################ # MSGPack client metrics ################################################################################ gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE OFF DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file
CMakeLists.txt +5 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,11 @@ 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) Loading
include/client/env.hpp +5 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,11 @@ static constexpr auto LOG_OUTPUT_TRUNC = ADD_PREFIX("LOG_OUTPUT_TRUNC"); static constexpr auto CWD = ADD_PREFIX("CWD"); static constexpr auto HOSTS_FILE = ADD_PREFIX("HOSTS_FILE"); static constexpr auto FORWARDING_MAP_FILE = ADD_PREFIX("FORWARDING_MAP_FILE"); #ifdef GKFS_ENABLE_CLIENT_METRICS static constexpr auto METRICS_PATH = ADD_PREFIX("METRICS_PATH"); static constexpr auto METRICS_INTERVAL = ADD_PREFIX("METRICS_INTERVAL"); static constexpr auto ENABLE_METRICS = ADD_PREFIX("ENABLE_METRICS"); #endif static constexpr auto NUM_REPL = ADD_PREFIX("NUM_REPL"); } // namespace gkfs::env Loading
include/client/preload_context.hpp +12 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include <hermes.hpp> #include <map> #include <mercury.h> #include <common/msgpack_util.hpp> #include <memory> #include <vector> #include <string> Loading @@ -52,6 +51,11 @@ class Distributor; namespace log { struct logger; } namespace messagepack { class ClientMetrics; } namespace preload { /* Loading Loading @@ -108,8 +112,9 @@ private: std::string hostname; int replicas_; gkfs::messagepack::ClientMetrics write_metrics_{}; gkfs::messagepack::ClientMetrics read_metrics_{}; std::unique_ptr<gkfs::messagepack::ClientMetrics> write_metrics_; std::unique_ptr<gkfs::messagepack::ClientMetrics> read_metrics_; public: static PreloadContext* Loading @@ -123,6 +128,8 @@ public: void operator=(PreloadContext const&) = delete; ~PreloadContext(); void init_logging(); Loading Loading @@ -228,10 +235,10 @@ public: int get_replicas(); messagepack::ClientMetrics& gkfs::messagepack::ClientMetrics& write_metrics(); messagepack::ClientMetrics& gkfs::messagepack::ClientMetrics& read_metrics(); }; Loading
include/common/msgpack_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ public: // public: ClientMetrics(); ~ClientMetrics() = default; void add_event(size_t size, std::chrono::time_point<std::chrono::system_clock> start); Loading