diff --git a/.gitignore b/.gitignore index d14861d3..cf7edf13 100755 --- a/.gitignore +++ b/.gitignore @@ -74,4 +74,7 @@ dlio_env data/file_0_0.dat *.csv *.pfw* -poc/bpf-core/vmlinux.h \ No newline at end of file +poc/bpf-core/vmlinux.h + +#nfs +*.nfs* \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index d8253652..938e325b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -722,6 +722,10 @@ add_test(NAME datacrumbs_start COMMAND ${CMAKE_BINARY_DIR}/bin/datacrumbs start set_tests_properties(datacrumbs_start PROPERTIES DEPENDS datacrumbs_pretest) set_tests_properties(datacrumbs_start PROPERTIES DEPENDS ${PROJECT_NAME}) +add_test(NAME datacrumbs_run COMMAND ${CMAKE_BINARY_DIR}/bin/datacrumbs run ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) +set_tests_properties(datacrumbs_run PROPERTIES DEPENDS datacrumbs_pretest) +set_tests_properties(datacrumbs_run PROPERTIES DEPENDS ${PROJECT_NAME}) + add_test(NAME datacrumbs_stop COMMAND ${CMAKE_BINARY_DIR}/bin/datacrumbs stop ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) set_tests_properties(datacrumbs_stop PROPERTIES DEPENDS datacrumbs_pretest) set_tests_properties(datacrumbs_stop PROPERTIES DEPENDS ${PROJECT_NAME}) diff --git a/docs/build.rst b/docs/build.rst new file mode 100644 index 00000000..632174af --- /dev/null +++ b/docs/build.rst @@ -0,0 +1,211 @@ +.. _build_instructions: + +Build Instructions +================== + +This guide describes how to build and install all dependencies required for `datacrumbs`, including `bpftool` (tag v7.5.0), with all components installed under a custom prefix directory. + +Prerequisites +------------- + +- Git +- CMake +- GCC or Clang +- Python (for Sphinx documentation) +- Spack (recommended for dependency management) + +Set the installation prefix: + +.. code-block:: bash + + export PREFIX=/your/custom/prefix + +1. Build and Install Dependencies for datacrumbs +----------------------------------------------- + +The following dependencies are required for building `datacrumbs`: + +- bpftool (v7.5.0) and libbpf (v1.5.0) +- json-c +- yaml-cpp +- llvm +- (Optional) bpftime for user-space + +**bpftool (v7.5.0) and libbpf (v1.5.0):** + +.. code-block:: bash + + git clone https://github.com/libbpf/bpftool.git + pushd bpftool + git checkout tags/v7.5.0 -b v7.5.0 + git submodule update --init --recursive + pushd libbpf + git checkout tags/v1.5.0 -b v1.5.0 + cd src + DESTDIR=$PREFIX make install -j + popd + cd src + DESTDIR=$PREFIX make install -j + popd + pushd $PREFIX + bpf_header=$(find . -name bpf.h | head -n 1) + bpf_header=$(readlink -f $bpf_header) + bpf_install_dir=$(dirname $(dirname $(dirname $bpf_header))) + if [ "$bpf_install_dir" != "$PREFIX" ]; then + mv $bpf_install_dir/include $PREFIX + mv $bpf_install_dir/lib* $PREFIX + fi + + bpftool=$(find . -name bpftool | head -n 1) + bpftool_install_dir=$(dirname $(dirname $bpftool)) + if [ "$bpftool_install_dir" != "$PREFIX" ]; then + mv $bpftool_install_dir/sbin $PREFIX + mv $bpftool_install_dir/share $PREFIX + fi + popd + echo "Checking installed files under \$PREFIX:" + echo "bpf.h:" + find $PREFIX -name bpf.h + + echo "libbpf.so:" + find $PREFIX -name libbpf.so + + echo "libbpf.pc:" + find $PREFIX -name libbpf.pc + + echo "bpftool:" + find $PREFIX -name bpftool + +Expected Output (with PREFIX=/home/haridev/temp/install) +-------------------------------------------------------- + +After running the above commands, you should see output similar to: + +bpf.h: + /home/haridev/temp/install/include/bpf/bpf.h + +libbpf.so: + /home/haridev/temp/install/lib/libbpf.so + +libbpf.pc: + /home/haridev/temp/install/lib/pkgconfig/libbpf.pc + +bpftool: + /home/haridev/temp/install/sbin/bpftool + + This confirms that bpftool and libbpf have been installed under your custom prefix directory. + +**Clone datacrumbs:** + +.. code-block:: bash + + git clone https://github.com/eunomia-bpf/datacrumbs.git + export DATACRUMBS_DIR=$(realpath datacrumbs) + +**(Optional) bpftime for User-space:** + +.. code-block:: bash + + git clone https://github.com/eunomia-bpf/bpftime.git + pushd bpftime + git checkout tags/v0.2.0 -b v0.2.0 + git apply $DATACRUMBS_DIR/docs/patch/bpftime-v0.2.0.patch + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. + make + make install + popd + + + +1. Install Remaining Dependencies: json-c, yaml-cpp, llvm +--------------------------------------------------------- + +**Recommended: Use Spack** + +.. code-block:: bash + + git clone https://github.com/spack/spack.git + . spack/share/spack/setup-env.sh + spack install json-c cppyaml llvm + +**If Spack is not available:** + +- **LLVM:** Install via your package manager + + - Fedora/RHEL: + .. code-block:: bash + + sudo dnf install llvm-devel + + - Ubuntu/Debian: + .. code-block:: bash + + sudo apt-get install llvm-dev + +- **json-c:** Build from source + + .. code-block:: bash + + git clone https://github.com/json-c/json-c.git + pushd json-c + git checkout tags/json-c-0.18-20240915 -b json-c-0.18-20240915 + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. + make -j + make install -j + popd + +- **yaml-cpp:** Build from source + + .. code-block:: bash + + git clone https://github.com/jbeder/yaml-cpp.git + pushd yaml-cpp + git checkout tags/yaml-cpp-0.7.0 -b yaml-cpp-0.7.0 + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. + make -j + make install -j + popd + +2. Build and Install datacrumbs +--------------------------------- +With all dependencies installed under your custom prefix directory, you can now build and install `datacrumbs`: + +Create a probe YAML for the system: + +.. code-block:: bash + + cp $DATACRUMBS_DIR/docs/example/example.yaml $DATACRUMBS_DIR/etc/datacrumbs/configs/probe.yaml + # Edit the probe.yaml as needed + +Set CMake arguments: + +.. code-block:: bash + + cmake_args=( + -DCMAKE_PREFIX_PATH=$PREFIX + -DCMAKE_INSTALL_PREFIX=$PREFIX + -DBPFTOOL_EXECUTABLE=$PREFIX/sbin/bpftool + -DDATACRUMBS_HOST=$(hostname) + -DDATACRUMBS_USER=${USER} + ) + +If you want to use a custom host name or user, set them explicitly: + +.. code-block:: bash + + # cmake_args+=(-DDATACRUMBS_HOST=) + # cmake_args+=(-DDATACRUMBS_USER=) + +Build and install datacrumbs: + +.. code-block:: bash + + export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/lib64/pkgconfig:$PKG_CONFIG_PATH + pushd $DATACRUMBS_DIR + mkdir -p build && cd build + cmake "${cmake_args[@]}" .. + make -j + popd diff --git a/docs/example/example.yaml b/docs/example/example.yaml new file mode 100755 index 00000000..c90df2a5 --- /dev/null +++ b/docs/example/example.yaml @@ -0,0 +1,8 @@ +name: example +capture_probes: + - name: libc + probe: uprobe + type: binary + file: /usr/lib64/libc.so.6 + regex: (?!.*_)(?!.*cold)(?!.*time)(?!.*grant)(?!.*poll)(?!.*signal)(?!.*harm)(?!.*hasm).* +profiling_interval: 0.0001 \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index b895c8b2..e6f8ff48 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -12,6 +12,8 @@ DFTracer: is a library for profiling I/O calls and application functions. :caption: User Guide overview + build + run ================== diff --git a/docs/orangefs.rst b/docs/orangefs.rst new file mode 100644 index 00000000..e69de29b diff --git a/docs/patch/bpftime-v0.2.0.patch b/docs/patch/bpftime-v0.2.0.patch new file mode 100644 index 00000000..d16dfe98 --- /dev/null +++ b/docs/patch/bpftime-v0.2.0.patch @@ -0,0 +1,269 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a36fe07..373a2b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -231,7 +231,7 @@ if(${BPFTIME_BUILD_STATIC_LIB}) + ) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libbpftime.a +- DESTINATION ~/.bpftime ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + ) + endif() + +@@ -253,12 +253,12 @@ endif() + + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + +-set(DEST_DIR "$ENV{HOME}/.bpftime") ++set(DEST_DIR "${CMAKE_INSTALL_PREFIX}") + + if(${BPFTIME_BUILD_WITH_LIBBPF}) +- install(TARGETS bpftime-agent bpftime_text_segment_transformer bpftime-syscall-server CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${DEST_DIR}) ++ install(TARGETS bpftime-agent bpftime_text_segment_transformer bpftime-syscall-server CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${DEST_DIR}/lib) + else() +- install(TARGETS bpftime-agent bpftime-syscall-server CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${DEST_DIR}) ++ install(TARGETS bpftime-agent bpftime-syscall-server CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${DEST_DIR}/lib) + endif() + + # add_subdirectory(./example/mix-schedule-mnist/cpu) +diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt +index 1ba02cc..fb5fab2 100644 +--- a/daemon/CMakeLists.txt ++++ b/daemon/CMakeLists.txt +@@ -66,7 +66,7 @@ set_property(TARGET libbpftime_daemon PROPERTY CXX_STANDARD 20) + add_dependencies(bpftime_daemon libbpftime_daemon) + target_link_libraries(bpftime_daemon PRIVATE libbpftime_daemon) + +-install(TARGETS bpftime_daemon CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ~/.bpftime) ++install(TARGETS bpftime_daemon CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) + + if(BPFTIME_ENABLE_UNIT_TESTING) + add_subdirectory(test) +diff --git a/runtime/agent/CMakeLists.txt b/runtime/agent/CMakeLists.txt +index 27ae066..7a54834 100644 +--- a/runtime/agent/CMakeLists.txt ++++ b/runtime/agent/CMakeLists.txt +@@ -2,7 +2,7 @@ add_library(bpftime-agent SHARED + agent.cpp + ) + +- ++set(EXTRA_LINK_LIBS -static-libstdc++) + if(${BPFTIME_BUILD_WITH_LIBBPF}) + add_dependencies(bpftime-agent FridaGum spdlog::spdlog bpftime_frida_uprobe_attach_impl bpftime_syscall_trace_attach_impl) + else() +@@ -40,7 +40,7 @@ if(${BPFTIME_ENABLE_CUDA_ATTACH}) + target_link_options(bpftime-agent PUBLIC "-Wl,--whole-archive" "$" "$" "$" "$" "-Wl,--no-whole-archive") + target_link_libraries(bpftime-agent PUBLIC bpftime_nv_attach_impl) + target_include_directories(bpftime-agent PUBLIC ${NV_ATTACH_IMPL_INCLUDE}) +- set(EXTRA_LINK_LIBS bpftime_llvm_vm ++ set(EXTRA_LINK_LIBS ${EXTRA_LINK_LIBS} bpftime_llvm_vm + bpftime_vm + llvmbpf_vm) + endif() +diff --git a/runtime/include/bpftime_config.hpp b/runtime/include/bpftime_config.hpp +index 8032193..8cd5118 100644 +--- a/runtime/include/bpftime_config.hpp ++++ b/runtime/include/bpftime_config.hpp +@@ -4,19 +4,20 @@ + #include + #include + #include ++#include "spdlog/spdlog.h" + #include + #include + #include + + #ifndef DEFAULT_LOGGER_OUTPUT_PATH +-#define DEFAULT_LOGGER_OUTPUT_PATH "~/.bpftime/runtime.log" ++#define DEFAULT_LOGGER_OUTPUT_PATH "/usr/workspace/dldl/bpftime.log" + #endif + + #ifndef DEFAULT_VM_NAME + #define DEFAULT_VM_NAME "llvm" + #endif + +-#define LOG_PATH_MAX_LEN 1024 ++#define LOG_PATH_MAX_LEN 16*1024 + #define VM_NAME_MAX_LEN 128 + + // Default and limits for file descriptor count +@@ -72,6 +73,7 @@ struct agent_config { + + const char *get_logger_output_path() const + { ++ SPDLOG_INFO("logger_output_path: {}", logger_output_path); + return logger_output_path; + } + void set_logger_output_path(const char *path) +diff --git a/runtime/include/bpftime_logger.hpp b/runtime/include/bpftime_logger.hpp +index 6e1480e..69c5040 100644 +--- a/runtime/include/bpftime_logger.hpp ++++ b/runtime/include/bpftime_logger.hpp +@@ -40,7 +40,9 @@ inline std::string expand_user_path(const std::string &input_path) + inline void bpftime_set_logger(const std::string &target) noexcept + { + std::string logger_target = expand_user_path(target); +- spdlog::drop_all(); ++ SPDLOG_INFO("Initialize logger start"); ++ // spdlog::drop_all(); ++ SPDLOG_INFO("Initialize logger drop"); + if (logger_target == "console") { + // Set logger to stderr + auto logger = spdlog::stderr_color_mt("stderr"); +@@ -58,8 +60,10 @@ inline void bpftime_set_logger(const std::string &target) noexcept + spdlog::set_default_logger(logger); + } + ++ SPDLOG_INFO("Initialize logger"); + // Load log level from environment + spdlog::cfg::load_env_levels(); ++ SPDLOG_INFO("Initialize logger Levels"); + } + + /* +diff --git a/runtime/include/bpftime_shm.hpp b/runtime/include/bpftime_shm.hpp +index 1ff769c..8c45f10 100644 +--- a/runtime/include/bpftime_shm.hpp ++++ b/runtime/include/bpftime_shm.hpp +@@ -16,6 +16,7 @@ + #elif __APPLE__ + #include "bpftime_epoll.h" + #endif ++#include + + extern "C" { + struct ebpf_inst; +diff --git a/runtime/src/bpf_helper.cpp b/runtime/src/bpf_helper.cpp +index cb7693f..be1f313 100644 +--- a/runtime/src/bpf_helper.cpp ++++ b/runtime/src/bpf_helper.cpp +@@ -22,7 +22,13 @@ + #ifdef ENABLE_BPFTIME_VERIFIER + #include "bpftime-verifier.hpp" + #endif ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++ ++#include + ++#define gettid() syscall(SYS_gettid) + #include "platform_utils.hpp" + #include "spdlog/spdlog.h" + #include +diff --git a/runtime/src/bpf_map/userspace/ringbuf_map.cpp b/runtime/src/bpf_map/userspace/ringbuf_map.cpp +index 94f19bb..1700381 100644 +--- a/runtime/src/bpf_map/userspace/ringbuf_map.cpp ++++ b/runtime/src/bpf_map/userspace/ringbuf_map.cpp +@@ -16,6 +16,7 @@ + #if __APPLE__ + #include "bpftime_epoll.h" + #endif ++#include + + enum { + BPF_RINGBUF_BUSY_BIT = 2147483648, +diff --git a/runtime/src/bpftime_config.cpp b/runtime/src/bpftime_config.cpp +index a46e326..22d43e0 100644 +--- a/runtime/src/bpftime_config.cpp ++++ b/runtime/src/bpftime_config.cpp +@@ -98,21 +98,25 @@ agent_config bpftime::construct_agent_config_from_env() noexcept + auto helpers_sv = std::string_view(custom_helpers); + process_helper_sv(helpers_sv, ',', agent_config); + } else { ++ SPDLOG_INFO("Using custom_helpers: {}", true); + agent_config.enable_kernel_helper_group = + agent_config.enable_shm_maps_helper_group = + agent_config.enable_ufunc_helper_group = true; + } + + if (getenv("BPFTIME_DISABLE_JIT") != nullptr) { ++ SPDLOG_INFO("Using jit_enabled: {}", false); + agent_config.jit_enabled = false; + } + + if (getenv("BPFTIME_ALLOW_EXTERNAL_MAPS") != nullptr) { ++ SPDLOG_INFO("Using allow_non_buildin_map_types: {}", true); + agent_config.allow_non_buildin_map_types = true; + } + + // Parse shared memory size with validation (1MB min, 10GB max) + if (auto shm_size = parse_numeric_env("BPFTIME_SHM_MEMORY_MB", 1, 10240)) { ++ SPDLOG_INFO("Using shm_memory_size: {}", *shm_size); + agent_config.shm_memory_size = *shm_size; + } + +@@ -120,6 +124,7 @@ agent_config bpftime::construct_agent_config_from_env() noexcept + if (auto max_fd = parse_numeric_env("BPFTIME_MAX_FD_COUNT", + MIN_MAX_FD_COUNT, + MAX_MAX_FD_COUNT)) { ++ SPDLOG_INFO("Using max_fd_count: {}", *max_fd); + agent_config.max_fd_count = *max_fd; + } + +@@ -132,6 +137,7 @@ agent_config bpftime::construct_agent_config_from_env() noexcept + + const char *logger_target = std::getenv("BPFTIME_LOG_OUTPUT"); + if (logger_target != nullptr) { ++ SPDLOG_INFO("Using logger_target: {}", logger_target); + agent_config.set_logger_output_path(logger_target); + } + return agent_config; +diff --git a/runtime/syscall-server/CMakeLists.txt b/runtime/syscall-server/CMakeLists.txt +index 20ac675..3dc1a07 100644 +--- a/runtime/syscall-server/CMakeLists.txt ++++ b/runtime/syscall-server/CMakeLists.txt +@@ -29,7 +29,8 @@ target_link_libraries(bpftime-syscall-server PUBLIC + -lpthread + -lm + -ldl +- spdlog::spdlog) ++ spdlog::spdlog ++ -static-libstdc++) + + add_dependencies(bpftime-syscall-server spdlog::spdlog) + +diff --git a/runtime/syscall-server/syscall_server_utils.cpp b/runtime/syscall-server/syscall_server_utils.cpp +index 0699e72..cfaf10e 100644 +--- a/runtime/syscall-server/syscall_server_utils.cpp ++++ b/runtime/syscall-server/syscall_server_utils.cpp +@@ -43,6 +43,7 @@ void start_up(syscall_context &ctx) + SPDLOG_INFO("Starting syscall server.."); + already_setup = true; + auto agent_config = construct_agent_config_from_env(); ++ SPDLOG_INFO("Initialize syscall server agent_config done"); + bpftime_set_logger(std::string(agent_config.get_logger_output_path())); + SPDLOG_INFO("Initialize syscall server"); + +diff --git a/tools/aot/CMakeLists.txt b/tools/aot/CMakeLists.txt +index 66be305..cf7c50c 100644 +--- a/tools/aot/CMakeLists.txt ++++ b/tools/aot/CMakeLists.txt +@@ -21,4 +21,4 @@ target_compile_definitions(bpftime-aot-cli PRIVATE _GNU_SOURCE) + + add_dependencies(bpftime-aot-cli spdlog::spdlog argparse bpftime_vm_compat bpftime_llvm_vm libbpf) + +-install(TARGETS bpftime-aot-cli CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ~/.bpftime) ++install(TARGETS bpftime-aot-cli CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) +diff --git a/tools/bpftimetool/CMakeLists.txt b/tools/bpftimetool/CMakeLists.txt +index 4d67c56..1920c37 100644 +--- a/tools/bpftimetool/CMakeLists.txt ++++ b/tools/bpftimetool/CMakeLists.txt +@@ -38,4 +38,4 @@ else() + ) + endif() + +-install(TARGETS bpftimetool CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ~/.bpftime) ++install(TARGETS bpftimetool CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) +diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt +index eb9c5f8..bac265f 100644 +--- a/tools/cli/CMakeLists.txt ++++ b/tools/cli/CMakeLists.txt +@@ -24,4 +24,4 @@ target_compile_definitions(bpftime-cli-cpp PRIVATE _GNU_SOURCE) + + add_dependencies(bpftime-cli-cpp spdlog::spdlog FridaCore argparse spdlog runtime bpftime_vm bpftime_vm_compat) + +-install(TARGETS bpftime-cli-cpp CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ~/.bpftime) ++install(TARGETS bpftime-cli-cpp CONFIGURATIONS Release Debug RelWithDebInfo DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) diff --git a/docs/run.rst b/docs/run.rst new file mode 100644 index 00000000..e6b2a2b7 --- /dev/null +++ b/docs/run.rst @@ -0,0 +1,42 @@ +Run Datacrumbs +============== + +To run Datacrumbs tests, follow these instructions: + +1. **Navigate to the build directory:** + + .. code-block:: bash + + cd $DATACRUMBS_DIR/build + +2. **List all available tests:** + + .. code-block:: bash + + ctest -N + +3. **View arguments for the Datacrumbs start test which is Daemonize script:** + + .. code-block:: bash + + ctest -R datacrumbs_start -VV + + This will show verbose output and the arguments used for the `datacrumbs_start` test. + +4. **View arguments for the Datacrumbs run test which is sync script:** + + .. code-block:: bash + + ctest -R datacrumbs_run -VV + + This will show verbose output and the arguments used for the `datacrumbs_run` test. + +Refer to your project's `ctest` configuration for additional test options. + +5. **Run the `test_simple_dd` test:** + + .. code-block:: bash + + ctest -R test_simple_dd -VV + + This will execute the `test_simple_dd` test with verbose output from the build directory. \ No newline at end of file diff --git a/etc/datacrumbs/configs/corona.yaml b/etc/datacrumbs/configs/corona.yaml index 45de322f..d27a87d2 100755 --- a/etc/datacrumbs/configs/corona.yaml +++ b/etc/datacrumbs/configs/corona.yaml @@ -1,11 +1,6 @@ -name: corona -install_dir: /home/haridev/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: sys probe: syscalls type: header file: /usr/src/kernels/4.18.0-553.56.1.1toss.t4.x86_64/include/linux/syscalls.h - regex: sys_.* -profiling_interval: 0.0001 \ No newline at end of file + regex: sys_.* \ No newline at end of file diff --git a/etc/datacrumbs/configs/docker-toss.yaml b/etc/datacrumbs/configs/docker-toss.yaml index f13648cf..7a02260c 100755 --- a/etc/datacrumbs/configs/docker-toss.yaml +++ b/etc/datacrumbs/configs/docker-toss.yaml @@ -1,7 +1,3 @@ -name: lead2 -install_dir: /workspaces/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: custom1 start_event_id: 100000 @@ -32,5 +28,4 @@ capture_probes: - name: iomap probe: kprobe type: ksym - regex: ^iomap(?!.*cold).* -profiling_interval: 0.0001 \ No newline at end of file + regex: ^iomap(?!.*cold).* \ No newline at end of file diff --git a/etc/datacrumbs/configs/docker.yaml b/etc/datacrumbs/configs/docker.yaml index 9576fbf2..1fd04d31 100755 --- a/etc/datacrumbs/configs/docker.yaml +++ b/etc/datacrumbs/configs/docker.yaml @@ -1,7 +1,3 @@ -name: lead2 -install_dir: /workspaces/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: custom1 start_event_id: 100000 @@ -32,5 +28,4 @@ capture_probes: - name: shm probe: kprobe type: header - file: /usr/src/kernels/4.18.0-348.7.1.el8_5.x86_64/include/linux/shmem_fs.h -profiling_interval: 0.0001 \ No newline at end of file + file: /usr/src/kernels/4.18.0-348.7.1.el8_5.x86_64/include/linux/shmem_fs.h \ No newline at end of file diff --git a/etc/datacrumbs/configs/ebpf.yaml b/etc/datacrumbs/configs/ebpf.yaml index f8a09efd..c601fa5e 100755 --- a/etc/datacrumbs/configs/ebpf.yaml +++ b/etc/datacrumbs/configs/ebpf.yaml @@ -1,6 +1,3 @@ -name: ebpf -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: custom1 start_event_id: 100000 @@ -9,5 +6,4 @@ capture_probes: file: /home/cc/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c probes: /home/cc/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/probes.json process_header: /home/cc/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h - event_type: 2 -profiling_interval: 0.0001 \ No newline at end of file + event_type: 2 \ No newline at end of file diff --git a/etc/datacrumbs/configs/hdf.yaml b/etc/datacrumbs/configs/hdf.yaml index 5188b530..a19a34c9 100644 --- a/etc/datacrumbs/configs/hdf.yaml +++ b/etc/datacrumbs/configs/hdf.yaml @@ -1,7 +1,3 @@ -name: lima-ebpfx -install_dir: /home/cc/datacrumbs/install -mode: tracer -trace_file_path: /home/cc/logs/lead2-trace.pfw capture_probes: - name: vol probe: uprobe @@ -62,5 +58,4 @@ capture_probes: # probe: uprobe # type: binary # file: /home/cc/apps/h5bench/bin/h5bench_write - # regex: ^(?!__).* -profiling_interval: 0.0001 \ No newline at end of file + # regex: ^(?!__).* \ No newline at end of file diff --git a/etc/datacrumbs/configs/lead-us.yaml b/etc/datacrumbs/configs/lead-us.yaml index dcc1712d..5f7a83d1 100755 --- a/etc/datacrumbs/configs/lead-us.yaml +++ b/etc/datacrumbs/configs/lead-us.yaml @@ -1,11 +1,6 @@ -name: lead2 -install_dir: /home/haridev/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: libc probe: uprobe type: binary file: /usr/lib64/libc.so.6 - regex: (?!.*_)(?!.*cold)(?!.*time)(?!.*grant)(?!.*poll)(?!.*signal)(?!.*harm)(?!.*hasm).* -profiling_interval: 0.0001 \ No newline at end of file + regex: (?!.*_)(?!.*cold)(?!.*time)(?!.*grant)(?!.*poll)(?!.*signal)(?!.*harm)(?!.*hasm).* \ No newline at end of file diff --git a/etc/datacrumbs/configs/lead.yaml b/etc/datacrumbs/configs/lead.yaml index 5bdc1d74..f9dd0675 100755 --- a/etc/datacrumbs/configs/lead.yaml +++ b/etc/datacrumbs/configs/lead.yaml @@ -1,7 +1,3 @@ -name: lead2 -install_dir: /home/haridev/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: custom1 start_event_id: 100000 @@ -68,5 +64,4 @@ capture_probes: - name: ior probe: uprobe type: binary - file: /home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior -profiling_interval: 0.0001 \ No newline at end of file + file: /home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/ares.yaml b/etc/datacrumbs/configs/old/ares.yaml deleted file mode 100755 index e564573f..00000000 --- a/etc/datacrumbs/configs/old/ares.yaml +++ /dev/null @@ -1,51 +0,0 @@ -name: ares -install_dir: /home/${USER}/datacrumbs/install -# mode options: `trace` or `profile` -# currently only `trace` mode -mode: trace -file: /home/${USER}/logs/ares-trace.pfw -# if no headers installed use regex as sys.* -system: - - name: sys - header: /usr/src/linux-headers-5.15.0-142/include/linux/syscalls.h - - name: os_page_cache - header: /usr/src/linux-headers-5.15.0-142/include/linux/pagemap.h - - name: swap - header: /usr/src/linux-headers-5.15.0-142/include/linux/swap.h - - name: vfs - header: /usr/src/linux-headers-5.15.0-142/include/linux/fs.h - - name: bio - regex: bio.* - - name: shm - header: /usr/src/linux-headers-5.15.0-142/include/linux/shmem_fs.h - - name: fscache - header: /usr/src/linux-headers-5.15.0-142/include/linux/fscache.h - - name: mm - header: /usr/src/linux-headers-5.15.0-142/include/linux/mm.h - - name: xfs - regex: xfs.* - # similar for any FS type - # - name: ext4 - # regex: ext4.* - - name: iomap - regex: iomap.* - - name: iov - regex: iov.* -io: - - name: libc - link: /usr/lib/x86_64-linux-gnu/libc.so.6 - # - name: hdf5 - # link: /home/${USER}/datacrumbs/install/lib/libhdf5.so - - name: mpi - link: /mnt/repo/software/spack/spack/opt/spack/linux-ubuntu22.04-skylake_avx512/gcc-11.4.0/openmpi-5.0.5-uo523moga7ogcoyiaxci6lngvdfd3tde/lib/libmpi.so -user: - - name: test_posix - link: /home/${USER}/datacrumbs/install/libexec/datacrumbs/bin/df_tracer_test - regex: ^(?!__).* -profile: - interval_sec: 0.0001 - -trace: - args: 1 - # options: `ring_buffer` or `perf` - type: ring_buffer diff --git a/etc/datacrumbs/configs/old/chameleon.yaml b/etc/datacrumbs/configs/old/chameleon.yaml deleted file mode 100755 index 2b574c3b..00000000 --- a/etc/datacrumbs/configs/old/chameleon.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: chameleon -install_dir: /home/${USER}/datacrumbs/install -# mode options: `trace` or `profile` -# currently only `trace` mode -mode: trace -file: /home/${USER}/logs/chameleon-trace.pfw -# if no headers installed use regex as sys.* -system: - - name: ext4 - regex: ext4.* -io: - - name: libc - link: /usr/lib/x86_64-linux-gnu/libc.so.6 - - name: hdf5 - link: /home/${USER}/datacrumbs/install/lib/libhdf5.so -user: - - name: test_posix - link: /home/${USER}/datacrumbs/install/libexec/datacrumbs/bin/df_tracer_test - regex: ^(?!__).* -profile: - interval_sec: 0.0001 - -trace: - args: 1 - # options: `ring_buffer` or `perf` - type: ring_buffer diff --git a/etc/datacrumbs/configs/old/default.yaml b/etc/datacrumbs/configs/old/default.yaml deleted file mode 100755 index 3e0ca320..00000000 --- a/etc/datacrumbs/configs/old/default.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: default -install_dir: build -mode: trace -file: trace.pfw -user: - - name: app - link: /opt/ior/install/bin/ior - regex: .* - # - name: app2 - # link: /home/cc/datacrumbs/build/tests/df_tracer_test - # regex: .* - # - name: app3 - # link: /opt/ior/install/bin/ior - # regex: .* - - name: mpi - link: /opt/spack/opt/spack/linux-haswell/openmpi-5.0.5-cyoqcxwnzhatvkl44v6axpcamm7clo25/lib/libmpi.so - regex: ^PMPI.* - - name: hdf5 - link: /opt/spack/opt/spack/linux-haswell/hdf5-1.14.5-uue4mohmum6xuuze52b45sqpwcwikccb/lib/libhdf5.so - regex: ^H5.* - -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/ior.yaml b/etc/datacrumbs/configs/old/ior.yaml deleted file mode 100755 index c8486976..00000000 --- a/etc/datacrumbs/configs/old/ior.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: default -install_dir: build -mode: trace -file: trace.pfw -user: - - name: app3 - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/ior-4.0.0-arszr4x4i7xuua4opbyx73oqq7tlzljo/bin/ior - regex: .* - - name: mpi - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/openmpi-5.0.5-jia45w3wv65epg4kwlx4vkqlsdm4acc7/lib/libmpi.so - regex: ^PMPI.* - - name: hdf5 - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/hdf5-1.14.5-gynnpoztefewkn2sfomwzdvpe3okwlaf/lib/libhdf5.so - regex: ^H5.* - -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/ior_mpiio.yaml b/etc/datacrumbs/configs/old/ior_mpiio.yaml deleted file mode 100755 index d6c94d3d..00000000 --- a/etc/datacrumbs/configs/old/ior_mpiio.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: default -install_dir: build -mode: trace -file: trace-mpiio.pfw -user: - - name: ior - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/ior-4.0.0-arszr4x4i7xuua4opbyx73oqq7tlzljo/bin/ior - regex: .* - - name: mpi - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/openmpi-5.0.5-jia45w3wv65epg4kwlx4vkqlsdm4acc7/lib/libmpi.so - regex: ^PMPI.* - -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/lima.yaml b/etc/datacrumbs/configs/old/lima.yaml deleted file mode 100644 index 19d9f42a..00000000 --- a/etc/datacrumbs/configs/old/lima.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: lima -install_dir: /home/lima.linux/datacrumbs/install -mode: trace -file: /home/lima.linux/logs/traceH5D.pfw -# system: -# - name: sys -# header: /usr/src/linux-headers-5.15.0-143/include/linux/syscalls.h -io: - # - name: libc - # link: /usr/lib/x86_64-linux-gnu/libc.so.6 - - name: hdf5 - link: /home/lima.linux/apps/hdf5/lib/libhdf5.so - regex: H5D.* - # - name: h5d - # link: /home/lima.linux/apps/hdf5/lib/libhdf5.so - # regex: H5D.* - # - name: h5f - # link: /home/lima.linux/apps/hdf5/lib/libhdf5.so - # regex: H5F.* -user: - - name: h5bench - link: /home/lima.linux/apps/simple_tests/create_hdf5_c - regex: ^(?!__).* -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer diff --git a/etc/datacrumbs/configs/old/posix.yaml b/etc/datacrumbs/configs/old/posix.yaml deleted file mode 100755 index 1c55b306..00000000 --- a/etc/datacrumbs/configs/old/posix.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: default -install_dir: build -mode: trace -file: trace-posix.pfw -user: - - name: app1 - link: /opt/datacrumbs/build/tests/df_tracer_test - regex: .* - -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer perf \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/stdio.yaml b/etc/datacrumbs/configs/old/stdio.yaml deleted file mode 100755 index ea109c92..00000000 --- a/etc/datacrumbs/configs/old/stdio.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: default -install_dir: build -mode: trace -file: trace-stdio.pfw -user: - - name: app1 - link: /home/cc/datacrumbs/build/tests/df_tracer_test_stdio - regex: .* - - name: mpi - link: /opt/spack/opt/spack/linux-ubuntu22.04-icelake/gcc-11.4.0/openmpi-5.0.5-jia45w3wv65epg4kwlx4vkqlsdm4acc7/lib/libmpi.so - regex: ^PMPI.* - -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer \ No newline at end of file diff --git a/etc/datacrumbs/configs/old/wombat.yaml b/etc/datacrumbs/configs/old/wombat.yaml deleted file mode 100755 index ae2638a1..00000000 --- a/etc/datacrumbs/configs/old/wombat.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: wombat -install_dir: /proj/csc671/proj_shared/datacrumbs/install -mode: trace -file: logs/wombat-trace.pfw -user: - - name: ior - link: /proj/csc671/proj_shared/datacrumbs/install/bin/ior - regex: .* - - name: mpi - link: /autofs/nccs-svm1_wombat_sw/RHEL9.4/spack/opt/spack/linux-rhel9-neoverse_n1/gcc-13.2.0/openmpi-5.0.5-4sftj52a3kir2t6d63yb3ywzoph6xsfw/lib/libmpi.so - regex: ^PMPI.* - - name: hdf5 - link: /proj/csc671/proj_shared/datacrumbs/install/lib/libhdf5.so - regex: ^H5.* -profile: - interval_sec: 0.0001 - -trace: - args: 1 - type: ring_buffer # ring_buffer \ No newline at end of file diff --git a/etc/datacrumbs/configs/tuolumne.yaml b/etc/datacrumbs/configs/tuolumne.yaml index dcc1712d..5f7a83d1 100755 --- a/etc/datacrumbs/configs/tuolumne.yaml +++ b/etc/datacrumbs/configs/tuolumne.yaml @@ -1,11 +1,6 @@ -name: lead2 -install_dir: /home/haridev/datacrumbs/install -mode: tracer -trace_file_path: /scratch/haridev/logs/lead2-trace.pfw capture_probes: - name: libc probe: uprobe type: binary file: /usr/lib64/libc.so.6 - regex: (?!.*_)(?!.*cold)(?!.*time)(?!.*grant)(?!.*poll)(?!.*signal)(?!.*harm)(?!.*hasm).* -profiling_interval: 0.0001 \ No newline at end of file + regex: (?!.*_)(?!.*cold)(?!.*time)(?!.*grant)(?!.*poll)(?!.*signal)(?!.*harm)(?!.*hasm).* \ No newline at end of file diff --git a/etc/datacrumbs/data/categories-haridev-lead-us.json b/etc/datacrumbs/data/categories-haridev-lead-us.json index 957e5444..f5190718 100644 --- a/etc/datacrumbs/data/categories-haridev-lead-us.json +++ b/etc/datacrumbs/data/categories-haridev-lead-us.json @@ -1 +1,3750 @@ -{"1190":{"probe_name":"libc","function_name":"wscanf"},"1189":{"probe_name":"libc","function_name":"writev"},"1188":{"probe_name":"libc","function_name":"write"},"1187":{"probe_name":"libc","function_name":"wprintf"},"1186":{"probe_name":"libc","function_name":"statx"},"1185":{"probe_name":"libc","function_name":"statvfs64"},"1184":{"probe_name":"libc","function_name":"statvfs"},"1183":{"probe_name":"libc","function_name":"statfs64"},"1182":{"probe_name":"libc","function_name":"statfs"},"1181":{"probe_name":"libc","function_name":"stat64"},"1180":{"probe_name":"libc","function_name":"stat"},"1179":{"probe_name":"libc","function_name":"sscanf"},"1178":{"probe_name":"libc","function_name":"sprintf"},"1177":{"probe_name":"libc","function_name":"splice"},"1176":{"probe_name":"libc","function_name":"rmdir"},"1175":{"probe_name":"libc","function_name":"rewinddir"},"1174":{"probe_name":"libc","function_name":"rewind"},"1173":{"probe_name":"libc","function_name":"renameat2"},"1172":{"probe_name":"libc","function_name":"renameat"},"1171":{"probe_name":"libc","function_name":"rename"},"1170":{"probe_name":"libc","function_name":"removexattr"},"1169":{"probe_name":"libc","function_name":"remove"},"1168":{"probe_name":"libc","function_name":"recvmsg"},"1167":{"probe_name":"libc","function_name":"recvmmsg"},"1166":{"probe_name":"libc","function_name":"recvfrom"},"1165":{"probe_name":"libc","function_name":"recv"},"1164":{"probe_name":"libc","function_name":"readv"},"1163":{"probe_name":"libc","function_name":"readunix:0x147810"},"1162":{"probe_name":"libc","function_name":"readunix:0x146e50"},"1161":{"probe_name":"libc","function_name":"readtcp:0x14cc30"},"1160":{"probe_name":"libc","function_name":"readtcp:0x1497e0"},"1159":{"probe_name":"libc","function_name":"readlinkat"},"1158":{"probe_name":"libc","function_name":"readlink"},"1157":{"probe_name":"libc","function_name":"readdir64"},"1156":{"probe_name":"libc","function_name":"readdir"},"1155":{"probe_name":"libc","function_name":"readahead"},"1154":{"probe_name":"libc","function_name":"read"},"1153":{"probe_name":"libc","function_name":"quotactl"},"1152":{"probe_name":"libc","function_name":"pwritev64v2"},"1151":{"probe_name":"libc","function_name":"pwritev64"},"1150":{"probe_name":"libc","function_name":"pwritev2"},"1149":{"probe_name":"libc","function_name":"pwritev"},"1148":{"probe_name":"libc","function_name":"pwrite64"},"1147":{"probe_name":"libc","function_name":"pwrite"},"1146":{"probe_name":"libc","function_name":"putwchar"},"1145":{"probe_name":"libc","function_name":"putwc"},"1144":{"probe_name":"libc","function_name":"putw"},"1143":{"probe_name":"libc","function_name":"puts"},"1142":{"probe_name":"libc","function_name":"putchar"},"1141":{"probe_name":"libc","function_name":"putc"},"1140":{"probe_name":"libc","function_name":"printf"},"1139":{"probe_name":"libc","function_name":"preadv64v2"},"1138":{"probe_name":"libc","function_name":"preadv64"},"1137":{"probe_name":"libc","function_name":"preadv2"},"1136":{"probe_name":"libc","function_name":"preadv"},"1135":{"probe_name":"libc","function_name":"pread64"},"1134":{"probe_name":"libc","function_name":"pread"},"1133":{"probe_name":"libc","function_name":"pipe2"},"1132":{"probe_name":"libc","function_name":"pipe"},"1131":{"probe_name":"libc","function_name":"openlog"},"1130":{"probe_name":"libc","function_name":"opendir"},"1129":{"probe_name":"libc","function_name":"openat64"},"1128":{"probe_name":"libc","function_name":"openat"},"1127":{"probe_name":"libc","function_name":"open64"},"1126":{"probe_name":"libc","function_name":"open"},"1125":{"probe_name":"libc","function_name":"munmap"},"1124":{"probe_name":"libc","function_name":"msync"},"1055":{"probe_name":"libc","function_name":"fstatat"},"1054":{"probe_name":"libc","function_name":"fstat64"},"1053":{"probe_name":"libc","function_name":"fstat"},"1052":{"probe_name":"libc","function_name":"fsetxattr"},"1051":{"probe_name":"libc","function_name":"fseeko64"},"1050":{"probe_name":"libc","function_name":"fseeko"},"1049":{"probe_name":"libc","function_name":"fseek"},"1048":{"probe_name":"libc","function_name":"fscanf"},"1047":{"probe_name":"libc","function_name":"freopen64"},"1046":{"probe_name":"libc","function_name":"freopen"},"1045":{"probe_name":"libc","function_name":"fremovexattr"},"1044":{"probe_name":"libc","function_name":"fread"},"1043":{"probe_name":"libc","function_name":"fputws"},"1042":{"probe_name":"libc","function_name":"fputwc"},"1041":{"probe_name":"libc","function_name":"fputs"},"1040":{"probe_name":"libc","function_name":"fputc"},"1039":{"probe_name":"libc","function_name":"fprintf"},"1038":{"probe_name":"libc","function_name":"fopen64"},"1037":{"probe_name":"libc","function_name":"flock"},"1036":{"probe_name":"libc","function_name":"flistxattr"},"1035":{"probe_name":"libc","function_name":"fileno"},"1034":{"probe_name":"libc","function_name":"fgetxattr"},"1033":{"probe_name":"libc","function_name":"fgetws"},"1032":{"probe_name":"libc","function_name":"fgetwc"},"1031":{"probe_name":"libc","function_name":"fgets"},"1027":{"probe_name":"libc","function_name":"fdatasync"},"1026":{"probe_name":"libc","function_name":"fcntl64"},"1009":{"probe_name":"libc","function_name":"dirfd"},"1008":{"probe_name":"libc","function_name":"creat64"},"1007":{"probe_name":"libc","function_name":"creat"},"1006":{"probe_name":"libc","function_name":"connect"},"1000":{"probe_name":"libc","function_name":"access"},"1005":{"probe_name":"libc","function_name":"closedir"},"1030":{"probe_name":"libc","function_name":"fgetc"},"2":{"probe_name":"DC","function_name":"end"},"1018":{"probe_name":"libc","function_name":"fallocate64"},"1017":{"probe_name":"libc","function_name":"fallocate"},"1029":{"probe_name":"libc","function_name":"fflush"},"1":{"probe_name":"DC","function_name":"start"},"1002":{"probe_name":"libc","function_name":"chmod"},"1004":{"probe_name":"libc","function_name":"close"},"1016":{"probe_name":"libc","function_name":"faccessat"},"1028":{"probe_name":"libc","function_name":"fdopendir"},"0":{"probe_name":"M","function_name":"SH"},"1001":{"probe_name":"libc","function_name":"chdir"},"1003":{"probe_name":"libc","function_name":"chown"},"1015":{"probe_name":"libc","function_name":"eventfd"},"1010":{"probe_name":"libc","function_name":"dup"},"1011":{"probe_name":"libc","function_name":"dup2"},"1012":{"probe_name":"libc","function_name":"dup3"},"1013":{"probe_name":"libc","function_name":"eaccess"},"1014":{"probe_name":"libc","function_name":"euidaccess"},"1019":{"probe_name":"libc","function_name":"fchdir"},"1020":{"probe_name":"libc","function_name":"fchmod"},"1021":{"probe_name":"libc","function_name":"fchmodat"},"1022":{"probe_name":"libc","function_name":"fchown"},"1023":{"probe_name":"libc","function_name":"fchownat"},"1024":{"probe_name":"libc","function_name":"fcloseall"},"1025":{"probe_name":"libc","function_name":"fcntl"},"1056":{"probe_name":"libc","function_name":"fstatat64"},"1057":{"probe_name":"libc","function_name":"fstatfs"},"1058":{"probe_name":"libc","function_name":"fstatfs64"},"1059":{"probe_name":"libc","function_name":"fstatvfs"},"1060":{"probe_name":"libc","function_name":"fstatvfs64"},"1061":{"probe_name":"libc","function_name":"fsync"},"1062":{"probe_name":"libc","function_name":"ftell"},"1063":{"probe_name":"libc","function_name":"ftello"},"1064":{"probe_name":"libc","function_name":"ftello64"},"1065":{"probe_name":"libc","function_name":"ftruncate"},"1066":{"probe_name":"libc","function_name":"ftruncate64"},"1067":{"probe_name":"libc","function_name":"ftw"},"1068":{"probe_name":"libc","function_name":"ftw64"},"1069":{"probe_name":"libc","function_name":"fwprintf"},"1070":{"probe_name":"libc","function_name":"fwrite"},"1071":{"probe_name":"libc","function_name":"fwscanf"},"1072":{"probe_name":"libc","function_name":"getc"},"1073":{"probe_name":"libc","function_name":"getchar"},"1074":{"probe_name":"libc","function_name":"getcwd"},"1075":{"probe_name":"libc","function_name":"getdelim"},"1076":{"probe_name":"libc","function_name":"getdents64"},"1077":{"probe_name":"libc","function_name":"getdirentries"},"1078":{"probe_name":"libc","function_name":"getdirentries64"},"1079":{"probe_name":"libc","function_name":"getline"},"1080":{"probe_name":"libc","function_name":"getpeername"},"1081":{"probe_name":"libc","function_name":"getsockname"},"1082":{"probe_name":"libc","function_name":"getsockopt"},"1083":{"probe_name":"libc","function_name":"getw"},"1084":{"probe_name":"libc","function_name":"getwc"},"1085":{"probe_name":"libc","function_name":"getwchar"},"1086":{"probe_name":"libc","function_name":"getwd"},"1087":{"probe_name":"libc","function_name":"getxattr"},"1088":{"probe_name":"libc","function_name":"ioctl"},"1089":{"probe_name":"libc","function_name":"lchmod"},"1090":{"probe_name":"libc","function_name":"lchown"},"1091":{"probe_name":"libc","function_name":"lgetxattr"},"1092":{"probe_name":"libc","function_name":"link"},"1093":{"probe_name":"libc","function_name":"linkat"},"1094":{"probe_name":"libc","function_name":"listen"},"1095":{"probe_name":"libc","function_name":"listxattr"},"1096":{"probe_name":"libc","function_name":"llistxattr"},"1097":{"probe_name":"libc","function_name":"lockf"},"1098":{"probe_name":"libc","function_name":"lockf64"},"1099":{"probe_name":"libc","function_name":"lremovexattr"},"1100":{"probe_name":"libc","function_name":"lseek"},"1101":{"probe_name":"libc","function_name":"lseek64"},"1102":{"probe_name":"libc","function_name":"lsetxattr"},"1103":{"probe_name":"libc","function_name":"lstat"},"1104":{"probe_name":"libc","function_name":"lstat64"},"1105":{"probe_name":"libc","function_name":"mkdir"},"1106":{"probe_name":"libc","function_name":"mkdirat"},"1107":{"probe_name":"libc","function_name":"mkdtemp"},"1108":{"probe_name":"libc","function_name":"mkfifo"},"1109":{"probe_name":"libc","function_name":"mkfifoat"},"1110":{"probe_name":"libc","function_name":"mknod"},"1111":{"probe_name":"libc","function_name":"mknodat"},"1112":{"probe_name":"libc","function_name":"mkostemp"},"1113":{"probe_name":"libc","function_name":"mkostemp64"},"1114":{"probe_name":"libc","function_name":"mkostemps"},"1115":{"probe_name":"libc","function_name":"mkostemps64"},"1116":{"probe_name":"libc","function_name":"mkstemp"},"1117":{"probe_name":"libc","function_name":"mkstemp64"},"1118":{"probe_name":"libc","function_name":"mkstemps"},"1119":{"probe_name":"libc","function_name":"mkstemps64"},"1120":{"probe_name":"libc","function_name":"mmap"},"1121":{"probe_name":"libc","function_name":"mmap64"},"1122":{"probe_name":"libc","function_name":"mount"},"1123":{"probe_name":"libc","function_name":"mremap"}} +{ + "1933":{ + "probe_name":"libc", + "function_name":"wscanf" + }, + "1932":{ + "probe_name":"libc", + "function_name":"writev" + }, + "1931":{ + "probe_name":"libc", + "function_name":"writeunix:0x1476a0" + }, + "1930":{ + "probe_name":"libc", + "function_name":"writeunix:0x146dd0" + }, + "1929":{ + "probe_name":"libc", + "function_name":"writetcp:0x14cbc0" + }, + "1928":{ + "probe_name":"libc", + "function_name":"writetcp:0x149760" + }, + "1927":{ + "probe_name":"libc", + "function_name":"write" + }, + "1926":{ + "probe_name":"libc", + "function_name":"wprintf" + }, + "1925":{ + "probe_name":"libc", + "function_name":"wordfree" + }, + "1924":{ + "probe_name":"libc", + "function_name":"wordexp" + }, + "1923":{ + "probe_name":"libc", + "function_name":"wmempcpy" + }, + "1922":{ + "probe_name":"libc", + "function_name":"wmemmove" + }, + "1921":{ + "probe_name":"libc", + "function_name":"wmemcpy" + }, + "1920":{ + "probe_name":"libc", + "function_name":"wcwidth" + }, + "1919":{ + "probe_name":"libc", + "function_name":"wctype" + }, + "1918":{ + "probe_name":"libc", + "function_name":"wctrans" + }, + "1917":{ + "probe_name":"libc", + "function_name":"wctomb" + }, + "1916":{ + "probe_name":"libc", + "function_name":"wctob" + }, + "1915":{ + "probe_name":"libc", + "function_name":"wcsxfrm" + }, + "1914":{ + "probe_name":"libc", + "function_name":"wcswidth" + }, + "1913":{ + "probe_name":"libc", + "function_name":"wcswcs" + }, + "1912":{ + "probe_name":"libc", + "function_name":"wcstouq" + }, + "1911":{ + "probe_name":"libc", + "function_name":"wcstoumax" + }, + "1910":{ + "probe_name":"libc", + "function_name":"wcstoull" + }, + "1909":{ + "probe_name":"libc", + "function_name":"wcstoul" + }, + "1908":{ + "probe_name":"libc", + "function_name":"wcstoq" + }, + "1907":{ + "probe_name":"libc", + "function_name":"wcstombs" + }, + "1906":{ + "probe_name":"libc", + "function_name":"wcstoll" + }, + "1905":{ + "probe_name":"libc", + "function_name":"wcstold" + }, + "1904":{ + "probe_name":"libc", + "function_name":"wcstol" + }, + "1903":{ + "probe_name":"libc", + "function_name":"wcstok" + }, + "1902":{ + "probe_name":"libc", + "function_name":"wcstoimax" + }, + "1901":{ + "probe_name":"libc", + "function_name":"wcstof64x" + }, + "1900":{ + "probe_name":"libc", + "function_name":"wcstof64" + }, + "1899":{ + "probe_name":"libc", + "function_name":"wcstof32x" + }, + "1898":{ + "probe_name":"libc", + "function_name":"wcstof32" + }, + "1897":{ + "probe_name":"libc", + "function_name":"wcstof128" + }, + "1896":{ + "probe_name":"libc", + "function_name":"wcstof" + }, + "1895":{ + "probe_name":"libc", + "function_name":"wcstod" + }, + "1894":{ + "probe_name":"libc", + "function_name":"wcsstr" + }, + "1893":{ + "probe_name":"libc", + "function_name":"wcsspn" + }, + "1892":{ + "probe_name":"libc", + "function_name":"wcsrtombs" + }, + "1891":{ + "probe_name":"libc", + "function_name":"wcspbrk" + }, + "1890":{ + "probe_name":"libc", + "function_name":"wcsnrtombs" + }, + "1889":{ + "probe_name":"libc", + "function_name":"wcsncpy" + }, + "1888":{ + "probe_name":"libc", + "function_name":"wcsncat" + }, + "1887":{ + "probe_name":"libc", + "function_name":"wcsncasecmp" + }, + "1886":{ + "probe_name":"libc", + "function_name":"wcsdup" + }, + "1885":{ + "probe_name":"libc", + "function_name":"wcscspn" + }, + "1884":{ + "probe_name":"libc", + "function_name":"wcscoll" + }, + "1883":{ + "probe_name":"libc", + "function_name":"wcschrnul" + }, + "1882":{ + "probe_name":"libc", + "function_name":"wcscat" + }, + "1881":{ + "probe_name":"libc", + "function_name":"wcscasecmp" + }, + "1880":{ + "probe_name":"libc", + "function_name":"wcrtomb" + }, + "1879":{ + "probe_name":"libc", + "function_name":"wcpncpy" + }, + "1878":{ + "probe_name":"libc", + "function_name":"wcpcpy" + }, + "1877":{ + "probe_name":"libc", + "function_name":"warnx" + }, + "1876":{ + "probe_name":"libc", + "function_name":"warn" + }, + "1875":{ + "probe_name":"libc", + "function_name":"walker" + }, + "1874":{ + "probe_name":"libc", + "function_name":"waitpid" + }, + "1873":{ + "probe_name":"libc", + "function_name":"waitid" + }, + "1872":{ + "probe_name":"libc", + "function_name":"wait4" + }, + "1871":{ + "probe_name":"libc", + "function_name":"wait3" + }, + "1870":{ + "probe_name":"libc", + "function_name":"wait" + }, + "1869":{ + "probe_name":"libc", + "function_name":"vwscanf" + }, + "1868":{ + "probe_name":"libc", + "function_name":"vwprintf" + }, + "1867":{ + "probe_name":"libc", + "function_name":"vwarnx" + }, + "1866":{ + "probe_name":"libc", + "function_name":"vwarn" + }, + "1865":{ + "probe_name":"libc", + "function_name":"vsyslog" + }, + "1864":{ + "probe_name":"libc", + "function_name":"vswscanf" + }, + "1863":{ + "probe_name":"libc", + "function_name":"vswprintf" + }, + "1862":{ + "probe_name":"libc", + "function_name":"vsscanf" + }, + "1861":{ + "probe_name":"libc", + "function_name":"vsprintf" + }, + "1860":{ + "probe_name":"libc", + "function_name":"vsnprintf" + }, + "1859":{ + "probe_name":"libc", + "function_name":"vscanf" + }, + "1858":{ + "probe_name":"libc", + "function_name":"vprintf" + }, + "1857":{ + "probe_name":"libc", + "function_name":"vmsplice" + }, + "1856":{ + "probe_name":"libc", + "function_name":"vlimit" + }, + "1855":{ + "probe_name":"libc", + "function_name":"vhangup" + }, + "1854":{ + "probe_name":"libc", + "function_name":"vfwscanf" + }, + "1853":{ + "probe_name":"libc", + "function_name":"vfwprintf" + }, + "1852":{ + "probe_name":"libc", + "function_name":"vfscanf" + }, + "1851":{ + "probe_name":"libc", + "function_name":"vfprintf" + }, + "1850":{ + "probe_name":"libc", + "function_name":"vfork" + }, + "1849":{ + "probe_name":"libc", + "function_name":"versionsort64" + }, + "1848":{ + "probe_name":"libc", + "function_name":"versionsort" + }, + "1847":{ + "probe_name":"libc", + "function_name":"verrx" + }, + "1846":{ + "probe_name":"libc", + "function_name":"verr" + }, + "1845":{ + "probe_name":"libc", + "function_name":"vdprintf" + }, + "1844":{ + "probe_name":"libc", + "function_name":"vasprintf" + }, + "1843":{ + "probe_name":"libc", + "function_name":"valloc" + }, + "1842":{ + "probe_name":"libc", + "function_name":"utmpxname" + }, + "1841":{ + "probe_name":"libc", + "function_name":"utmpname" + }, + "1840":{ + "probe_name":"libc", + "function_name":"usleep" + }, + "1839":{ + "probe_name":"libc", + "function_name":"uselocale" + }, + "1838":{ + "probe_name":"libc", + "function_name":"updwtmpx" + }, + "1837":{ + "probe_name":"libc", + "function_name":"updwtmp" + }, + "1836":{ + "probe_name":"libc", + "function_name":"unshare" + }, + "1835":{ + "probe_name":"libc", + "function_name":"unsetenv" + }, + "1834":{ + "probe_name":"libc", + "function_name":"unlockpt" + }, + "1833":{ + "probe_name":"libc", + "function_name":"unlock" + }, + "1832":{ + "probe_name":"libc", + "function_name":"unlinkat" + }, + "1831":{ + "probe_name":"libc", + "function_name":"unlink" + }, + "1830":{ + "probe_name":"libc", + "function_name":"universal" + }, + "1829":{ + "probe_name":"libc", + "function_name":"ungetwc" + }, + "1828":{ + "probe_name":"libc", + "function_name":"ungetc" + }, + "1827":{ + "probe_name":"libc", + "function_name":"uname" + }, + "1826":{ + "probe_name":"libc", + "function_name":"umount2" + }, + "1825":{ + "probe_name":"libc", + "function_name":"umount" + }, + "1824":{ + "probe_name":"libc", + "function_name":"umask" + }, + "1823":{ + "probe_name":"libc", + "function_name":"ulimit" + }, + "1822":{ + "probe_name":"libc", + "function_name":"ulckpwdf" + }, + "1821":{ + "probe_name":"libc", + "function_name":"ualarm" + }, + "1820":{ + "probe_name":"libc", + "function_name":"tzset" + }, + "1819":{ + "probe_name":"libc", + "function_name":"twalk" + }, + "1818":{ + "probe_name":"libc", + "function_name":"ttyslot" + }, + "1817":{ + "probe_name":"libc", + "function_name":"ttyname" + }, + "1816":{ + "probe_name":"libc", + "function_name":"tsearch" + }, + "1815":{ + "probe_name":"libc", + "function_name":"try" + }, + "1814":{ + "probe_name":"libc", + "function_name":"truncate64" + }, + "1813":{ + "probe_name":"libc", + "function_name":"truncate" + }, + "1812":{ + "probe_name":"libc", + "function_name":"trecurse" + }, + "1811":{ + "probe_name":"libc", + "function_name":"transcmp" + }, + "1810":{ + "probe_name":"libc", + "function_name":"towupper" + }, + "1809":{ + "probe_name":"libc", + "function_name":"towlower" + }, + "1808":{ + "probe_name":"libc", + "function_name":"towctrans" + }, + "1807":{ + "probe_name":"libc", + "function_name":"toupper" + }, + "1806":{ + "probe_name":"libc", + "function_name":"tolower" + }, + "1805":{ + "probe_name":"libc", + "function_name":"token.part.0" + }, + "1804":{ + "probe_name":"libc", + "function_name":"toascii" + }, + "1803":{ + "probe_name":"libc", + "function_name":"tmpnam" + }, + "1802":{ + "probe_name":"libc", + "function_name":"tmpfile64" + }, + "1801":{ + "probe_name":"libc", + "function_name":"tgkill" + }, + "1800":{ + "probe_name":"libc", + "function_name":"tfind" + }, + "1799":{ + "probe_name":"libc", + "function_name":"textdomain" + }, + "1798":{ + "probe_name":"libc", + "function_name":"tempnam" + }, + "1797":{ + "probe_name":"libc", + "function_name":"telldir" + }, + "1796":{ + "probe_name":"libc", + "function_name":"tee" + }, + "1795":{ + "probe_name":"libc", + "function_name":"tdestroy" + }, + "1794":{ + "probe_name":"libc", + "function_name":"tdelete" + }, + "1793":{ + "probe_name":"libc", + "function_name":"tcsetpgrp" + }, + "1792":{ + "probe_name":"libc", + "function_name":"tcsetattr" + }, + "1791":{ + "probe_name":"libc", + "function_name":"tcsendbreak" + }, + "1790":{ + "probe_name":"libc", + "function_name":"tcgetsid" + }, + "1789":{ + "probe_name":"libc", + "function_name":"tcgetpgrp" + }, + "1788":{ + "probe_name":"libc", + "function_name":"tcgetattr" + }, + "1787":{ + "probe_name":"libc", + "function_name":"tcflush" + }, + "1786":{ + "probe_name":"libc", + "function_name":"tcflow" + }, + "1785":{ + "probe_name":"libc", + "function_name":"tcdrain" + }, + "1784":{ + "probe_name":"libc", + "function_name":"systrim.constprop.0" + }, + "1783":{ + "probe_name":"libc", + "function_name":"system" + }, + "1782":{ + "probe_name":"libc", + "function_name":"sysmalloc" + }, + "1781":{ + "probe_name":"libc", + "function_name":"syslog" + }, + "1780":{ + "probe_name":"libc", + "function_name":"sysinfo" + }, + "1779":{ + "probe_name":"libc", + "function_name":"sysconf" + }, + "1778":{ + "probe_name":"libc", + "function_name":"syscall" + }, + "1777":{ + "probe_name":"libc", + "function_name":"syncfs" + }, + "1776":{ + "probe_name":"libc", + "function_name":"sync" + }, + "1775":{ + "probe_name":"libc", + "function_name":"symlinkat" + }, + "1774":{ + "probe_name":"libc", + "function_name":"symlink" + }, + "1773":{ + "probe_name":"libc", + "function_name":"swscanf" + }, + "1772":{ + "probe_name":"libc", + "function_name":"swprintf" + }, + "1771":{ + "probe_name":"libc", + "function_name":"swapon" + }, + "1770":{ + "probe_name":"libc", + "function_name":"swapoff" + }, + "1769":{ + "probe_name":"libc", + "function_name":"swapcontext" + }, + "1768":{ + "probe_name":"libc", + "function_name":"swab" + }, + "1767":{ + "probe_name":"libc", + "function_name":"stty" + }, + "1766":{ + "probe_name":"libc", + "function_name":"strxfrm" + }, + "1765":{ + "probe_name":"libc", + "function_name":"strverscmp" + }, + "1764":{ + "probe_name":"libc", + "function_name":"strtouq" + }, + "1763":{ + "probe_name":"libc", + "function_name":"strtoumax" + }, + "1762":{ + "probe_name":"libc", + "function_name":"strtoull" + }, + "1761":{ + "probe_name":"libc", + "function_name":"strtoul" + }, + "1760":{ + "probe_name":"libc", + "function_name":"strtoq" + }, + "1759":{ + "probe_name":"libc", + "function_name":"strtoll" + }, + "1758":{ + "probe_name":"libc", + "function_name":"strtold" + }, + "1757":{ + "probe_name":"libc", + "function_name":"strtol" + }, + "1756":{ + "probe_name":"libc", + "function_name":"strtok" + }, + "1755":{ + "probe_name":"libc", + "function_name":"strtoimax" + }, + "1754":{ + "probe_name":"libc", + "function_name":"strtof64x" + }, + "1753":{ + "probe_name":"libc", + "function_name":"strtof64" + }, + "1752":{ + "probe_name":"libc", + "function_name":"strtof32x" + }, + "1751":{ + "probe_name":"libc", + "function_name":"strtof32" + }, + "1750":{ + "probe_name":"libc", + "function_name":"strtof128" + }, + "1749":{ + "probe_name":"libc", + "function_name":"strtof" + }, + "1748":{ + "probe_name":"libc", + "function_name":"strtod" + }, + "1747":{ + "probe_name":"libc", + "function_name":"strsep" + }, + "1746":{ + "probe_name":"libc", + "function_name":"strndup" + }, + "1745":{ + "probe_name":"libc", + "function_name":"strfry" + }, + "1744":{ + "probe_name":"libc", + "function_name":"strfroml" + }, + "1743":{ + "probe_name":"libc", + "function_name":"strfromf64x" + }, + "1742":{ + "probe_name":"libc", + "function_name":"strfromf64" + }, + "1741":{ + "probe_name":"libc", + "function_name":"strfromf32x" + }, + "1740":{ + "probe_name":"libc", + "function_name":"strfromf32" + }, + "1739":{ + "probe_name":"libc", + "function_name":"strfromf128" + }, + "1738":{ + "probe_name":"libc", + "function_name":"strfromf" + }, + "1737":{ + "probe_name":"libc", + "function_name":"strfromd" + }, + "1736":{ + "probe_name":"libc", + "function_name":"strfmon" + }, + "1735":{ + "probe_name":"libc", + "function_name":"strerror" + }, + "1734":{ + "probe_name":"libc", + "function_name":"strdup" + }, + "1733":{ + "probe_name":"libc", + "function_name":"strcoll" + }, + "1732":{ + "probe_name":"libc", + "function_name":"strcasestr" + }, + "1731":{ + "probe_name":"libc", + "function_name":"statx" + }, + "1730":{ + "probe_name":"libc", + "function_name":"statvfs64" + }, + "1729":{ + "probe_name":"libc", + "function_name":"statvfs" + }, + "1728":{ + "probe_name":"libc", + "function_name":"statfs64" + }, + "1727":{ + "probe_name":"libc", + "function_name":"statfs" + }, + "1726":{ + "probe_name":"libc", + "function_name":"stat64" + }, + "1725":{ + "probe_name":"libc", + "function_name":"stat" + }, + "1724":{ + "probe_name":"libc", + "function_name":"sscanf" + }, + "1723":{ + "probe_name":"libc", + "function_name":"srandom" + }, + "1722":{ + "probe_name":"libc", + "function_name":"srand48" + }, + "1721":{ + "probe_name":"libc", + "function_name":"srand" + }, + "1720":{ + "probe_name":"libc", + "function_name":"sprofil" + }, + "1719":{ + "probe_name":"libc", + "function_name":"sprintf" + }, + "1718":{ + "probe_name":"libc", + "function_name":"splice" + }, + "1717":{ + "probe_name":"libc", + "function_name":"space" + }, + "1716":{ + "probe_name":"libc", + "function_name":"socketpair" + }, + "1715":{ + "probe_name":"libc", + "function_name":"socket" + }, + "1714":{ + "probe_name":"libc", + "function_name":"sockatmark" + }, + "1713":{ + "probe_name":"libc", + "function_name":"snprintf" + }, + "1712":{ + "probe_name":"libc", + "function_name":"sleep" + }, + "1711":{ + "probe_name":"libc", + "function_name":"skip" + }, + "1710":{ + "probe_name":"libc", + "function_name":"sigwaitinfo" + }, + "1709":{ + "probe_name":"libc", + "function_name":"sigwait" + }, + "1708":{ + "probe_name":"libc", + "function_name":"sigsuspend" + }, + "1707":{ + "probe_name":"libc", + "function_name":"sigstack" + }, + "1706":{ + "probe_name":"libc", + "function_name":"sigsetmask" + }, + "1705":{ + "probe_name":"libc", + "function_name":"sigset" + }, + "1704":{ + "probe_name":"libc", + "function_name":"sigreturn" + }, + "1703":{ + "probe_name":"libc", + "function_name":"sigrelse" + }, + "1702":{ + "probe_name":"libc", + "function_name":"sigqueue" + }, + "1701":{ + "probe_name":"libc", + "function_name":"sigprocmask" + }, + "1700":{ + "probe_name":"libc", + "function_name":"sigpending" + }, + "1699":{ + "probe_name":"libc", + "function_name":"sigpause" + }, + "1698":{ + "probe_name":"libc", + "function_name":"sigorset" + }, + "1697":{ + "probe_name":"libc", + "function_name":"siglongjmp" + }, + "1696":{ + "probe_name":"libc", + "function_name":"sigismember" + }, + "1695":{ + "probe_name":"libc", + "function_name":"sigisemptyset" + }, + "1694":{ + "probe_name":"libc", + "function_name":"siginterrupt" + }, + "1693":{ + "probe_name":"libc", + "function_name":"sigignore" + }, + "1692":{ + "probe_name":"libc", + "function_name":"sighold" + }, + "1691":{ + "probe_name":"libc", + "function_name":"siggetmask" + }, + "1690":{ + "probe_name":"libc", + "function_name":"sigfillset" + }, + "1689":{ + "probe_name":"libc", + "function_name":"sigemptyset" + }, + "1688":{ + "probe_name":"libc", + "function_name":"sigdelset" + }, + "1687":{ + "probe_name":"libc", + "function_name":"sigblock" + }, + "1686":{ + "probe_name":"libc", + "function_name":"sigandset" + }, + "1685":{ + "probe_name":"libc", + "function_name":"sigaltstack" + }, + "1684":{ + "probe_name":"libc", + "function_name":"sigaddset" + }, + "1683":{ + "probe_name":"libc", + "function_name":"sigaction" + }, + "1682":{ + "probe_name":"libc", + "function_name":"shutdown" + }, + "1681":{ + "probe_name":"libc", + "function_name":"shmget" + }, + "1680":{ + "probe_name":"libc", + "function_name":"shmdt" + }, + "1679":{ + "probe_name":"libc", + "function_name":"shmat" + }, + "1678":{ + "probe_name":"libc", + "function_name":"sgetspent" + }, + "1677":{ + "probe_name":"libc", + "function_name":"sgetsgent" + }, + "1676":{ + "probe_name":"libc", + "function_name":"setxattr" + }, + "1675":{ + "probe_name":"libc", + "function_name":"setvbuf" + }, + "1674":{ + "probe_name":"libc", + "function_name":"setutxent" + }, + "1673":{ + "probe_name":"libc", + "function_name":"setutent" + }, + "1672":{ + "probe_name":"libc", + "function_name":"setusershell" + }, + "1671":{ + "probe_name":"libc", + "function_name":"setuid" + }, + "1670":{ + "probe_name":"libc", + "function_name":"setttyent" + }, + "1669":{ + "probe_name":"libc", + "function_name":"setstate" + }, + "1668":{ + "probe_name":"libc", + "function_name":"setspent" + }, + "1667":{ + "probe_name":"libc", + "function_name":"setsourcefilter" + }, + "1666":{ + "probe_name":"libc", + "function_name":"setsockopt" + }, + "1665":{ + "probe_name":"libc", + "function_name":"setsid" + }, + "1664":{ + "probe_name":"libc", + "function_name":"setsgent" + }, + "1663":{ + "probe_name":"libc", + "function_name":"setservent" + }, + "1662":{ + "probe_name":"libc", + "function_name":"setrpcent" + }, + "1661":{ + "probe_name":"libc", + "function_name":"setrlimit64" + }, + "1660":{ + "probe_name":"libc", + "function_name":"setrlimit" + }, + "1659":{ + "probe_name":"libc", + "function_name":"setreuid" + }, + "1658":{ + "probe_name":"libc", + "function_name":"setresuid" + }, + "1657":{ + "probe_name":"libc", + "function_name":"setresgid" + }, + "1656":{ + "probe_name":"libc", + "function_name":"setregid" + }, + "1655":{ + "probe_name":"libc", + "function_name":"setpwent" + }, + "1654":{ + "probe_name":"libc", + "function_name":"setprotoent" + }, + "1653":{ + "probe_name":"libc", + "function_name":"setpriority" + }, + "1652":{ + "probe_name":"libc", + "function_name":"setpgrp" + }, + "1651":{ + "probe_name":"libc", + "function_name":"setpgid" + }, + "1650":{ + "probe_name":"libc", + "function_name":"setns" + }, + "1649":{ + "probe_name":"libc", + "function_name":"setnetgrent" + }, + "1648":{ + "probe_name":"libc", + "function_name":"setnetent" + }, + "1647":{ + "probe_name":"libc", + "function_name":"setmntent" + }, + "1646":{ + "probe_name":"libc", + "function_name":"setlogmask" + }, + "1645":{ + "probe_name":"libc", + "function_name":"setlogin" + }, + "1644":{ + "probe_name":"libc", + "function_name":"setlocale" + }, + "1643":{ + "probe_name":"libc", + "function_name":"setlinebuf" + }, + "1642":{ + "probe_name":"libc", + "function_name":"setjmp" + }, + "1641":{ + "probe_name":"libc", + "function_name":"setipv4sourcefilter" + }, + "1640":{ + "probe_name":"libc", + "function_name":"sethostname" + }, + "1639":{ + "probe_name":"libc", + "function_name":"sethostid" + }, + "1638":{ + "probe_name":"libc", + "function_name":"sethostent" + }, + "1637":{ + "probe_name":"libc", + "function_name":"setgroups" + }, + "1636":{ + "probe_name":"libc", + "function_name":"setgrent" + }, + "1635":{ + "probe_name":"libc", + "function_name":"setgid" + }, + "1634":{ + "probe_name":"libc", + "function_name":"setfsuid" + }, + "1633":{ + "probe_name":"libc", + "function_name":"setfsgid" + }, + "1632":{ + "probe_name":"libc", + "function_name":"setfsent" + }, + "1631":{ + "probe_name":"libc", + "function_name":"seteuid" + }, + "1630":{ + "probe_name":"libc", + "function_name":"setenv" + }, + "1629":{ + "probe_name":"libc", + "function_name":"setegid" + }, + "1628":{ + "probe_name":"libc", + "function_name":"setdomainname" + }, + "1627":{ + "probe_name":"libc", + "function_name":"setcontext" + }, + "1626":{ + "probe_name":"libc", + "function_name":"setbuffer" + }, + "1625":{ + "probe_name":"libc", + "function_name":"setbuf" + }, + "1624":{ + "probe_name":"libc", + "function_name":"setaliasent" + }, + "1623":{ + "probe_name":"libc", + "function_name":"sendto" + }, + "1622":{ + "probe_name":"libc", + "function_name":"sendmsg" + }, + "1621":{ + "probe_name":"libc", + "function_name":"sendmmsg" + }, + "1620":{ + "probe_name":"libc", + "function_name":"sendfile64" + }, + "1619":{ + "probe_name":"libc", + "function_name":"sendfile" + }, + "1618":{ + "probe_name":"libc", + "function_name":"send" + }, + "1617":{ + "probe_name":"libc", + "function_name":"semop" + }, + "1616":{ + "probe_name":"libc", + "function_name":"semget" + }, + "1615":{ + "probe_name":"libc", + "function_name":"select" + }, + "1614":{ + "probe_name":"libc", + "function_name":"seekdir" + }, + "1613":{ + "probe_name":"libc", + "function_name":"seed48" + }, + "1612":{ + "probe_name":"libc", + "function_name":"scopecmp" + }, + "1611":{ + "probe_name":"libc", + "function_name":"scanf" + }, + "1610":{ + "probe_name":"libc", + "function_name":"scandirat64" + }, + "1609":{ + "probe_name":"libc", + "function_name":"scandirat" + }, + "1608":{ + "probe_name":"libc", + "function_name":"scandir64" + }, + "1607":{ + "probe_name":"libc", + "function_name":"scandir" + }, + "1606":{ + "probe_name":"libc", + "function_name":"scalbnl" + }, + "1605":{ + "probe_name":"libc", + "function_name":"scalbnf64x" + }, + "1604":{ + "probe_name":"libc", + "function_name":"scalbnf64" + }, + "1603":{ + "probe_name":"libc", + "function_name":"scalbnf32x" + }, + "1602":{ + "probe_name":"libc", + "function_name":"scalbnf32" + }, + "1601":{ + "probe_name":"libc", + "function_name":"scalbnf128" + }, + "1600":{ + "probe_name":"libc", + "function_name":"scalbnf" + }, + "1599":{ + "probe_name":"libc", + "function_name":"scalbn" + }, + "1598":{ + "probe_name":"libc", + "function_name":"sbrk" + }, + "1597":{ + "probe_name":"libc", + "function_name":"ruserpass" + }, + "1596":{ + "probe_name":"libc", + "function_name":"ruserok" + }, + "1595":{ + "probe_name":"libc", + "function_name":"rresvport" + }, + "1594":{ + "probe_name":"libc", + "function_name":"rpmatch" + }, + "1593":{ + "probe_name":"libc", + "function_name":"rmdir" + }, + "1592":{ + "probe_name":"libc", + "function_name":"rexec" + }, + "1591":{ + "probe_name":"libc", + "function_name":"rewinddir" + }, + "1590":{ + "probe_name":"libc", + "function_name":"rewind" + }, + "1589":{ + "probe_name":"libc", + "function_name":"revoke" + }, + "1588":{ + "probe_name":"libc", + "function_name":"reopen" + }, + "1587":{ + "probe_name":"libc", + "function_name":"renameat2" + }, + "1586":{ + "probe_name":"libc", + "function_name":"renameat" + }, + "1585":{ + "probe_name":"libc", + "function_name":"rename" + }, + "1584":{ + "probe_name":"libc", + "function_name":"remque" + }, + "1583":{ + "probe_name":"libc", + "function_name":"removexattr" + }, + "1582":{ + "probe_name":"libc", + "function_name":"remove" + }, + "1581":{ + "probe_name":"libc", + "function_name":"regfree" + }, + "1580":{ + "probe_name":"libc", + "function_name":"regerror" + }, + "1579":{ + "probe_name":"libc", + "function_name":"regcomp" + }, + "1578":{ + "probe_name":"libc", + "function_name":"recvmsg" + }, + "1577":{ + "probe_name":"libc", + "function_name":"recvmmsg" + }, + "1576":{ + "probe_name":"libc", + "function_name":"recvfrom" + }, + "1575":{ + "probe_name":"libc", + "function_name":"recv" + }, + "1574":{ + "probe_name":"libc", + "function_name":"reboot" + }, + "1573":{ + "probe_name":"libc", + "function_name":"reallocarray" + }, + "1572":{ + "probe_name":"libc", + "function_name":"realloc" + }, + "1571":{ + "probe_name":"libc", + "function_name":"readv" + }, + "1570":{ + "probe_name":"libc", + "function_name":"readunix:0x147810" + }, + "1569":{ + "probe_name":"libc", + "function_name":"readunix:0x146e50" + }, + "1568":{ + "probe_name":"libc", + "function_name":"readtcp:0x14cc30" + }, + "1567":{ + "probe_name":"libc", + "function_name":"readtcp:0x1497e0" + }, + "1566":{ + "probe_name":"libc", + "function_name":"readlinkat" + }, + "1565":{ + "probe_name":"libc", + "function_name":"readlink" + }, + "1564":{ + "probe_name":"libc", + "function_name":"readdir64" + }, + "1563":{ + "probe_name":"libc", + "function_name":"readdir" + }, + "1562":{ + "probe_name":"libc", + "function_name":"readahead" + }, + "1561":{ + "probe_name":"libc", + "function_name":"read" + }, + "1560":{ + "probe_name":"libc", + "function_name":"rcmd" + }, + "1559":{ + "probe_name":"libc", + "function_name":"random" + }, + "1558":{ + "probe_name":"libc", + "function_name":"rand" + }, + "1557":{ + "probe_name":"libc", + "function_name":"raise" + }, + "1556":{ + "probe_name":"libc", + "function_name":"quotactl" + }, + "1555":{ + "probe_name":"libc", + "function_name":"qsort" + }, + "1554":{ + "probe_name":"libc", + "function_name":"qgcvt" + }, + "1553":{ + "probe_name":"libc", + "function_name":"qfcvt" + }, + "1552":{ + "probe_name":"libc", + "function_name":"qecvt" + }, + "1551":{ + "probe_name":"libc", + "function_name":"pwritev64v2" + }, + "1550":{ + "probe_name":"libc", + "function_name":"pwritev64" + }, + "1549":{ + "probe_name":"libc", + "function_name":"pwritev2" + }, + "1548":{ + "probe_name":"libc", + "function_name":"pwritev" + }, + "1547":{ + "probe_name":"libc", + "function_name":"pwrite64" + }, + "1546":{ + "probe_name":"libc", + "function_name":"pwrite" + }, + "1545":{ + "probe_name":"libc", + "function_name":"pvalloc" + }, + "1544":{ + "probe_name":"libc", + "function_name":"putwchar" + }, + "1543":{ + "probe_name":"libc", + "function_name":"putwc" + }, + "1542":{ + "probe_name":"libc", + "function_name":"putw" + }, + "1541":{ + "probe_name":"libc", + "function_name":"pututxline" + }, + "1540":{ + "probe_name":"libc", + "function_name":"pututline" + }, + "1539":{ + "probe_name":"libc", + "function_name":"putspent" + }, + "1538":{ + "probe_name":"libc", + "function_name":"putsgent" + }, + "1253":{ + "probe_name":"libc", + "function_name":"gethostbyname" + }, + "1252":{ + "probe_name":"libc", + "function_name":"gethostbyaddr" + }, + "1251":{ + "probe_name":"libc", + "function_name":"getgroups" + }, + "1250":{ + "probe_name":"libc", + "function_name":"getgrouplist" + }, + "1249":{ + "probe_name":"libc", + "function_name":"getgrnam" + }, + "1248":{ + "probe_name":"libc", + "function_name":"getgrgid" + }, + "1247":{ + "probe_name":"libc", + "function_name":"getgrent" + }, + "1246":{ + "probe_name":"libc", + "function_name":"getgid" + }, + "1245":{ + "probe_name":"libc", + "function_name":"getfsspec" + }, + "1244":{ + "probe_name":"libc", + "function_name":"getfsfile" + }, + "1243":{ + "probe_name":"libc", + "function_name":"getfsent" + }, + "1242":{ + "probe_name":"libc", + "function_name":"geteuid" + }, + "1241":{ + "probe_name":"libc", + "function_name":"getenv" + }, + "1240":{ + "probe_name":"libc", + "function_name":"getentropy" + }, + "1239":{ + "probe_name":"libc", + "function_name":"getegid" + }, + "1238":{ + "probe_name":"libc", + "function_name":"getdtablesize" + }, + "1237":{ + "probe_name":"libc", + "function_name":"getdomainname" + }, + "1236":{ + "probe_name":"libc", + "function_name":"getdirentries64" + }, + "1235":{ + "probe_name":"libc", + "function_name":"getdirentries" + }, + "1234":{ + "probe_name":"libc", + "function_name":"getdents64" + }, + "1233":{ + "probe_name":"libc", + "function_name":"getdelim" + }, + "1232":{ + "probe_name":"libc", + "function_name":"getdate" + }, + "1231":{ + "probe_name":"libc", + "function_name":"getcwd" + }, + "1230":{ + "probe_name":"libc", + "function_name":"getcpu" + }, + "1229":{ + "probe_name":"libc", + "function_name":"getcontext" + }, + "1228":{ + "probe_name":"libc", + "function_name":"getchar" + }, + "1227":{ + "probe_name":"libc", + "function_name":"getc" + }, + "1226":{ + "probe_name":"libc", + "function_name":"getauxval" + }, + "1225":{ + "probe_name":"libc", + "function_name":"getaliasent" + }, + "1224":{ + "probe_name":"libc", + "function_name":"getaliasbyname" + }, + "1223":{ + "probe_name":"libc", + "function_name":"getaddrinfo" + }, + "1222":{ + "probe_name":"libc", + "function_name":"gcvt" + }, + "1221":{ + "probe_name":"libc", + "function_name":"fwscanf" + }, + "1220":{ + "probe_name":"libc", + "function_name":"fwrite" + }, + "1219":{ + "probe_name":"libc", + "function_name":"fwprintf" + }, + "1218":{ + "probe_name":"libc", + "function_name":"fwide" + }, + "1217":{ + "probe_name":"libc", + "function_name":"funlockfile" + }, + "1216":{ + "probe_name":"libc", + "function_name":"ftw64" + }, + "1215":{ + "probe_name":"libc", + "function_name":"ftw" + }, + "1214":{ + "probe_name":"libc", + "function_name":"ftrylockfile" + }, + "1213":{ + "probe_name":"libc", + "function_name":"ftruncate64" + }, + "1212":{ + "probe_name":"libc", + "function_name":"ftruncate" + }, + "1211":{ + "probe_name":"libc", + "function_name":"ftok" + }, + "1210":{ + "probe_name":"libc", + "function_name":"ftello64" + }, + "1209":{ + "probe_name":"libc", + "function_name":"ftello" + }, + "1208":{ + "probe_name":"libc", + "function_name":"ftell" + }, + "1207":{ + "probe_name":"libc", + "function_name":"fsync" + }, + "1206":{ + "probe_name":"libc", + "function_name":"fstatvfs64" + }, + "1205":{ + "probe_name":"libc", + "function_name":"fstatvfs" + }, + "1204":{ + "probe_name":"libc", + "function_name":"fstatfs64" + }, + "1203":{ + "probe_name":"libc", + "function_name":"fstatfs" + }, + "1202":{ + "probe_name":"libc", + "function_name":"fstatat64" + }, + "1201":{ + "probe_name":"libc", + "function_name":"fstatat" + }, + "1200":{ + "probe_name":"libc", + "function_name":"fstat64" + }, + "1199":{ + "probe_name":"libc", + "function_name":"fstat" + }, + "1198":{ + "probe_name":"libc", + "function_name":"fsetxattr" + }, + "1197":{ + "probe_name":"libc", + "function_name":"fseeko64" + }, + "1196":{ + "probe_name":"libc", + "function_name":"fseeko" + }, + "1195":{ + "probe_name":"libc", + "function_name":"fseek" + }, + "1194":{ + "probe_name":"libc", + "function_name":"fscanf" + }, + "1193":{ + "probe_name":"libc", + "function_name":"frexpl" + }, + "1192":{ + "probe_name":"libc", + "function_name":"frexpf64x" + }, + "1191":{ + "probe_name":"libc", + "function_name":"frexpf64" + }, + "1190":{ + "probe_name":"libc", + "function_name":"frexpf32x" + }, + "1189":{ + "probe_name":"libc", + "function_name":"frexpf32" + }, + "1188":{ + "probe_name":"libc", + "function_name":"frexpf128" + }, + "1187":{ + "probe_name":"libc", + "function_name":"frexpf" + }, + "1186":{ + "probe_name":"libc", + "function_name":"frexp" + }, + "1185":{ + "probe_name":"libc", + "function_name":"freopen64" + }, + "1184":{ + "probe_name":"libc", + "function_name":"freopen" + }, + "1183":{ + "probe_name":"libc", + "function_name":"fremovexattr" + }, + "1182":{ + "probe_name":"libc", + "function_name":"freeres" + }, + "1181":{ + "probe_name":"libc", + "function_name":"freelocale" + }, + "1180":{ + "probe_name":"libc", + "function_name":"freeifaddrs" + }, + "1179":{ + "probe_name":"libc", + "function_name":"freecache" + }, + "1178":{ + "probe_name":"libc", + "function_name":"freeaddrinfo" + }, + "1177":{ + "probe_name":"libc", + "function_name":"free" + }, + "1176":{ + "probe_name":"libc", + "function_name":"fread" + }, + "1175":{ + "probe_name":"libc", + "function_name":"fputws" + }, + "1174":{ + "probe_name":"libc", + "function_name":"fputwc" + }, + "1173":{ + "probe_name":"libc", + "function_name":"fputs" + }, + "1172":{ + "probe_name":"libc", + "function_name":"fputc" + }, + "1171":{ + "probe_name":"libc", + "function_name":"fprintf" + }, + "1170":{ + "probe_name":"libc", + "function_name":"fpathconf" + }, + "1169":{ + "probe_name":"libc", + "function_name":"fork" + }, + "1168":{ + "probe_name":"libc", + "function_name":"fopen64" + }, + "1167":{ + "probe_name":"libc", + "function_name":"fmtmsg" + }, + "1166":{ + "probe_name":"libc", + "function_name":"flockfile" + }, + "1165":{ + "probe_name":"libc", + "function_name":"flock" + }, + "1164":{ + "probe_name":"libc", + "function_name":"flistxattr" + }, + "1163":{ + "probe_name":"libc", + "function_name":"finitel" + }, + "1162":{ + "probe_name":"libc", + "function_name":"finitef" + }, + "1161":{ + "probe_name":"libc", + "function_name":"finite" + }, + "1160":{ + "probe_name":"libc", + "function_name":"fini" + }, + "1159":{ + "probe_name":"libc", + "function_name":"fileno" + }, + "1158":{ + "probe_name":"libc", + "function_name":"fgetxattr" + }, + "1157":{ + "probe_name":"libc", + "function_name":"fgetws" + }, + "1156":{ + "probe_name":"libc", + "function_name":"fgetwc" + }, + "1155":{ + "probe_name":"libc", + "function_name":"fgetspent" + }, + "1154":{ + "probe_name":"libc", + "function_name":"fgetsgent" + }, + "1153":{ + "probe_name":"libc", + "function_name":"fgets" + }, + "1152":{ + "probe_name":"libc", + "function_name":"fgetpwent" + }, + "1151":{ + "probe_name":"libc", + "function_name":"fgetgrent" + }, + "1150":{ + "probe_name":"libc", + "function_name":"fgetc" + }, + "1149":{ + "probe_name":"libc", + "function_name":"ffsll" + }, + "1148":{ + "probe_name":"libc", + "function_name":"ffsl" + }, + "1147":{ + "probe_name":"libc", + "function_name":"ffs" + }, + "1146":{ + "probe_name":"libc", + "function_name":"fflush" + }, + "1145":{ + "probe_name":"libc", + "function_name":"fexecve" + }, + "1144":{ + "probe_name":"libc", + "function_name":"ferror" + }, + "1143":{ + "probe_name":"libc", + "function_name":"feof" + }, + "1142":{ + "probe_name":"libc", + "function_name":"fdopendir" + }, + "1141":{ + "probe_name":"libc", + "function_name":"fdatasync" + }, + "1140":{ + "probe_name":"libc", + "function_name":"fcvt" + }, + "1139":{ + "probe_name":"libc", + "function_name":"fcntl64" + }, + "1138":{ + "probe_name":"libc", + "function_name":"fcntl" + }, + "1137":{ + "probe_name":"libc", + "function_name":"fcloseall" + }, + "1136":{ + "probe_name":"libc", + "function_name":"fchownat" + }, + "1135":{ + "probe_name":"libc", + "function_name":"fchown" + }, + "1134":{ + "probe_name":"libc", + "function_name":"fchmodat" + }, + "1133":{ + "probe_name":"libc", + "function_name":"fchmod" + }, + "1132":{ + "probe_name":"libc", + "function_name":"fchflags" + }, + "1131":{ + "probe_name":"libc", + "function_name":"fchdir" + }, + "1130":{ + "probe_name":"libc", + "function_name":"fallocate64" + }, + "1129":{ + "probe_name":"libc", + "function_name":"fallocate" + }, + "1128":{ + "probe_name":"libc", + "function_name":"faccessat" + }, + "1127":{ + "probe_name":"libc", + "function_name":"exit" + }, + "1126":{ + "probe_name":"libc", + "function_name":"execvpe" + }, + "1125":{ + "probe_name":"libc", + "function_name":"execvp" + }, + "1124":{ + "probe_name":"libc", + "function_name":"execveat" + }, + "1055":{ + "probe_name":"libc", + "function_name":"clock" + }, + "1054":{ + "probe_name":"libc", + "function_name":"clearerr" + }, + "1053":{ + "probe_name":"libc", + "function_name":"clearenv" + }, + "1052":{ + "probe_name":"libc", + "function_name":"cleanup:0x943c0" + }, + "1051":{ + "probe_name":"libc", + "function_name":"cleanup:0x8ba90" + }, + "1050":{ + "probe_name":"libc", + "function_name":"chroot" + }, + "1049":{ + "probe_name":"libc", + "function_name":"chown" + }, + "1048":{ + "probe_name":"libc", + "function_name":"chmod" + }, + "1047":{ + "probe_name":"libc", + "function_name":"chflags" + }, + "1046":{ + "probe_name":"libc", + "function_name":"chdir" + }, + "1045":{ + "probe_name":"libc", + "function_name":"cfsetspeed" + }, + "1044":{ + "probe_name":"libc", + "function_name":"cfsetospeed" + }, + "1043":{ + "probe_name":"libc", + "function_name":"cfsetispeed" + }, + "1042":{ + "probe_name":"libc", + "function_name":"cfmakeraw" + }, + "1041":{ + "probe_name":"libc", + "function_name":"cfgetospeed" + }, + "1040":{ + "probe_name":"libc", + "function_name":"cfgetispeed" + }, + "1039":{ + "probe_name":"libc", + "function_name":"catopen" + }, + "1038":{ + "probe_name":"libc", + "function_name":"catgets" + }, + "1037":{ + "probe_name":"libc", + "function_name":"catclose" + }, + "1036":{ + "probe_name":"libc", + "function_name":"capset" + }, + "1035":{ + "probe_name":"libc", + "function_name":"capget" + }, + "1034":{ + "probe_name":"libc", + "function_name":"calloc" + }, + "1033":{ + "probe_name":"libc", + "function_name":"callback" + }, + "1032":{ + "probe_name":"libc", + "function_name":"c32rtomb" + }, + "1031":{ + "probe_name":"libc", + "function_name":"c16rtomb" + }, + "1027":{ + "probe_name":"libc", + "function_name":"brk" + }, + "1026":{ + "probe_name":"libc", + "function_name":"bindtextdomain" + }, + "1009":{ + "probe_name":"libc", + "function_name":"alarm" + }, + "1008":{ + "probe_name":"libc", + "function_name":"addseverity" + }, + "1007":{ + "probe_name":"libc", + "function_name":"addmntent" + }, + "1006":{ + "probe_name":"libc", + "function_name":"acct" + }, + "1000":{ + "probe_name":"libc", + "function_name":"a64l" + }, + "1005":{ + "probe_name":"libc", + "function_name":"access" + }, + "1030":{ + "probe_name":"libc", + "function_name":"bzero" + }, + "1084":{ + "probe_name":"libc", + "function_name":"div" + }, + "1018":{ + "probe_name":"libc", + "function_name":"atol" + }, + "1017":{ + "probe_name":"libc", + "function_name":"atoi" + }, + "1029":{ + "probe_name":"libc", + "function_name":"btowc" + }, + "1083":{ + "probe_name":"libc", + "function_name":"dirname" + }, + "1002":{ + "probe_name":"libc", + "function_name":"abs" + }, + "1004":{ + "probe_name":"libc", + "function_name":"accept4" + }, + "1016":{ + "probe_name":"libc", + "function_name":"atof" + }, + "1028":{ + "probe_name":"libc", + "function_name":"bsearch" + }, + "1082":{ + "probe_name":"libc", + "function_name":"dirfd" + }, + "1001":{ + "probe_name":"libc", + "function_name":"abort" + }, + "1003":{ + "probe_name":"libc", + "function_name":"accept" + }, + "1015":{ + "probe_name":"libc", + "function_name":"asprintf" + }, + "1010":{ + "probe_name":"libc", + "function_name":"allocate:0x105510" + }, + "1011":{ + "probe_name":"libc", + "function_name":"allocate:0x122220" + }, + "1012":{ + "probe_name":"libc", + "function_name":"alphasort" + }, + "1013":{ + "probe_name":"libc", + "function_name":"alphasort64" + }, + "1014":{ + "probe_name":"libc", + "function_name":"arg" + }, + "1019":{ + "probe_name":"libc", + "function_name":"atoll" + }, + "1020":{ + "probe_name":"libc", + "function_name":"backtrace" + }, + "1021":{ + "probe_name":"libc", + "function_name":"basename" + }, + "1022":{ + "probe_name":"libc", + "function_name":"bcopy" + }, + "1023":{ + "probe_name":"libc", + "function_name":"bin2hex" + }, + "1024":{ + "probe_name":"libc", + "function_name":"bind" + }, + "1025":{ + "probe_name":"libc", + "function_name":"bindresvport" + }, + "1056":{ + "probe_name":"libc", + "function_name":"clone" + }, + "1057":{ + "probe_name":"libc", + "function_name":"clone3" + }, + "1058":{ + "probe_name":"libc", + "function_name":"close" + }, + "1059":{ + "probe_name":"libc", + "function_name":"closedir" + }, + "1060":{ + "probe_name":"libc", + "function_name":"closefrom" + }, + "1061":{ + "probe_name":"libc", + "function_name":"closelog" + }, + "1062":{ + "probe_name":"libc", + "function_name":"comma" + }, + "1063":{ + "probe_name":"libc", + "function_name":"confstr" + }, + "1064":{ + "probe_name":"libc", + "function_name":"connect" + }, + "1065":{ + "probe_name":"libc", + "function_name":"copysign" + }, + "1066":{ + "probe_name":"libc", + "function_name":"copysignf" + }, + "1067":{ + "probe_name":"libc", + "function_name":"copysignf128" + }, + "1068":{ + "probe_name":"libc", + "function_name":"copysignf32" + }, + "1069":{ + "probe_name":"libc", + "function_name":"copysignf32x" + }, + "1070":{ + "probe_name":"libc", + "function_name":"copysignf64" + }, + "1071":{ + "probe_name":"libc", + "function_name":"copysignf64x" + }, + "1072":{ + "probe_name":"libc", + "function_name":"copysignl" + }, + "1073":{ + "probe_name":"libc", + "function_name":"creat" + }, + "1074":{ + "probe_name":"libc", + "function_name":"creat64" + }, + "1075":{ + "probe_name":"libc", + "function_name":"ctermid" + }, + "1076":{ + "probe_name":"libc", + "function_name":"cuserid" + }, + "1077":{ + "probe_name":"libc", + "function_name":"daemon" + }, + "1078":{ + "probe_name":"libc", + "function_name":"dcgettext" + }, + "1079":{ + "probe_name":"libc", + "function_name":"dcngettext" + }, + "1080":{ + "probe_name":"libc", + "function_name":"deallocate" + }, + "1081":{ + "probe_name":"libc", + "function_name":"dgettext" + }, + "1085":{ + "probe_name":"libc", + "function_name":"dngettext" + }, + "1086":{ + "probe_name":"libc", + "function_name":"dprintf" + }, + "1087":{ + "probe_name":"libc", + "function_name":"drand48" + }, + "1088":{ + "probe_name":"libc", + "function_name":"dup" + }, + "1089":{ + "probe_name":"libc", + "function_name":"dup2" + }, + "1090":{ + "probe_name":"libc", + "function_name":"dup3" + }, + "1091":{ + "probe_name":"libc", + "function_name":"duplocale" + }, + "1092":{ + "probe_name":"libc", + "function_name":"dysize" + }, + "1093":{ + "probe_name":"libc", + "function_name":"eaccess" + }, + "1094":{ + "probe_name":"libc", + "function_name":"ecvt" + }, + "1095":{ + "probe_name":"libc", + "function_name":"endaliasent" + }, + "1096":{ + "probe_name":"libc", + "function_name":"endfsent" + }, + "1097":{ + "probe_name":"libc", + "function_name":"endgrent" + }, + "1098":{ + "probe_name":"libc", + "function_name":"endhostent" + }, + "1099":{ + "probe_name":"libc", + "function_name":"endmntent" + }, + "1100":{ + "probe_name":"libc", + "function_name":"endnetent" + }, + "1101":{ + "probe_name":"libc", + "function_name":"endnetgrent" + }, + "1102":{ + "probe_name":"libc", + "function_name":"endprotoent" + }, + "1103":{ + "probe_name":"libc", + "function_name":"endpwent" + }, + "1104":{ + "probe_name":"libc", + "function_name":"endrpcent" + }, + "1105":{ + "probe_name":"libc", + "function_name":"endservent" + }, + "1106":{ + "probe_name":"libc", + "function_name":"endsgent" + }, + "1107":{ + "probe_name":"libc", + "function_name":"endspent" + }, + "1108":{ + "probe_name":"libc", + "function_name":"endttyent" + }, + "0":{ + "probe_name":"M", + "function_name":"SH" + }, + "1109":{ + "probe_name":"libc", + "function_name":"endusershell" + }, + "1":{ + "probe_name":"DC", + "function_name":"start" + }, + "1110":{ + "probe_name":"libc", + "function_name":"endutent" + }, + "2":{ + "probe_name":"DC", + "function_name":"end" + }, + "1111":{ + "probe_name":"libc", + "function_name":"endutxent" + }, + "1112":{ + "probe_name":"libc", + "function_name":"erand48" + }, + "1113":{ + "probe_name":"libc", + "function_name":"err" + }, + "1114":{ + "probe_name":"libc", + "function_name":"error" + }, + "1115":{ + "probe_name":"libc", + "function_name":"errx" + }, + "1116":{ + "probe_name":"libc", + "function_name":"euidaccess" + }, + "1117":{ + "probe_name":"libc", + "function_name":"eventfd" + }, + "1118":{ + "probe_name":"libc", + "function_name":"exchange" + }, + "1119":{ + "probe_name":"libc", + "function_name":"execl" + }, + "1120":{ + "probe_name":"libc", + "function_name":"execle" + }, + "1121":{ + "probe_name":"libc", + "function_name":"execlp" + }, + "1122":{ + "probe_name":"libc", + "function_name":"execv" + }, + "1123":{ + "probe_name":"libc", + "function_name":"execve" + }, + "1254":{ + "probe_name":"libc", + "function_name":"gethostbyname2" + }, + "1255":{ + "probe_name":"libc", + "function_name":"gethostent" + }, + "1256":{ + "probe_name":"libc", + "function_name":"gethostid" + }, + "1257":{ + "probe_name":"libc", + "function_name":"gethostname" + }, + "1258":{ + "probe_name":"libc", + "function_name":"gethosts" + }, + "1259":{ + "probe_name":"libc", + "function_name":"getifaddrs" + }, + "1260":{ + "probe_name":"libc", + "function_name":"getipv4sourcefilter" + }, + "1261":{ + "probe_name":"libc", + "function_name":"getline" + }, + "1262":{ + "probe_name":"libc", + "function_name":"getloadavg" + }, + "1263":{ + "probe_name":"libc", + "function_name":"getlogin" + }, + "1264":{ + "probe_name":"libc", + "function_name":"getmntent" + }, + "1265":{ + "probe_name":"libc", + "function_name":"getnameinfo" + }, + "1266":{ + "probe_name":"libc", + "function_name":"getnetbyaddr" + }, + "1267":{ + "probe_name":"libc", + "function_name":"getnetbyname" + }, + "1268":{ + "probe_name":"libc", + "function_name":"getnetent" + }, + "1269":{ + "probe_name":"libc", + "function_name":"getnetgrent" + }, + "1270":{ + "probe_name":"libc", + "function_name":"getopt" + }, + "1271":{ + "probe_name":"libc", + "function_name":"getpagesize" + }, + "1272":{ + "probe_name":"libc", + "function_name":"getpass" + }, + "1273":{ + "probe_name":"libc", + "function_name":"getpeername" + }, + "1274":{ + "probe_name":"libc", + "function_name":"getpgid" + }, + "1275":{ + "probe_name":"libc", + "function_name":"getpgrp" + }, + "1276":{ + "probe_name":"libc", + "function_name":"getpid" + }, + "1277":{ + "probe_name":"libc", + "function_name":"getppid" + }, + "1278":{ + "probe_name":"libc", + "function_name":"getpriority" + }, + "1279":{ + "probe_name":"libc", + "function_name":"getprotobyname" + }, + "1280":{ + "probe_name":"libc", + "function_name":"getprotobynumber" + }, + "1281":{ + "probe_name":"libc", + "function_name":"getprotoent" + }, + "1282":{ + "probe_name":"libc", + "function_name":"getpt" + }, + "1283":{ + "probe_name":"libc", + "function_name":"getpw" + }, + "1284":{ + "probe_name":"libc", + "function_name":"getpwent" + }, + "1285":{ + "probe_name":"libc", + "function_name":"getpwnam" + }, + "1286":{ + "probe_name":"libc", + "function_name":"getpwuid" + }, + "1287":{ + "probe_name":"libc", + "function_name":"getrandom" + }, + "1288":{ + "probe_name":"libc", + "function_name":"getresgid" + }, + "1289":{ + "probe_name":"libc", + "function_name":"getresuid" + }, + "1290":{ + "probe_name":"libc", + "function_name":"getrlimit" + }, + "1291":{ + "probe_name":"libc", + "function_name":"getrlimit64" + }, + "1292":{ + "probe_name":"libc", + "function_name":"getrpcbyname" + }, + "1293":{ + "probe_name":"libc", + "function_name":"getrpcbynumber" + }, + "1294":{ + "probe_name":"libc", + "function_name":"getrpcent" + }, + "1295":{ + "probe_name":"libc", + "function_name":"getrusage" + }, + "1296":{ + "probe_name":"libc", + "function_name":"gets" + }, + "1297":{ + "probe_name":"libc", + "function_name":"getservbyname" + }, + "1298":{ + "probe_name":"libc", + "function_name":"getservbyport" + }, + "1299":{ + "probe_name":"libc", + "function_name":"getservent" + }, + "1300":{ + "probe_name":"libc", + "function_name":"getsgent" + }, + "1301":{ + "probe_name":"libc", + "function_name":"getsid" + }, + "1302":{ + "probe_name":"libc", + "function_name":"getsockname" + }, + "1303":{ + "probe_name":"libc", + "function_name":"getsockopt" + }, + "1304":{ + "probe_name":"libc", + "function_name":"getsourcefilter" + }, + "1305":{ + "probe_name":"libc", + "function_name":"getspent" + }, + "1306":{ + "probe_name":"libc", + "function_name":"getspnam" + }, + "1307":{ + "probe_name":"libc", + "function_name":"getsubopt" + }, + "1308":{ + "probe_name":"libc", + "function_name":"gettext" + }, + "1309":{ + "probe_name":"libc", + "function_name":"gettid" + }, + "1310":{ + "probe_name":"libc", + "function_name":"getttyent" + }, + "1311":{ + "probe_name":"libc", + "function_name":"getttynam" + }, + "1312":{ + "probe_name":"libc", + "function_name":"getuid" + }, + "1313":{ + "probe_name":"libc", + "function_name":"getusershell" + }, + "1314":{ + "probe_name":"libc", + "function_name":"getutent" + }, + "1315":{ + "probe_name":"libc", + "function_name":"getutid" + }, + "1316":{ + "probe_name":"libc", + "function_name":"getutline" + }, + "1317":{ + "probe_name":"libc", + "function_name":"getutmp" + }, + "1318":{ + "probe_name":"libc", + "function_name":"getutmpx" + }, + "1319":{ + "probe_name":"libc", + "function_name":"getutxent" + }, + "1320":{ + "probe_name":"libc", + "function_name":"getutxid" + }, + "1321":{ + "probe_name":"libc", + "function_name":"getutxline" + }, + "1322":{ + "probe_name":"libc", + "function_name":"getw" + }, + "1323":{ + "probe_name":"libc", + "function_name":"getwc" + }, + "1324":{ + "probe_name":"libc", + "function_name":"getwchar" + }, + "1325":{ + "probe_name":"libc", + "function_name":"getwd" + }, + "1326":{ + "probe_name":"libc", + "function_name":"getxattr" + }, + "1327":{ + "probe_name":"libc", + "function_name":"globfree" + }, + "1328":{ + "probe_name":"libc", + "function_name":"globfree64" + }, + "1329":{ + "probe_name":"libc", + "function_name":"gtty" + }, + "1330":{ + "probe_name":"libc", + "function_name":"hcreate" + }, + "1331":{ + "probe_name":"libc", + "function_name":"hdestroy" + }, + "1332":{ + "probe_name":"libc", + "function_name":"herror" + }, + "1333":{ + "probe_name":"libc", + "function_name":"hex2bin" + }, + "1334":{ + "probe_name":"libc", + "function_name":"hsearch" + }, + "1335":{ + "probe_name":"libc", + "function_name":"hstrerror" + }, + "1336":{ + "probe_name":"libc", + "function_name":"htonl" + }, + "1337":{ + "probe_name":"libc", + "function_name":"htons" + }, + "1338":{ + "probe_name":"libc", + "function_name":"iconv" + }, + "1339":{ + "probe_name":"libc", + "function_name":"imaxabs" + }, + "1340":{ + "probe_name":"libc", + "function_name":"imaxdiv" + }, + "1341":{ + "probe_name":"libc", + "function_name":"in6aicmp" + }, + "1342":{ + "probe_name":"libc", + "function_name":"init" + }, + "1343":{ + "probe_name":"libc", + "function_name":"initgroups" + }, + "1344":{ + "probe_name":"libc", + "function_name":"initshells" + }, + "1345":{ + "probe_name":"libc", + "function_name":"initstate" + }, + "1346":{ + "probe_name":"libc", + "function_name":"innetgr" + }, + "1347":{ + "probe_name":"libc", + "function_name":"insert.part.0" + }, + "1348":{ + "probe_name":"libc", + "function_name":"insque" + }, + "1349":{ + "probe_name":"libc", + "function_name":"ioctl" + }, + "1350":{ + "probe_name":"libc", + "function_name":"ioperm" + }, + "1351":{ + "probe_name":"libc", + "function_name":"iopl" + }, + "1352":{ + "probe_name":"libc", + "function_name":"iruserfopen" + }, + "1353":{ + "probe_name":"libc", + "function_name":"iruserok" + }, + "1354":{ + "probe_name":"libc", + "function_name":"isalnum" + }, + "1355":{ + "probe_name":"libc", + "function_name":"isalpha" + }, + "1356":{ + "probe_name":"libc", + "function_name":"isascii" + }, + "1357":{ + "probe_name":"libc", + "function_name":"isatty" + }, + "1358":{ + "probe_name":"libc", + "function_name":"isblank" + }, + "1359":{ + "probe_name":"libc", + "function_name":"iscntrl" + }, + "1360":{ + "probe_name":"libc", + "function_name":"isctype" + }, + "1361":{ + "probe_name":"libc", + "function_name":"isdigit" + }, + "1362":{ + "probe_name":"libc", + "function_name":"isfdtype" + }, + "1363":{ + "probe_name":"libc", + "function_name":"isgraph" + }, + "1364":{ + "probe_name":"libc", + "function_name":"isinf" + }, + "1365":{ + "probe_name":"libc", + "function_name":"isinff" + }, + "1366":{ + "probe_name":"libc", + "function_name":"isinfl" + }, + "1367":{ + "probe_name":"libc", + "function_name":"islower" + }, + "1368":{ + "probe_name":"libc", + "function_name":"isnan" + }, + "1369":{ + "probe_name":"libc", + "function_name":"isnanf" + }, + "1370":{ + "probe_name":"libc", + "function_name":"isnanl" + }, + "1371":{ + "probe_name":"libc", + "function_name":"isprint" + }, + "1372":{ + "probe_name":"libc", + "function_name":"ispunct" + }, + "1373":{ + "probe_name":"libc", + "function_name":"isspace" + }, + "1374":{ + "probe_name":"libc", + "function_name":"isupper" + }, + "1375":{ + "probe_name":"libc", + "function_name":"iswalnum" + }, + "1376":{ + "probe_name":"libc", + "function_name":"iswalpha" + }, + "1377":{ + "probe_name":"libc", + "function_name":"iswblank" + }, + "1378":{ + "probe_name":"libc", + "function_name":"iswcntrl" + }, + "1379":{ + "probe_name":"libc", + "function_name":"iswctype" + }, + "1380":{ + "probe_name":"libc", + "function_name":"iswdigit" + }, + "1381":{ + "probe_name":"libc", + "function_name":"iswgraph" + }, + "1382":{ + "probe_name":"libc", + "function_name":"iswlower" + }, + "1383":{ + "probe_name":"libc", + "function_name":"iswprint" + }, + "1384":{ + "probe_name":"libc", + "function_name":"iswpunct" + }, + "1385":{ + "probe_name":"libc", + "function_name":"iswspace" + }, + "1386":{ + "probe_name":"libc", + "function_name":"iswupper" + }, + "1387":{ + "probe_name":"libc", + "function_name":"iswxdigit" + }, + "1388":{ + "probe_name":"libc", + "function_name":"isxdigit" + }, + "1389":{ + "probe_name":"libc", + "function_name":"jrand48" + }, + "1390":{ + "probe_name":"libc", + "function_name":"kill" + }, + "1391":{ + "probe_name":"libc", + "function_name":"killpg" + }, + "1392":{ + "probe_name":"libc", + "function_name":"klogctl" + }, + "1393":{ + "probe_name":"libc", + "function_name":"l64a" + }, + "1394":{ + "probe_name":"libc", + "function_name":"labs" + }, + "1395":{ + "probe_name":"libc", + "function_name":"lchmod" + }, + "1396":{ + "probe_name":"libc", + "function_name":"lchown" + }, + "1397":{ + "probe_name":"libc", + "function_name":"lckpwdf" + }, + "1398":{ + "probe_name":"libc", + "function_name":"lcong48" + }, + "1399":{ + "probe_name":"libc", + "function_name":"ldexp" + }, + "1400":{ + "probe_name":"libc", + "function_name":"ldexpf" + }, + "1401":{ + "probe_name":"libc", + "function_name":"ldexpf128" + }, + "1402":{ + "probe_name":"libc", + "function_name":"ldexpf32" + }, + "1403":{ + "probe_name":"libc", + "function_name":"ldexpf32x" + }, + "1404":{ + "probe_name":"libc", + "function_name":"ldexpf64" + }, + "1405":{ + "probe_name":"libc", + "function_name":"ldexpf64x" + }, + "1406":{ + "probe_name":"libc", + "function_name":"ldexpl" + }, + "1407":{ + "probe_name":"libc", + "function_name":"ldiv" + }, + "1408":{ + "probe_name":"libc", + "function_name":"lfind" + }, + "1409":{ + "probe_name":"libc", + "function_name":"lgetxattr" + }, + "1410":{ + "probe_name":"libc", + "function_name":"link" + }, + "1411":{ + "probe_name":"libc", + "function_name":"linkat" + }, + "1412":{ + "probe_name":"libc", + "function_name":"listen" + }, + "1413":{ + "probe_name":"libc", + "function_name":"listxattr" + }, + "1414":{ + "probe_name":"libc", + "function_name":"llabs" + }, + "1415":{ + "probe_name":"libc", + "function_name":"lldiv" + }, + "1416":{ + "probe_name":"libc", + "function_name":"llistxattr" + }, + "1417":{ + "probe_name":"libc", + "function_name":"lockf" + }, + "1418":{ + "probe_name":"libc", + "function_name":"lockf64" + }, + "1419":{ + "probe_name":"libc", + "function_name":"longjmp" + }, + "1420":{ + "probe_name":"libc", + "function_name":"lrand48" + }, + "1421":{ + "probe_name":"libc", + "function_name":"lremovexattr" + }, + "1422":{ + "probe_name":"libc", + "function_name":"lsearch" + }, + "1423":{ + "probe_name":"libc", + "function_name":"lseek" + }, + "1424":{ + "probe_name":"libc", + "function_name":"lseek64" + }, + "1425":{ + "probe_name":"libc", + "function_name":"lsetxattr" + }, + "1426":{ + "probe_name":"libc", + "function_name":"lstat" + }, + "1427":{ + "probe_name":"libc", + "function_name":"lstat64" + }, + "1428":{ + "probe_name":"libc", + "function_name":"madvise" + }, + "1429":{ + "probe_name":"libc", + "function_name":"makecontext" + }, + "1430":{ + "probe_name":"libc", + "function_name":"mallinfo" + }, + "1431":{ + "probe_name":"libc", + "function_name":"mallinfo2" + }, + "1432":{ + "probe_name":"libc", + "function_name":"malloc" + }, + "1433":{ + "probe_name":"libc", + "function_name":"mallopt" + }, + "1434":{ + "probe_name":"libc", + "function_name":"mblen" + }, + "1435":{ + "probe_name":"libc", + "function_name":"mbrlen" + }, + "1436":{ + "probe_name":"libc", + "function_name":"mbrtoc16" + }, + "1437":{ + "probe_name":"libc", + "function_name":"mbrtoc32" + }, + "1438":{ + "probe_name":"libc", + "function_name":"mbrtowc" + }, + "1439":{ + "probe_name":"libc", + "function_name":"mbsinit" + }, + "1440":{ + "probe_name":"libc", + "function_name":"mbsnrtowcs" + }, + "1441":{ + "probe_name":"libc", + "function_name":"mbsrtowcs" + }, + "1442":{ + "probe_name":"libc", + "function_name":"mbstowcs" + }, + "1443":{ + "probe_name":"libc", + "function_name":"mbtowc" + }, + "1444":{ + "probe_name":"libc", + "function_name":"mcheck" + }, + "1445":{ + "probe_name":"libc", + "function_name":"mcount" + }, + "1446":{ + "probe_name":"libc", + "function_name":"memalign" + }, + "1447":{ + "probe_name":"libc", + "function_name":"memccpy" + }, + "1448":{ + "probe_name":"libc", + "function_name":"memfrob" + }, + "1449":{ + "probe_name":"libc", + "function_name":"memmem" + }, + "1450":{ + "probe_name":"libc", + "function_name":"mincore" + }, + "1451":{ + "probe_name":"libc", + "function_name":"mkdir" + }, + "1452":{ + "probe_name":"libc", + "function_name":"mkdirat" + }, + "1453":{ + "probe_name":"libc", + "function_name":"mkdtemp" + }, + "1454":{ + "probe_name":"libc", + "function_name":"mkfifo" + }, + "1455":{ + "probe_name":"libc", + "function_name":"mkfifoat" + }, + "1456":{ + "probe_name":"libc", + "function_name":"mknod" + }, + "1457":{ + "probe_name":"libc", + "function_name":"mknodat" + }, + "1458":{ + "probe_name":"libc", + "function_name":"mkostemp" + }, + "1459":{ + "probe_name":"libc", + "function_name":"mkostemp64" + }, + "1460":{ + "probe_name":"libc", + "function_name":"mkostemps" + }, + "1461":{ + "probe_name":"libc", + "function_name":"mkostemps64" + }, + "1462":{ + "probe_name":"libc", + "function_name":"mkstemp" + }, + "1463":{ + "probe_name":"libc", + "function_name":"mkstemp64" + }, + "1464":{ + "probe_name":"libc", + "function_name":"mkstemps" + }, + "1465":{ + "probe_name":"libc", + "function_name":"mkstemps64" + }, + "1466":{ + "probe_name":"libc", + "function_name":"mktemp" + }, + "1467":{ + "probe_name":"libc", + "function_name":"mlock" + }, + "1468":{ + "probe_name":"libc", + "function_name":"mlock2" + }, + "1469":{ + "probe_name":"libc", + "function_name":"mlockall" + }, + "1470":{ + "probe_name":"libc", + "function_name":"mmap" + }, + "1471":{ + "probe_name":"libc", + "function_name":"mmap64" + }, + "1472":{ + "probe_name":"libc", + "function_name":"modf" + }, + "1473":{ + "probe_name":"libc", + "function_name":"modff" + }, + "1474":{ + "probe_name":"libc", + "function_name":"modff128" + }, + "1475":{ + "probe_name":"libc", + "function_name":"modff32" + }, + "1476":{ + "probe_name":"libc", + "function_name":"modff32x" + }, + "1477":{ + "probe_name":"libc", + "function_name":"modff64" + }, + "1478":{ + "probe_name":"libc", + "function_name":"modff64x" + }, + "1479":{ + "probe_name":"libc", + "function_name":"modfl" + }, + "1480":{ + "probe_name":"libc", + "function_name":"moncontrol" + }, + "1481":{ + "probe_name":"libc", + "function_name":"monstartup" + }, + "1482":{ + "probe_name":"libc", + "function_name":"mount" + }, + "1483":{ + "probe_name":"libc", + "function_name":"mprobe" + }, + "1484":{ + "probe_name":"libc", + "function_name":"mprotect" + }, + "1485":{ + "probe_name":"libc", + "function_name":"mrand48" + }, + "1486":{ + "probe_name":"libc", + "function_name":"mremap" + }, + "1487":{ + "probe_name":"libc", + "function_name":"msgget" + }, + "1488":{ + "probe_name":"libc", + "function_name":"msgrcv" + }, + "1489":{ + "probe_name":"libc", + "function_name":"msgsnd" + }, + "1490":{ + "probe_name":"libc", + "function_name":"msync" + }, + "1491":{ + "probe_name":"libc", + "function_name":"mtrace" + }, + "1492":{ + "probe_name":"libc", + "function_name":"munlock" + }, + "1493":{ + "probe_name":"libc", + "function_name":"munlockall" + }, + "1494":{ + "probe_name":"libc", + "function_name":"munmap" + }, + "1495":{ + "probe_name":"libc", + "function_name":"muntrace" + }, + "1496":{ + "probe_name":"libc", + "function_name":"nanosleep" + }, + "1497":{ + "probe_name":"libc", + "function_name":"newlocale" + }, + "1498":{ + "probe_name":"libc", + "function_name":"ngettext" + }, + "1499":{ + "probe_name":"libc", + "function_name":"nice" + }, + "1500":{ + "probe_name":"libc", + "function_name":"nrand48" + }, + "1501":{ + "probe_name":"libc", + "function_name":"ntohl" + }, + "1502":{ + "probe_name":"libc", + "function_name":"ntohs" + }, + "1503":{ + "probe_name":"libc", + "function_name":"open" + }, + "1504":{ + "probe_name":"libc", + "function_name":"open64" + }, + "1505":{ + "probe_name":"libc", + "function_name":"openat" + }, + "1506":{ + "probe_name":"libc", + "function_name":"openat64" + }, + "1507":{ + "probe_name":"libc", + "function_name":"opendir" + }, + "1508":{ + "probe_name":"libc", + "function_name":"openlog" + }, + "1509":{ + "probe_name":"libc", + "function_name":"pathconf" + }, + "1510":{ + "probe_name":"libc", + "function_name":"pause" + }, + "1511":{ + "probe_name":"libc", + "function_name":"pcmp" + }, + "1512":{ + "probe_name":"libc", + "function_name":"perror" + }, + "1513":{ + "probe_name":"libc", + "function_name":"personality" + }, + "1514":{ + "probe_name":"libc", + "function_name":"pipe" + }, + "1515":{ + "probe_name":"libc", + "function_name":"pipe2" + }, + "1516":{ + "probe_name":"libc", + "function_name":"prctl" + }, + "1517":{ + "probe_name":"libc", + "function_name":"pread" + }, + "1518":{ + "probe_name":"libc", + "function_name":"pread64" + }, + "1519":{ + "probe_name":"libc", + "function_name":"preadv" + }, + "1520":{ + "probe_name":"libc", + "function_name":"preadv2" + }, + "1521":{ + "probe_name":"libc", + "function_name":"preadv64" + }, + "1522":{ + "probe_name":"libc", + "function_name":"preadv64v2" + }, + "1523":{ + "probe_name":"libc", + "function_name":"prefixcmp" + }, + "1524":{ + "probe_name":"libc", + "function_name":"printf" + }, + "1525":{ + "probe_name":"libc", + "function_name":"prlimit" + }, + "1526":{ + "probe_name":"libc", + "function_name":"prlimit64" + }, + "1527":{ + "probe_name":"libc", + "function_name":"profil" + }, + "1528":{ + "probe_name":"libc", + "function_name":"pselect" + }, + "1529":{ + "probe_name":"libc", + "function_name":"psiginfo" + }, + "1530":{ + "probe_name":"libc", + "function_name":"ptrace" + }, + "1531":{ + "probe_name":"libc", + "function_name":"ptsname" + }, + "1532":{ + "probe_name":"libc", + "function_name":"putc" + }, + "1533":{ + "probe_name":"libc", + "function_name":"putchar" + }, + "1534":{ + "probe_name":"libc", + "function_name":"putenv" + }, + "1535":{ + "probe_name":"libc", + "function_name":"putgrent" + }, + "1536":{ + "probe_name":"libc", + "function_name":"putpwent" + }, + "1537":{ + "probe_name":"libc", + "function_name":"puts" + } +} \ No newline at end of file diff --git a/etc/datacrumbs/data/manual-probes-haridev-lead-us.json b/etc/datacrumbs/data/manual-probes-haridev-lead-us.json index 5a2a9eed..7651eb4e 100644 --- a/etc/datacrumbs/data/manual-probes-haridev-lead-us.json +++ b/etc/datacrumbs/data/manual-probes-haridev-lead-us.json @@ -1 +1,22 @@ -[{"type":2,"name":"libc","functions":["1160","1161","1162","1163"],"binary_path":"/usr/lib64/libc.so.6","include_offsets":false}] +[ + { + "type":2, + "name":"libc", + "functions":[ + "1010", + "1011", + "1051", + "1052", + "1567", + "1568", + "1569", + "1570", + "1928", + "1929", + "1930", + "1931" + ], + "binary_path":"\/usr\/lib64\/libc.so.6", + "include_offsets":false + } +] \ No newline at end of file diff --git a/etc/datacrumbs/data/probes-haridev-lead-us.json b/etc/datacrumbs/data/probes-haridev-lead-us.json index 975e6b38..a9831b3d 100644 --- a/etc/datacrumbs/data/probes-haridev-lead-us.json +++ b/etc/datacrumbs/data/probes-haridev-lead-us.json @@ -1 +1,944 @@ -[{"type":2,"name":"libc","functions":["access","chdir","chmod","chown","close","closedir","connect","creat","creat64","dirfd","dup","dup2","dup3","eaccess","euidaccess","eventfd","faccessat","fallocate","fallocate64","fchdir","fchmod","fchmodat","fchown","fchownat","fcloseall","fcntl","fcntl64","fdatasync","fdopendir","fflush","fgetc","fgets","fgetwc","fgetws","fgetxattr","fileno","flistxattr","flock","fopen64","fprintf","fputc","fputs","fputwc","fputws","fread","fremovexattr","freopen","freopen64","fscanf","fseek","fseeko","fseeko64","fsetxattr","fstat","fstat64","fstatat","fstatat64","fstatfs","fstatfs64","fstatvfs","fstatvfs64","fsync","ftell","ftello","ftello64","ftruncate","ftruncate64","ftw","ftw64","fwprintf","fwrite","fwscanf","getc","getchar","getcwd","getdelim","getdents64","getdirentries","getdirentries64","getline","getpeername","getsockname","getsockopt","getw","getwc","getwchar","getwd","getxattr","ioctl","lchmod","lchown","lgetxattr","link","linkat","listen","listxattr","llistxattr","lockf","lockf64","lremovexattr","lseek","lseek64","lsetxattr","lstat","lstat64","mkdir","mkdirat","mkdtemp","mkfifo","mkfifoat","mknod","mknodat","mkostemp","mkostemp64","mkostemps","mkostemps64","mkstemp","mkstemp64","mkstemps","mkstemps64","mmap","mmap64","mount","mremap","msync","munmap","open","open64","openat","openat64","opendir","openlog","pipe","pipe2","pread","pread64","preadv","preadv2","preadv64","preadv64v2","printf","putc","putchar","puts","putw","putwc","putwchar","pwrite","pwrite64","pwritev","pwritev2","pwritev64","pwritev64v2","quotactl","read","readahead","readdir","readdir64","readlink","readlinkat","readtcp:0x1497e0","readtcp:0x14cc30","readunix:0x146e50","readunix:0x147810","readv","recv","recvfrom","recvmmsg","recvmsg","remove","removexattr","rename","renameat","renameat2","rewind","rewinddir","rmdir","splice","sprintf","sscanf","stat","stat64","statfs","statfs64","statvfs","statvfs64","statx","wprintf","write","writev","wscanf"],"binary_path":"/usr/lib64/libc.so.6","include_offsets":false}] +[ + { + "type":2, + "name":"libc", + "functions":[ + "a64l", + "abort", + "abs", + "accept", + "accept4", + "access", + "acct", + "addmntent", + "addseverity", + "alarm", + "allocate:0x105510", + "allocate:0x122220", + "alphasort", + "alphasort64", + "arg", + "asprintf", + "atof", + "atoi", + "atol", + "atoll", + "backtrace", + "basename", + "bcopy", + "bin2hex", + "bind", + "bindresvport", + "bindtextdomain", + "brk", + "bsearch", + "btowc", + "bzero", + "c16rtomb", + "c32rtomb", + "callback", + "calloc", + "capget", + "capset", + "catclose", + "catgets", + "catopen", + "cfgetispeed", + "cfgetospeed", + "cfmakeraw", + "cfsetispeed", + "cfsetospeed", + "cfsetspeed", + "chdir", + "chflags", + "chmod", + "chown", + "chroot", + "cleanup:0x8ba90", + "cleanup:0x943c0", + "clearenv", + "clearerr", + "clock", + "clone", + "clone3", + "close", + "closedir", + "closefrom", + "closelog", + "comma", + "confstr", + "connect", + "copysign", + "copysignf", + "copysignf128", + "copysignf32", + "copysignf32x", + "copysignf64", + "copysignf64x", + "copysignl", + "creat", + "creat64", + "ctermid", + "cuserid", + "daemon", + "dcgettext", + "dcngettext", + "deallocate", + "dgettext", + "dirfd", + "dirname", + "div", + "dngettext", + "dprintf", + "drand48", + "dup", + "dup2", + "dup3", + "duplocale", + "dysize", + "eaccess", + "ecvt", + "endaliasent", + "endfsent", + "endgrent", + "endhostent", + "endmntent", + "endnetent", + "endnetgrent", + "endprotoent", + "endpwent", + "endrpcent", + "endservent", + "endsgent", + "endspent", + "endttyent", + "endusershell", + "endutent", + "endutxent", + "erand48", + "err", + "error", + "errx", + "euidaccess", + "eventfd", + "exchange", + "execl", + "execle", + "execlp", + "execv", + "execve", + "execveat", + "execvp", + "execvpe", + "exit", + "faccessat", + "fallocate", + "fallocate64", + "fchdir", + "fchflags", + "fchmod", + "fchmodat", + "fchown", + "fchownat", + "fcloseall", + "fcntl", + "fcntl64", + "fcvt", + "fdatasync", + "fdopendir", + "feof", + "ferror", + "fexecve", + "fflush", + "ffs", + "ffsl", + "ffsll", + "fgetc", + "fgetgrent", + "fgetpwent", + "fgets", + "fgetsgent", + "fgetspent", + "fgetwc", + "fgetws", + "fgetxattr", + "fileno", + "fini", + "finite", + "finitef", + "finitel", + "flistxattr", + "flock", + "flockfile", + "fmtmsg", + "fopen64", + "fork", + "fpathconf", + "fprintf", + "fputc", + "fputs", + "fputwc", + "fputws", + "fread", + "free", + "freeaddrinfo", + "freecache", + "freeifaddrs", + "freelocale", + "freeres", + "fremovexattr", + "freopen", + "freopen64", + "frexp", + "frexpf", + "frexpf128", + "frexpf32", + "frexpf32x", + "frexpf64", + "frexpf64x", + "frexpl", + "fscanf", + "fseek", + "fseeko", + "fseeko64", + "fsetxattr", + "fstat", + "fstat64", + "fstatat", + "fstatat64", + "fstatfs", + "fstatfs64", + "fstatvfs", + "fstatvfs64", + "fsync", + "ftell", + "ftello", + "ftello64", + "ftok", + "ftruncate", + "ftruncate64", + "ftrylockfile", + "ftw", + "ftw64", + "funlockfile", + "fwide", + "fwprintf", + "fwrite", + "fwscanf", + "gcvt", + "getaddrinfo", + "getaliasbyname", + "getaliasent", + "getauxval", + "getc", + "getchar", + "getcontext", + "getcpu", + "getcwd", + "getdate", + "getdelim", + "getdents64", + "getdirentries", + "getdirentries64", + "getdomainname", + "getdtablesize", + "getegid", + "getentropy", + "getenv", + "geteuid", + "getfsent", + "getfsfile", + "getfsspec", + "getgid", + "getgrent", + "getgrgid", + "getgrnam", + "getgrouplist", + "getgroups", + "gethostbyaddr", + "gethostbyname", + "gethostbyname2", + "gethostent", + "gethostid", + "gethostname", + "gethosts", + "getifaddrs", + "getipv4sourcefilter", + "getline", + "getloadavg", + "getlogin", + "getmntent", + "getnameinfo", + "getnetbyaddr", + "getnetbyname", + "getnetent", + "getnetgrent", + "getopt", + "getpagesize", + "getpass", + "getpeername", + "getpgid", + "getpgrp", + "getpid", + "getppid", + "getpriority", + "getprotobyname", + "getprotobynumber", + "getprotoent", + "getpt", + "getpw", + "getpwent", + "getpwnam", + "getpwuid", + "getrandom", + "getresgid", + "getresuid", + "getrlimit", + "getrlimit64", + "getrpcbyname", + "getrpcbynumber", + "getrpcent", + "getrusage", + "gets", + "getservbyname", + "getservbyport", + "getservent", + "getsgent", + "getsid", + "getsockname", + "getsockopt", + "getsourcefilter", + "getspent", + "getspnam", + "getsubopt", + "gettext", + "gettid", + "getttyent", + "getttynam", + "getuid", + "getusershell", + "getutent", + "getutid", + "getutline", + "getutmp", + "getutmpx", + "getutxent", + "getutxid", + "getutxline", + "getw", + "getwc", + "getwchar", + "getwd", + "getxattr", + "globfree", + "globfree64", + "gtty", + "hcreate", + "hdestroy", + "herror", + "hex2bin", + "hsearch", + "hstrerror", + "htonl", + "htons", + "iconv", + "imaxabs", + "imaxdiv", + "in6aicmp", + "init", + "initgroups", + "initshells", + "initstate", + "innetgr", + "insert.part.0", + "insque", + "ioctl", + "ioperm", + "iopl", + "iruserfopen", + "iruserok", + "isalnum", + "isalpha", + "isascii", + "isatty", + "isblank", + "iscntrl", + "isctype", + "isdigit", + "isfdtype", + "isgraph", + "isinf", + "isinff", + "isinfl", + "islower", + "isnan", + "isnanf", + "isnanl", + "isprint", + "ispunct", + "isspace", + "isupper", + "iswalnum", + "iswalpha", + "iswblank", + "iswcntrl", + "iswctype", + "iswdigit", + "iswgraph", + "iswlower", + "iswprint", + "iswpunct", + "iswspace", + "iswupper", + "iswxdigit", + "isxdigit", + "jrand48", + "kill", + "killpg", + "klogctl", + "l64a", + "labs", + "lchmod", + "lchown", + "lckpwdf", + "lcong48", + "ldexp", + "ldexpf", + "ldexpf128", + "ldexpf32", + "ldexpf32x", + "ldexpf64", + "ldexpf64x", + "ldexpl", + "ldiv", + "lfind", + "lgetxattr", + "link", + "linkat", + "listen", + "listxattr", + "llabs", + "lldiv", + "llistxattr", + "lockf", + "lockf64", + "longjmp", + "lrand48", + "lremovexattr", + "lsearch", + "lseek", + "lseek64", + "lsetxattr", + "lstat", + "lstat64", + "madvise", + "makecontext", + "mallinfo", + "mallinfo2", + "malloc", + "mallopt", + "mblen", + "mbrlen", + "mbrtoc16", + "mbrtoc32", + "mbrtowc", + "mbsinit", + "mbsnrtowcs", + "mbsrtowcs", + "mbstowcs", + "mbtowc", + "mcheck", + "mcount", + "memalign", + "memccpy", + "memfrob", + "memmem", + "mincore", + "mkdir", + "mkdirat", + "mkdtemp", + "mkfifo", + "mkfifoat", + "mknod", + "mknodat", + "mkostemp", + "mkostemp64", + "mkostemps", + "mkostemps64", + "mkstemp", + "mkstemp64", + "mkstemps", + "mkstemps64", + "mktemp", + "mlock", + "mlock2", + "mlockall", + "mmap", + "mmap64", + "modf", + "modff", + "modff128", + "modff32", + "modff32x", + "modff64", + "modff64x", + "modfl", + "moncontrol", + "monstartup", + "mount", + "mprobe", + "mprotect", + "mrand48", + "mremap", + "msgget", + "msgrcv", + "msgsnd", + "msync", + "mtrace", + "munlock", + "munlockall", + "munmap", + "muntrace", + "nanosleep", + "newlocale", + "ngettext", + "nice", + "nrand48", + "ntohl", + "ntohs", + "open", + "open64", + "openat", + "openat64", + "opendir", + "openlog", + "pathconf", + "pause", + "pcmp", + "perror", + "personality", + "pipe", + "pipe2", + "prctl", + "pread", + "pread64", + "preadv", + "preadv2", + "preadv64", + "preadv64v2", + "prefixcmp", + "printf", + "prlimit", + "prlimit64", + "profil", + "pselect", + "psiginfo", + "ptrace", + "ptsname", + "putc", + "putchar", + "putenv", + "putgrent", + "putpwent", + "puts", + "putsgent", + "putspent", + "pututline", + "pututxline", + "putw", + "putwc", + "putwchar", + "pvalloc", + "pwrite", + "pwrite64", + "pwritev", + "pwritev2", + "pwritev64", + "pwritev64v2", + "qecvt", + "qfcvt", + "qgcvt", + "qsort", + "quotactl", + "raise", + "rand", + "random", + "rcmd", + "read", + "readahead", + "readdir", + "readdir64", + "readlink", + "readlinkat", + "readtcp:0x1497e0", + "readtcp:0x14cc30", + "readunix:0x146e50", + "readunix:0x147810", + "readv", + "realloc", + "reallocarray", + "reboot", + "recv", + "recvfrom", + "recvmmsg", + "recvmsg", + "regcomp", + "regerror", + "regfree", + "remove", + "removexattr", + "remque", + "rename", + "renameat", + "renameat2", + "reopen", + "revoke", + "rewind", + "rewinddir", + "rexec", + "rmdir", + "rpmatch", + "rresvport", + "ruserok", + "ruserpass", + "sbrk", + "scalbn", + "scalbnf", + "scalbnf128", + "scalbnf32", + "scalbnf32x", + "scalbnf64", + "scalbnf64x", + "scalbnl", + "scandir", + "scandir64", + "scandirat", + "scandirat64", + "scanf", + "scopecmp", + "seed48", + "seekdir", + "select", + "semget", + "semop", + "send", + "sendfile", + "sendfile64", + "sendmmsg", + "sendmsg", + "sendto", + "setaliasent", + "setbuf", + "setbuffer", + "setcontext", + "setdomainname", + "setegid", + "setenv", + "seteuid", + "setfsent", + "setfsgid", + "setfsuid", + "setgid", + "setgrent", + "setgroups", + "sethostent", + "sethostid", + "sethostname", + "setipv4sourcefilter", + "setjmp", + "setlinebuf", + "setlocale", + "setlogin", + "setlogmask", + "setmntent", + "setnetent", + "setnetgrent", + "setns", + "setpgid", + "setpgrp", + "setpriority", + "setprotoent", + "setpwent", + "setregid", + "setresgid", + "setresuid", + "setreuid", + "setrlimit", + "setrlimit64", + "setrpcent", + "setservent", + "setsgent", + "setsid", + "setsockopt", + "setsourcefilter", + "setspent", + "setstate", + "setttyent", + "setuid", + "setusershell", + "setutent", + "setutxent", + "setvbuf", + "setxattr", + "sgetsgent", + "sgetspent", + "shmat", + "shmdt", + "shmget", + "shutdown", + "sigaction", + "sigaddset", + "sigaltstack", + "sigandset", + "sigblock", + "sigdelset", + "sigemptyset", + "sigfillset", + "siggetmask", + "sighold", + "sigignore", + "siginterrupt", + "sigisemptyset", + "sigismember", + "siglongjmp", + "sigorset", + "sigpause", + "sigpending", + "sigprocmask", + "sigqueue", + "sigrelse", + "sigreturn", + "sigset", + "sigsetmask", + "sigstack", + "sigsuspend", + "sigwait", + "sigwaitinfo", + "skip", + "sleep", + "snprintf", + "sockatmark", + "socket", + "socketpair", + "space", + "splice", + "sprintf", + "sprofil", + "srand", + "srand48", + "srandom", + "sscanf", + "stat", + "stat64", + "statfs", + "statfs64", + "statvfs", + "statvfs64", + "statx", + "strcasestr", + "strcoll", + "strdup", + "strerror", + "strfmon", + "strfromd", + "strfromf", + "strfromf128", + "strfromf32", + "strfromf32x", + "strfromf64", + "strfromf64x", + "strfroml", + "strfry", + "strndup", + "strsep", + "strtod", + "strtof", + "strtof128", + "strtof32", + "strtof32x", + "strtof64", + "strtof64x", + "strtoimax", + "strtok", + "strtol", + "strtold", + "strtoll", + "strtoq", + "strtoul", + "strtoull", + "strtoumax", + "strtouq", + "strverscmp", + "strxfrm", + "stty", + "swab", + "swapcontext", + "swapoff", + "swapon", + "swprintf", + "swscanf", + "symlink", + "symlinkat", + "sync", + "syncfs", + "syscall", + "sysconf", + "sysinfo", + "syslog", + "sysmalloc", + "system", + "systrim.constprop.0", + "tcdrain", + "tcflow", + "tcflush", + "tcgetattr", + "tcgetpgrp", + "tcgetsid", + "tcsendbreak", + "tcsetattr", + "tcsetpgrp", + "tdelete", + "tdestroy", + "tee", + "telldir", + "tempnam", + "textdomain", + "tfind", + "tgkill", + "tmpfile64", + "tmpnam", + "toascii", + "token.part.0", + "tolower", + "toupper", + "towctrans", + "towlower", + "towupper", + "transcmp", + "trecurse", + "truncate", + "truncate64", + "try", + "tsearch", + "ttyname", + "ttyslot", + "twalk", + "tzset", + "ualarm", + "ulckpwdf", + "ulimit", + "umask", + "umount", + "umount2", + "uname", + "ungetc", + "ungetwc", + "universal", + "unlink", + "unlinkat", + "unlock", + "unlockpt", + "unsetenv", + "unshare", + "updwtmp", + "updwtmpx", + "uselocale", + "usleep", + "utmpname", + "utmpxname", + "valloc", + "vasprintf", + "vdprintf", + "verr", + "verrx", + "versionsort", + "versionsort64", + "vfork", + "vfprintf", + "vfscanf", + "vfwprintf", + "vfwscanf", + "vhangup", + "vlimit", + "vmsplice", + "vprintf", + "vscanf", + "vsnprintf", + "vsprintf", + "vsscanf", + "vswprintf", + "vswscanf", + "vsyslog", + "vwarn", + "vwarnx", + "vwprintf", + "vwscanf", + "wait", + "wait3", + "wait4", + "waitid", + "waitpid", + "walker", + "warn", + "warnx", + "wcpcpy", + "wcpncpy", + "wcrtomb", + "wcscasecmp", + "wcscat", + "wcschrnul", + "wcscoll", + "wcscspn", + "wcsdup", + "wcsncasecmp", + "wcsncat", + "wcsncpy", + "wcsnrtombs", + "wcspbrk", + "wcsrtombs", + "wcsspn", + "wcsstr", + "wcstod", + "wcstof", + "wcstof128", + "wcstof32", + "wcstof32x", + "wcstof64", + "wcstof64x", + "wcstoimax", + "wcstok", + "wcstol", + "wcstold", + "wcstoll", + "wcstombs", + "wcstoq", + "wcstoul", + "wcstoull", + "wcstoumax", + "wcstouq", + "wcswcs", + "wcswidth", + "wcsxfrm", + "wctob", + "wctomb", + "wctrans", + "wctype", + "wcwidth", + "wmemcpy", + "wmemmove", + "wmempcpy", + "wordexp", + "wordfree", + "wprintf", + "write", + "writetcp:0x149760", + "writetcp:0x14cbc0", + "writeunix:0x146dd0", + "writeunix:0x1476a0", + "writev", + "wscanf" + ], + "binary_path":"\/usr\/lib64\/libc.so.6", + "include_offsets":false + } +] \ No newline at end of file diff --git a/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c b/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c index 4fe44349..76bc5262 100644 --- a/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c +++ b/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c @@ -76,7 +76,7 @@ static inline __attribute__((always_inline)) int sysio_data_exit(struct pt_regs* } else { DBG_PRINTK("Not Found fd:%d, event_id:%llu\n", *fd_ptr, key.event_id); } - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, key.id, event_id); return 0; } #else @@ -185,7 +185,7 @@ static inline __attribute__((always_inline)) int sysio_metadata_exit(struct pt_r } else { DBG_PRINTK("Not Found fd:%d, event_id:%llu\n", *fd_ptr, key.event_id); } - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, key.id, event_id); return 0; } #else @@ -327,7 +327,7 @@ static inline __attribute__((always_inline)) int sysio_open_exit(struct pt_regs* bpf_map_update_elem(&fd_fname, &file_key, fhash, BPF_ANY); } } - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, key.id, event_id); return 0; } #else diff --git a/infrastrutcure/chameleon/orangefs/.gitignore b/infrastrutcure/chameleon/orangefs/.gitignore new file mode 100644 index 00000000..5c96cc0d --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/.gitignore @@ -0,0 +1,3 @@ +orangefs +*.gz +*.tar \ No newline at end of file diff --git a/infrastrutcure/chameleon/orangefs/client_list b/infrastrutcure/chameleon/orangefs/client_list new file mode 100644 index 00000000..81f23aec --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/client_list @@ -0,0 +1 @@ +dc-ofs-karim diff --git a/infrastrutcure/chameleon/orangefs/deploy.sh b/infrastrutcure/chameleon/orangefs/deploy.sh new file mode 100755 index 00000000..018344f7 --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/deploy.sh @@ -0,0 +1,88 @@ +#!/bin/bash +set -u +set -e +#Remeber to have env Variables for: +# ORANGEFS_KO +# ORANGEFS_PATH +# PVFS2TAB_FILE + +CWD=$(pwd) + +if [ $# -eq 0 ]; then + echo "$(basename $0) " + echo "OR\n$(basename $0) " + exit 0 +fi + +server_loc=${1} +client_loc=$2 +conf_file=${ORANGEFS_CONFIG:-$3} +client_dir=${ORANGEFS_MOUNT:-$4} + +#Input Variables +server_dir=$(awk '$1 ~ /DataStorageSpace/ {print $2}' $conf_file) +meta_dir=$(awk '$1 ~ /MetadataStorageSpace/ {print $2}' $conf_file) + +#General Variables +server_list=($(cat $server_loc)) +client_list=($(cat $client_loc)) + +#Config PFS +name=$(grep -oP '(?<=Name )\w+' "${conf_file}" | head -n 1) #TODO: Allow renaming +comm_port=$(grep -oP 'tcp://[^:]+:\K\d+' ${conf_file} | head -n 1) #TODO: Allow changing +OFS_PATH=$ORANGEFS_PATH + +echo "Setting up ${name} on port ${comm_port}" + +echo $CWD +count=0 + +set -x +set +e + +OFS_LMOD="orangefs/2.10.0" + +#echo "Setting up servers" +#echo "Cleanup (Can Fail if nothing to clean)" +#parallel-ssh -h ${server_loc} "killall pvfs2-server" +#parallel-ssh -h ${server_loc} "rm -rf ${server_dir}" +#parallel-ssh -h ${server_loc} "rm -rf ${meta_dir}" +echo "Deployment" +parallel-ssh -h "${server_loc}" -i \ + "mkdir -p '${server_dir}' && \ + mkdir -p '${meta_dir}' && \ + ${OFS_PATH}/sbin/pvfs2-server -f -a \$(hostname) ${conf_file} && \ + ${OFS_PATH}/sbin/pvfs2-server -a \$(hostname) ${conf_file}" + +#parallel-ssh -h ${server_loc} "mkdir -p ${server_dir}" +#parallel-ssh -h ${server_loc} "mkdir -p ${meta_dir}" +#parallel-ssh -h ${server_loc} "${ORANGEFS_PATH}/sbin/pvfs2-server -f -a "'$(hostname)'" ${conf_file}" +#parallel-ssh -h ${server_loc} "${ORANGEFS_PATH}/sbin/pvfs2-server -a "'$(hostname)'" ${conf_file}" +echo "Report" +parallel-ssh -h ${server_loc} -i "(ps -aef | grep pvfs2 | grep -v grep) || echo 'Server deployment correct'" + +echo "\nStarting clients" +echo "Cleanup (Can Fail if nothing to clean)" +parallel-ssh -h ${client_loc} "sudo umount -t pvfs2 ${client_dir}" +parallel-ssh -h ${client_loc} "sudo kill-pvfs2-client" +parallel-ssh -h ${client_loc} "sudo rmmod orangefs" +echo "Deployment" + +parallel-ssh -h "${client_loc}" -i \ + "mkdir -p '${client_dir}' && \ + sudo /home/cc/datacrumbs/infrastrutcure/chameleon/orangefs/orangefs_client_mount.sh && \ + sudo mount -t pvfs2 tcp://${server_list[0]}:${comm_port}/${name} '${client_dir}'" + +#sudo modprobe orangefs && \ +#sudo /usr/bin/bash -lc \'. /etc/profile.d/lmod.sh\' && \ +#sudo /usr/bin/bash -lc \'module load orangefs/2.10\' && \ +#sudo /usr/bin/bash -lc \'${ORANGEFS_PATH}/sbin/pvfs2-client -p ${ORANGEFS_PATH}/sbin/pvfs2-client-core\' && \ + +#parallel-ssh -h ${client_loc} "mkdir -p ${client_dir}" +#parallel-ssh -h ${client_loc} "sudo modprobe orangefs" +#parallel-ssh -h ${client_loc} "sudo . /etc/profile.d/lmod.sh && module load ${OFS_LMOD} && ${ORANGEFS_PATH}/sbin/pvfs2-client -p ${ORANGEFS_PATH}/sbin/pvfs2-client-core" +#parallel-ssh -h ${client_loc} "sudo mount -t pvfs2 tcp://${server_list[0]}:${comm_port}/${name} ${client_dir}" +echo "Report" +parallel-ssh -h ${client_loc} -i "(ps -aef | grep pvfs2 | grep -v grep) || echo 'Client kill correct'" +parallel-ssh -h ${client_loc} -i "(mount | grep pvfs2) || echo 'Umount correct'" +parallel-ssh -h ${client_loc} -i "(lsmod | grep orangefs) || echo 'Kmod removed correct'" diff --git a/infrastrutcure/chameleon/orangefs/deploy_nfs.yaml b/infrastrutcure/chameleon/orangefs/deploy_nfs.yaml new file mode 100644 index 00000000..557baf86 --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/deploy_nfs.yaml @@ -0,0 +1,99 @@ +# This describes what is deployed by this template. +description: NFS server and clients deployed with Heat on Chameleon + +# This defines the minimum Heat version required by this template. +heat_template_version: 2015-10-15 + +# The resources section defines what OpenStack resources are to be deployed and +# how they should be configured. +resources: + nfs_server_floating_ip: + type: OS::Nova::FloatingIP + properties: + pool: public + + nfs_server: + type: OS::Nova::Server + properties: + flavor: baremetal + # NOTE: Change as needed + # image: CC-UBUNTU22.04 + image: DATACRUMBS_ORANGEFS_NFS + key_name: { get_param: key_name } + networks: + - network: sharednet1 + scheduler_hints: { reservation: { get_param: reservation_id } } + user_data: | + #!/bin/bash + # apt install nfs-common nfs-kernel-server + # NOTE: CHANGE PATH + mkdir -p /opt/shared + # NOTE: CHANGE PATH + chown -R cc:cc /opt/shared + # NOTE: CHANGE PATH + echo '/opt/shared 10.0.0.0/8(rw,async)' >> /etc/exports + systemctl enable rpcbind && systemctl start rpcbind + systemctl enable nfs-server && systemctl start nfs-server + + nfs_server_ip_association: + type: OS::Nova::FloatingIPAssociation + properties: + floating_ip: { get_resource: nfs_server_floating_ip } + server_id: { get_resource: nfs_server } + + nfs_clients: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: nfs_client_count } + resource_def: + type: OS::Nova::Server + properties: + flavor: baremetal + # NOTE: Change as needed + image: DATACRUMBS_ORANGEFS_NFS + key_name: { get_param: key_name } + networks: + - network: sharednet1 + scheduler_hints: { reservation: { get_param: reservation_id } } + user_data: + str_replace: + template: | + #!/bin/bash + # apt install nfs-common + # NOTE: CHANGE PATH + echo "$nfs_server_ip:/opt/shared /opt/nfs_client nfs" > /etc/fstab + mount -a + params: + $nfs_server_ip: { get_attr: [nfs_server, first_address] } + +# The parameters section gathers configuration from the user. +parameters: + nfs_client_count: + type: number + description: Number of NFS client instances + default: 1 + constraints: + - range: { min: 1 } + description: There must be at least one client. + # NOTE: CHANGE SSH Key pair + key_name: + type: string + description: Name of a KeyPair to enable SSH access to the instance + default: default + constraints: + - custom_constraint: nova.keypair + # NOTE: CHANGE ID + reservation_id: + type: string + description: ID of the Blazar reservation to use for launching instances. + constraints: + - custom_constraint: blazar.reservation + +outputs: + server_ip: + description: Public IP address of the NFS server + value: { get_attr: [nfs_server_floating_ip, ip] } + client_ips: + description: Private IP addresses of the NFS clients + value: { get_attr: [nfs_clients, first_address] } + diff --git a/infrastrutcure/chameleon/orangefs/install.sh b/infrastrutcure/chameleon/orangefs/install.sh new file mode 100755 index 00000000..47223145 --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/install.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env bash + +set -e + +PKGNAM=orangefs +VERSION="2.10.0" +OFSURL="https://github.com/waltligon/orangefs/releases/download/v.${VERSION}/orangefs-${VERSION}.tar.gz" + +wget $OFSURL +tar zxvf ${PKGNAM}-${VERSION}.tar.gz +cd ${PKGNAM} + +./prepare +./configure --prefix=/opt/${PKGNAM}/${VERSION}/ --enable-shared --with-db-backend=lmdb --enable-fast --enable-threaded-kmod-helper +make +make install \ No newline at end of file diff --git a/infrastrutcure/chameleon/orangefs/orangefs.lua b/infrastrutcure/chameleon/orangefs/orangefs.lua new file mode 100644 index 00000000..1fecd56a --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/orangefs.lua @@ -0,0 +1,102 @@ +-- OrangeFS module file + +whatis("Name: OrangeFS") +whatis("Version: 2.10.0") +whatis("Category: parallel filesystem, HPC") +whatis("Description: OrangeFS user‐ and kernel‐space tools.") +whatis("URL: http://www.orangefs.org") + +help([[ +OrangeFS 2.10.0 modulefile: + +- Loads the required OpenMPI module automatically. +- Sets environment variables for OrangeFS binaries, libraries, man pages. +- Chooses config file based on \$USER: + * \$HOME/.orangefs.conf if it exists + * otherwise falls back to /etc/orangefs/orangefs-server.conf + +Configure options: --prefix=/opt/orangefs/2.10.0 --with-db-backend=lmdb --enable-shared +Usage: + module load orangefs/2.10.0 +]]) + +-- Set the installation directory +local prefix = "/opt/orangefs/2.10.0" + +-- Define OrangeFS directories +local bin_dir = pathJoin(prefix, "bin") +local sbin_dir = pathJoin(prefix, "sbin") +local lib_dir = pathJoin(prefix, "lib") +local include_dir = pathJoin(prefix, "include") +local etc_dir = pathJoin(prefix, "etc") +local man_dir = pathJoin(prefix, "share", "man") + + +-- Add OrangeFS directories to PATH, LD_LIBRARY_PATH, CPATH, C_INCLUDE_PATH, ETCPATH, and MANPATH +prepend_path("PATH", bin_dir) +prepend_path("PATH", sbin_dir) +prepend_path("LIBRARY_PATH", lib_dir) +prepend_path("LD_LIBRARY_PATH", lib_dir) +prepend_path("CPATH", include_dir) +prepend_path("C_INCLUDE_PATH", include_dir) +prepend_path("ETCPATH", etc_dir) +prepend_path("MANPATH", man_dir) + +-- Set additional flags +local orangefs_flags = string.format("-L %s/lib -I %s/include -lpvfs2", prefix, prefix) + +local user = os.getenv("USER") or "" +local home = os.getenv("HOME") or "" +local user_conf = pathJoin(etc_dir, "orangefs.conf") +-- local system_conf = "/etc/orangefs/orangefs-server.conf" +local chosen_conf + +--if user ~= "" and home ~= "" and isFile(user_conf) then +chosen_conf = user_conf +-- else +-- chosen_conf = system_conf +-- end + +-- Add flags to LD_LIBRARY_PATH and C_INCLUDE_PATH +setenv("ORANGEFS_PATH", prefix, "Path to OrangeFS installation") +setenv("ORANGEFS_FLAGS", orangefs_flags, "Flags needed to compile with OrangeFS") + +setenv("ORANGEFS_CONFIG", chosen_conf) + +-- Other environment variables + +-- Determine cluster-wide defaults (could also source from a central config file) +local cluster_mount = "/mnt/ssd/" .. user .. "/orangefs" +local cluster_data_dir = "/mnt/nvme/" .. user .. "/orangefs/data" +local cluster_meta_dir = "/mnt/nvme/" .. user .. "/orangefs/metadata" + +-- Let users or admins override these before module load by exporting env vars +local mount_dir = os.getenv("ORANGEFS_MOUNT") or cluster_mount +local data_dir = os.getenv("ORANGEFS_DATA_DIR") or cluster_data_dir +local meta_dir = os.getenv("ORANGEFS_META_DIR") or cluster_meta_dir + +-- Export into the user’s environment +setenv("ORANGEFS_MOUNT", mount_dir) +setenv("ORANGEFS_DATA_DIR", data_dir) +setenv("ORANGEFS_META_DIR", meta_dir) + +-- MPI-IO hints +setenv("MPIIO_HINTS", "romio_fs_pvfs2") + +-- Inform user +if mode() == "load" then + LmodMessage("OrangeFS 2.10.0 loaded; using config: " .. chosen_conf) + LmodMessage("OrangeFS mount point: " .. mount_dir) + LmodMessage("OrangeFS data directory: " .. data_dir) + LmodMessage("OrangeFS metadata directory: " .. meta_dir) +elseif mode() == "unload" then + LmodMessage("OrangeFS 2.10.0 unloaded.") +end + +family("orangefs") +-- Modprobe the kernel module for OrangeFS 5.15 with sudo +execute({ + cmd = "sudo modprobe orangefs", + modeA = { "load" }, + mode = "silent", +}) diff --git a/infrastrutcure/chameleon/orangefs/orangefs_client_mount.sh b/infrastrutcure/chameleon/orangefs/orangefs_client_mount.sh new file mode 100755 index 00000000..20c515f5 --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/orangefs_client_mount.sh @@ -0,0 +1,7 @@ +#!/bin/bash + + +modprobe orangefs +source /etc/profile.d/lmod.sh +module load orangefs +/opt/orangefs/2.10.0/sbin/pvfs2-client -p /opt/orangefs/2.10.0/sbin/pvfs2-client-core diff --git a/infrastrutcure/chameleon/orangefs/server_list b/infrastrutcure/chameleon/orangefs/server_list new file mode 100644 index 00000000..81f23aec --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/server_list @@ -0,0 +1 @@ +dc-ofs-karim diff --git a/infrastrutcure/chameleon/orangefs/terminate.sh b/infrastrutcure/chameleon/orangefs/terminate.sh new file mode 100644 index 00000000..677e8fe4 --- /dev/null +++ b/infrastrutcure/chameleon/orangefs/terminate.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +if [ $# -eq 0 ] +then + echo "$(basename $0) " + exit 0 +fi + +conf_file=$1 +server_loc=$2 +client_loc=$3 +client_dir=$4 + +server_dir=$(awk '$1 ~ /DataStorageSpace/ {print $2}' $conf_file ) +meta_dir=$(awk '$1 ~ /MetadataStorageSpace/ {print $2}' $conf_file ) + +echo "Server termination" +parallel-ssh -h ${server_loc} "killall pvfs2-server" +parallel-ssh -h ${server_loc} "rm -rf ${server_dir}" +parallel-ssh -h ${server_loc} "rm -rf ${meta_dir}" +echo "Report" +parallel-ssh -h ${server_loc} -i "(ps -aef | grep pvfs2 | grep -v grep) || echo 'cleanup correct'" + +echo "Client termination" +parallel-ssh -h ${client_loc} "sudo umount -t pvfs2 ${client_dir}" +parallel-ssh -h ${client_loc} "sudo ${ORANGEFS_PATH}/sbin/kill-pvfs2-client" +parallel-ssh -h ${client_loc} "sudo rmmod orangefs" +parallel-ssh -h ${server_loc} "rm -rf ${client_dir}" +echo "Report" +parallel-ssh -h ${client_loc} -i "(ps -aef | grep pvfs2 | grep -v grep) || echo 'Client kill correct'" +parallel-ssh -h ${client_loc} -i "(mount | grep pvfs2) || echo 'umount correct'" +parallel-ssh -h ${client_loc} -i "(lsmod | grep orangefs) || echo 'KMod removed correct'" \ No newline at end of file diff --git a/src/datacrumbs/common/configuration_manager.cpp b/src/datacrumbs/common/configuration_manager.cpp index d84827ed..df3f6b25 100644 --- a/src/datacrumbs/common/configuration_manager.cpp +++ b/src/datacrumbs/common/configuration_manager.cpp @@ -44,10 +44,8 @@ bool datacrumbs::Singleton::stop_creating_inst /** * YAML keys for configuration */ -#define DC_YAML_MODE "mode" #define DC_YAML_TRACE_LOG_DIR "trace_log_dir" #define DC_YAML_DATA_DIR "data_dir" -#define DC_YAML_PROFILING_INTERVAL "profiling_interval" #define DC_YAML_CAPTURE_PROBES "capture_probes" #define DC_YAML_USER "user" #define DC_YAML_INCLUSION_PATH "inclusion_path" @@ -61,18 +59,12 @@ ArgumentParser::ArgumentParser(int argc, char** argv, int start_index) { for (int i = start_index + 1; i < argc; ++i) { std::string arg = argv[i]; - if (arg == "--mode" && i + 1 < argc) { - mode = argv[++i]; - DC_LOG_DEBUG("[ArgumentParser] Mode set to: %s", mode->c_str()); - } else if (arg == "--trace_log_dir" && i + 1 < argc) { + if (arg == "--trace_log_dir" && i + 1 < argc) { trace_log_dir = argv[++i]; DC_LOG_DEBUG("[ArgumentParser] Trace log dir set to: %s", trace_log_dir->c_str()); } else if (arg == "--data_dir" && i + 1 < argc) { data_dir = argv[++i]; DC_LOG_DEBUG("[ArgumentParser] Data directory set to: %s", data_dir->c_str()); - } else if (arg == "--profiling_interval" && i + 1 < argc) { - profiling_interval = std::stof(argv[++i]); - DC_LOG_DEBUG("[ArgumentParser] Profiling interval set to: %f", *profiling_interval); } else if (arg == "--config_path" && i + 1 < argc) { config_path = argv[++i]; DC_LOG_DEBUG("[ArgumentParser] Config path set to: %s", config_path->c_str()); @@ -87,8 +79,8 @@ ArgumentParser::ArgumentParser(int argc, char** argv, int start_index) { DC_LOG_DEBUG("[ArgumentParser] Log directory set to: %s", log_dir->c_str()); } else if (arg == "--help" || arg == "-h") { DC_LOG_PRINT( - "Usage: %s [--mode ] [--trace_log_dir ] " - "[--profiling_interval ] [--config_path ] [--user ] [--data_dir " + "Usage: %s [--trace_log_dir ] " + "[--config_path ] [--user ] [--data_dir " "] [--inclusion_path ] [--log_dir ]", argv[0]); exit(0); @@ -112,10 +104,8 @@ ArgumentParser::ArgumentParser(int argc, char** argv, int start_index) { ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, int start_index) : path(DATACRUMBS_CONFIG_PATH), name("default"), - mode(Mode::PROFILER), trace_log_dir(DATACRUMBS_LOG_DIR), capture_probes(), - profiling_interval(0.1f), // Default profiling interval in seconds user("datacrumbs") { DC_LOG_TRACE("[ConfigurationManager] Initializing with arguments..."); ArgumentParser parser(argc, argv, start_index); @@ -146,12 +136,6 @@ ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, in // Parse YAML configuration if loaded successfully if (config) { DC_LOG_TRACE("[ConfigurationManager] Parsing configuration YAML..."); - // Parse mode from YAML - if (config[DC_YAML_MODE]) { - convert(config[DC_YAML_MODE].as(), this->mode); - DC_LOG_DEBUG("[ConfigurationManager] Mode set from config: %s", - config[DC_YAML_MODE].as().c_str()); - } // Parse trace log directory from YAML if (config[DC_YAML_TRACE_LOG_DIR]) { this->trace_log_dir = config[DC_YAML_TRACE_LOG_DIR].as(); @@ -168,12 +152,6 @@ ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, in DC_LOG_DEBUG("[ConfigurationManager] Data directory not specified, using default: %s", this->data_dir.string().c_str()); } - // Parse profiling interval from YAML - if (config[DC_YAML_PROFILING_INTERVAL]) { - this->profiling_interval = config[DC_YAML_PROFILING_INTERVAL].as(); - DC_LOG_DEBUG("[ConfigurationManager] Profiling interval set from config: %f", - this->profiling_interval); - } // Parse capture probes from YAML if (config[DC_YAML_CAPTURE_PROBES]) { DC_LOG_TRACE("[ConfigurationManager] Parsing capture probes..."); @@ -362,23 +340,12 @@ ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, in DC_LOG_DEBUG("[ConfigurationManager] Data directory overridden by argument: %s", this->data_dir.string().c_str()); } - // Override mode if provided as argument - if (parser.mode) { - convert(*parser.mode, this->mode); - DC_LOG_DEBUG("[ConfigurationManager] Mode overridden by argument: %s", parser.mode->c_str()); - } // Override trace log dir if provided as argument if (parser.trace_log_dir) { this->trace_log_dir = *parser.trace_log_dir; DC_LOG_DEBUG("[ConfigurationManager] Trace log dir overridden by argument: %s", parser.trace_log_dir->c_str()); } - // Override profiling interval if provided as argument - if (parser.profiling_interval) { - this->profiling_interval = *parser.profiling_interval; - DC_LOG_DEBUG("[ConfigurationManager] Profiling interval overridden by argument: %f", - *parser.profiling_interval); - } // Override user if provided as argument if (parser.user) { this->user = *parser.user; @@ -420,7 +387,6 @@ void ConfigurationManager::print_configurations() { DC_LOG_INFO("[ConfigurationManager] Category map loaded with %zu entries.", category_map.size()); DC_LOG_INFO(" Path: %s", this->path.string().c_str()); DC_LOG_INFO(" Name: %s", this->name.c_str()); - DC_LOG_INFO(" Mode: %d", static_cast(this->mode)); DC_LOG_INFO(" Trace log dir: %s", this->trace_log_dir.string().c_str()); DC_LOG_INFO(" Trace file path: %s", this->trace_file_path.string().c_str()); DC_LOG_INFO(" Data dir: %s", this->data_dir.string().c_str()); @@ -429,10 +395,15 @@ void ConfigurationManager::print_configurations() { DC_LOG_INFO(" Probe invalid file path: %s", this->probe_invalid_file_path.string().c_str()); DC_LOG_INFO(" Manual probe path: %s", this->manual_probe_path.string().c_str()); DC_LOG_INFO(" Category map path: %s", this->category_map_path.string().c_str()); - DC_LOG_INFO(" Profiling interval: %f", this->profiling_interval); + DC_LOG_INFO(" Profiling interval: %f", DATACRUMBS_TIME_INTERVAL_NS / 1e9); DC_LOG_INFO(" User: %s", this->user.c_str()); DC_LOG_INFO(" Hostname: %s", this->hostname.c_str()); DC_LOG_INFO(" Capture probes: %d", static_cast(this->capture_probes.size())); + if (DATACRUMBS_MODE == 1) { + DC_LOG_INFO(" Mode: Tracing"); + } else if (DATACRUMBS_MODE == 2) { + DC_LOG_INFO(" Mode: Profiling"); + } if (this->inclusion_path.empty()) { DC_LOG_INFO(" Inclusion path: Not set"); } else { @@ -574,12 +545,13 @@ void ConfigurationManager::validate_configurations() { DC_LOG_ERROR("[ConfigurationManager] No capture probes defined in the configuration."); throw std::invalid_argument("At least one capture probe must be defined."); } - if (!std::filesystem::exists(this->data_dir)) { + if (this->data_dir.empty() || !std::filesystem::exists(this->data_dir)) { DC_LOG_ERROR("[ConfigurationManager] Data directory does not exist: %s", this->data_dir.string().c_str()); throw std::runtime_error("Data directory does not exist: " + this->data_dir.string()); } - if (!std::filesystem::exists(std::filesystem::path(this->trace_log_dir))) { + if (this->trace_log_dir.empty() || + !std::filesystem::exists(std::filesystem::path(this->trace_log_dir))) { DC_LOG_ERROR("[ConfigurationManager] Trace log directory does not exist: %s", this->trace_log_dir.string().c_str()); throw std::runtime_error("Trace log directory does not exist: " + diff --git a/src/datacrumbs/common/configuration_manager.h b/src/datacrumbs/common/configuration_manager.h index 6b9b3b95..e801986a 100644 --- a/src/datacrumbs/common/configuration_manager.h +++ b/src/datacrumbs/common/configuration_manager.h @@ -43,9 +43,6 @@ class ConfigurationManager { // Name of the configuration file std::string name; - // Mode of operation (e.g., PROFILER or TRACER) - Mode mode; - // Directory where trace logs will be stored std::filesystem::path trace_log_dir; @@ -55,9 +52,6 @@ class ConfigurationManager { // User associated with the configuration std::string user; - // Profiling-specific configuration: interval for profiling in seconds - float profiling_interval; - std::string inclusion_path; // Path to the inclusion file std::string log_dir; // Directory for log files @@ -128,9 +122,7 @@ class ConfigurationManager { class ArgumentParser { public: std::string config_name; ///< Name of the configuration to load - std::optional mode; ///< Optional mode argument std::optional trace_log_dir; ///< Optional trace log directory - std::optional profiling_interval; ///< Optional profiling interval std::optional config_path; ///< Optional configuration file path std::optional data_dir; ///< Optional data directory std::optional user; ///< Optional user argument diff --git a/src/datacrumbs/server/bpf/common.h b/src/datacrumbs/server/bpf/common.h index 5e1818de..669885cc 100644 --- a/src/datacrumbs/server/bpf/common.h +++ b/src/datacrumbs/server/bpf/common.h @@ -183,7 +183,7 @@ static inline __attribute__((always_inline)) int generic_exit(struct pt_regs* ct event->id = key.id; event->event_id = event_id; DATACRUMBS_COLLECT_TIME(event); - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, key.id, event_id); return 0; } #else @@ -287,7 +287,7 @@ static inline __attribute__((always_inline)) int usdt_exit(struct pt_regs* ctx, u32 method_hash = hash_and_store(&local_str, len); event->method_hash = method_hash; // 100 - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, key.id, event_id); return 0; } #else diff --git a/src/datacrumbs/server/bpf/init.bpf.c b/src/datacrumbs/server/bpf/init.bpf.c index 009b3280..eaaf8c48 100644 --- a/src/datacrumbs/server/bpf/init.bpf.c +++ b/src/datacrumbs/server/bpf/init.bpf.c @@ -14,14 +14,15 @@ static inline __attribute__((always_inline)) int generic_trace_datacrumbs_start( (void)pid; DBG_PRINTK("Tracing PID %d", pid); #if defined(DATACRUMBS_MODE) && (DATACRUMBS_MODE == 1) + u64 event_id = 1; struct general_event_t* event; DATACRUMBS_RB_RESERVE(output, struct general_event_t, event); event->type = 1; event->id = id; - event->event_id = 1; + event->event_id = event_id; event->ts = tsp; event->dur = 0; - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, id, event_id); #endif return 0; } @@ -33,14 +34,15 @@ static inline __attribute__((always_inline)) int generic_trace_datacrumbs_stop() bpf_map_delete_elem(&pid_map, &pid); #if defined(DATACRUMBS_MODE) && (DATACRUMBS_MODE == 1) + u64 event_id = 2; struct general_event_t* event; DATACRUMBS_RB_RESERVE(output, struct general_event_t, event); event->type = 1; event->id = id; - event->event_id = 2; + event->event_id = event_id; event->ts = bpf_ktime_get_ns(); event->dur = 0; - DATACRUMBS_EVENT_SUBMIT(event); + DATACRUMBS_EVENT_SUBMIT(event, id, event_id); #endif return 0; } diff --git a/src/datacrumbs/server/bpf/macros.bpf.h b/src/datacrumbs/server/bpf/macros.bpf.h index 3a0cb46c..6dac6bcd 100644 --- a/src/datacrumbs/server/bpf/macros.bpf.h +++ b/src/datacrumbs/server/bpf/macros.bpf.h @@ -182,8 +182,8 @@ event->ts = fn->ts; \ event->dur = (te - fn->ts); -#define DATACRUMBS_EVENT_SUBMIT(event) \ - bpf_ringbuf_submit(event, 0); \ - DBG_PRINTK("Pushed pid:%d, event_id:%llu to output\n", (u32)key.id, event_id); +#define DATACRUMBS_EVENT_SUBMIT(event, pid_tgid, event_id) \ + bpf_ringbuf_submit(event, 0); \ + DBG_PRINTK("Pushed pid:%d, event_id:%llu to output\n", (u32)pid_tgid, event_id); #endif // DATACRUMBS_SERVER_BPF_MACROS_BPF_H \ No newline at end of file