Loading CMake/FindExtrae.cmake 0 → 100644 +67 −0 Original line number Diff line number Diff line # Try to find Extrae headers and library. # # Usage of this module as follows: # # find_package(Extrae) # # Variables used by this module, they can change the default behaviour and need # to be set before calling find_package: # # Variables defined by this module: # # EXTRAE_FOUND System has Extrae library/headers. # EXTRAE_LIBRARIES The Extrae library. # EXTRAE_INCLUDE_DIRS The location of Extrae headers. find_path(EXTRAE_INCLUDE_DIR NAMES "extrae.h" HINTS "$ENV{EXTRAE_HOME}/include" ) find_library(EXTRAE_LIBRARY NAMES "pttrace" HINTS "$ENV{EXTRAE_HOME}/lib" ) if(EXTRAE_INCLUDE_DIR AND EXISTS "${EXTRAE_INCLUDE_DIR}/extrae_version.h") file(READ "${EXTRAE_INCLUDE_DIR}/extrae_version.h" EXTRAE_VERSION_HEADER) string(REGEX MATCH "#define EXTRAE_MAJOR ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MAJOR ${CMAKE_MATCH_1}) string(REGEX MATCH "#define EXTRAE_MINOR ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MINOR ${CMAKE_MATCH_1}) string(REGEX MATCH "#define EXTRAE_MICRO ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MICRO ${CMAKE_MATCH_1}) set(EXTRAE_VERSION_STRING "${EXTRAE_VERSION_MAJOR}.${EXTRAE_VERSION_MINOR}.${EXTRAE_VERSION_MICRO}") endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args( Extrae REQUIRED_VARS EXTRAE_LIBRARY EXTRAE_INCLUDE_DIR VERSION_VAR EXTRAE_VERSION_STRING ) mark_as_advanced( EXTRAE_LIBRARY EXTRAE_INCLUDE_DIR ) set(EXTRAE_INCLUDE_DIRS ${EXTRAE_INCLUDE_DIR}) set(EXTRAE_LIBRARIES ${EXTRAE_LIBRARY}) if(Extrae_FOUND) add_library(Extrae::Extrae INTERFACE IMPORTED) set_target_properties(Extrae::Extrae PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${EXTRAE_INCLUDE_DIRS}" ) target_link_libraries(Extrae::Extrae INTERFACE ${EXTRAE_LIBRARIES} ) endif() No newline at end of file CMakeLists.txt +8 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,14 @@ find_package(Abt REQUIRED) find_package(Margo REQUIRED) find_package(Syscall_intercept REQUIRED) option(USE_EXTRAE "Use extrae instrumentation library" OFF) if(USE_EXTRAE) find_package(Extrae REQUIRED) add_definitions(-DGKFS_USE_EXTRAE) endif(USE_EXTRAE) # boost dependencies, system is required for filesystem find_package(Boost 1.53 REQUIRED COMPONENTS Loading include/global/tracing.hpp 0 → 100644 +41 −0 Original line number Diff line number Diff line #ifndef GKFS_TRACING_HPP #define GKFS_TRACING_HPP #ifdef GKFS_USE_EXTRAE #include <extrae.h> #include <dlfcn.h> #include <stdexcept> #include <string> #endif #ifdef GKFS_USE_EXTRAE #define TRACE_FUNC_START() \ Extrae_user_function(1); #else #define TRACE_FUNC_START() \ do { } while(0); #endif // GKFS_USE_EXTRAE #ifdef GKFS_USE_EXTRAE #define TRACE_FUNC_STOP() \ Extrae_user_function(0); #else #define TRACE_FUNC_STOP() \ do { } while(0); #endif // GKFS_USE_EXTRAE #ifdef GKFS_USE_EXTRAE namespace gkfs { namespace trace { void init(); }} #endif #endif // GKFS_EXTRAE_HPP src/client/CMakeLists.txt +7 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,13 @@ set(PRELOAD_HEADERS add_library(gkfs_intercept SHARED ${PRELOAD_SRC} ${PRELOAD_HEADERS}) if(USE_EXTRAE) target_link_libraries(gkfs_intercept dl Extrae::Extrae ) endif(USE_EXTRAE) target_link_libraries(gkfs_intercept # internal metadata Loading @@ -66,4 +73,3 @@ install(TARGETS gkfs_intercept ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs ) src/daemon/CMakeLists.txt +10 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ set(DAEMON_SRC ../global/rpc/rpc_utils.cpp ../global/global_func.cpp ../global/path_util.cpp ../global/tracing.cpp main.cpp ops/metadentry.cpp classes/fs_data.cpp Loading @@ -21,13 +22,22 @@ set(DAEMON_HEADERS ../../include/global/rpc/rpc_types.hpp ../../include/global/rpc/rpc_utils.hpp ../../include/global/path_util.hpp ../../include/global/tracing.hpp ../../include/daemon/main.hpp ../../include/daemon/ops/metadentry.hpp ../../include/daemon/classes/fs_data.hpp ../../include/daemon/classes/rpc_data.hpp ../../include/daemon/handler/rpc_defs.hpp ) add_executable(gkfs_daemon ${DAEMON_SRC} ${DAEMON_HEADERS}) if(USE_EXTRAE) target_link_libraries(gkfs_daemon dl Extrae::Extrae) endif(USE_EXTRAE) target_link_libraries(gkfs_daemon # internal libs metadata Loading Loading
CMake/FindExtrae.cmake 0 → 100644 +67 −0 Original line number Diff line number Diff line # Try to find Extrae headers and library. # # Usage of this module as follows: # # find_package(Extrae) # # Variables used by this module, they can change the default behaviour and need # to be set before calling find_package: # # Variables defined by this module: # # EXTRAE_FOUND System has Extrae library/headers. # EXTRAE_LIBRARIES The Extrae library. # EXTRAE_INCLUDE_DIRS The location of Extrae headers. find_path(EXTRAE_INCLUDE_DIR NAMES "extrae.h" HINTS "$ENV{EXTRAE_HOME}/include" ) find_library(EXTRAE_LIBRARY NAMES "pttrace" HINTS "$ENV{EXTRAE_HOME}/lib" ) if(EXTRAE_INCLUDE_DIR AND EXISTS "${EXTRAE_INCLUDE_DIR}/extrae_version.h") file(READ "${EXTRAE_INCLUDE_DIR}/extrae_version.h" EXTRAE_VERSION_HEADER) string(REGEX MATCH "#define EXTRAE_MAJOR ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MAJOR ${CMAKE_MATCH_1}) string(REGEX MATCH "#define EXTRAE_MINOR ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MINOR ${CMAKE_MATCH_1}) string(REGEX MATCH "#define EXTRAE_MICRO ([0-9]+)" _ ${EXTRAE_VERSION_HEADER}) set(EXTRAE_VERSION_MICRO ${CMAKE_MATCH_1}) set(EXTRAE_VERSION_STRING "${EXTRAE_VERSION_MAJOR}.${EXTRAE_VERSION_MINOR}.${EXTRAE_VERSION_MICRO}") endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args( Extrae REQUIRED_VARS EXTRAE_LIBRARY EXTRAE_INCLUDE_DIR VERSION_VAR EXTRAE_VERSION_STRING ) mark_as_advanced( EXTRAE_LIBRARY EXTRAE_INCLUDE_DIR ) set(EXTRAE_INCLUDE_DIRS ${EXTRAE_INCLUDE_DIR}) set(EXTRAE_LIBRARIES ${EXTRAE_LIBRARY}) if(Extrae_FOUND) add_library(Extrae::Extrae INTERFACE IMPORTED) set_target_properties(Extrae::Extrae PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${EXTRAE_INCLUDE_DIRS}" ) target_link_libraries(Extrae::Extrae INTERFACE ${EXTRAE_LIBRARIES} ) endif() No newline at end of file
CMakeLists.txt +8 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,14 @@ find_package(Abt REQUIRED) find_package(Margo REQUIRED) find_package(Syscall_intercept REQUIRED) option(USE_EXTRAE "Use extrae instrumentation library" OFF) if(USE_EXTRAE) find_package(Extrae REQUIRED) add_definitions(-DGKFS_USE_EXTRAE) endif(USE_EXTRAE) # boost dependencies, system is required for filesystem find_package(Boost 1.53 REQUIRED COMPONENTS Loading
include/global/tracing.hpp 0 → 100644 +41 −0 Original line number Diff line number Diff line #ifndef GKFS_TRACING_HPP #define GKFS_TRACING_HPP #ifdef GKFS_USE_EXTRAE #include <extrae.h> #include <dlfcn.h> #include <stdexcept> #include <string> #endif #ifdef GKFS_USE_EXTRAE #define TRACE_FUNC_START() \ Extrae_user_function(1); #else #define TRACE_FUNC_START() \ do { } while(0); #endif // GKFS_USE_EXTRAE #ifdef GKFS_USE_EXTRAE #define TRACE_FUNC_STOP() \ Extrae_user_function(0); #else #define TRACE_FUNC_STOP() \ do { } while(0); #endif // GKFS_USE_EXTRAE #ifdef GKFS_USE_EXTRAE namespace gkfs { namespace trace { void init(); }} #endif #endif // GKFS_EXTRAE_HPP
src/client/CMakeLists.txt +7 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,13 @@ set(PRELOAD_HEADERS add_library(gkfs_intercept SHARED ${PRELOAD_SRC} ${PRELOAD_HEADERS}) if(USE_EXTRAE) target_link_libraries(gkfs_intercept dl Extrae::Extrae ) endif(USE_EXTRAE) target_link_libraries(gkfs_intercept # internal metadata Loading @@ -66,4 +73,3 @@ install(TARGETS gkfs_intercept ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs )
src/daemon/CMakeLists.txt +10 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ set(DAEMON_SRC ../global/rpc/rpc_utils.cpp ../global/global_func.cpp ../global/path_util.cpp ../global/tracing.cpp main.cpp ops/metadentry.cpp classes/fs_data.cpp Loading @@ -21,13 +22,22 @@ set(DAEMON_HEADERS ../../include/global/rpc/rpc_types.hpp ../../include/global/rpc/rpc_utils.hpp ../../include/global/path_util.hpp ../../include/global/tracing.hpp ../../include/daemon/main.hpp ../../include/daemon/ops/metadentry.hpp ../../include/daemon/classes/fs_data.hpp ../../include/daemon/classes/rpc_data.hpp ../../include/daemon/handler/rpc_defs.hpp ) add_executable(gkfs_daemon ${DAEMON_SRC} ${DAEMON_HEADERS}) if(USE_EXTRAE) target_link_libraries(gkfs_daemon dl Extrae::Extrae) endif(USE_EXTRAE) target_link_libraries(gkfs_daemon # internal libs metadata Loading