Skip to content

paradigm-ehb/agent-c

 
 

Repository files navigation

Linux System Resources Gathering Tool

A low-level Linux system resource gathering tool written in C99, developed for paradigm-ehb.

This tool collects detailed system information by directly interfacing with the Linux kernel through:

  • Virtual filesystem interfaces such as /proc and /sys
  • Select syscalls where file-based introspection is insufficient

The design prioritizes performance, predictability, and explicit memory control, avoiding unnecessary abstractions and dependencies.


Features

  • Reads CPU, memory, disk, and process information via:
    • /proc
    • /sys
  • Executes syscalls for system data not exposed through virtual files
  • Explicit memory management using arena allocators
  • Suitable for:
    • system agents
    • monitoring daemons
    • resource snapshots
    • low-overhead telemetry
  • Package manager wrapping for dnf ( more package managers are on the todo list for this project)

Stack

  • C99
  • C++20 ( requiered for libdn5 )

Platform Support

  • Linux only
  • Requires:
    • /proc filesystem
    • /sys filesystem
  • Tested on modern Linux distributions

Build Requirements

  • C compiler with C99 support (e.g. gcc, clang)
  • Linux system headers
  • Optional (depending on build targets):
    • libdnf5 (DNF-based systems)

Credits & References

The implementation and design are informed by the following resources:

Memory Allocation & Arenas

Talks & Articles

System Libraries & APIs


License

See the LICENSE file for details.

About

fork of nasrlol's resources-tool, will be added to the agent to gather system resources

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 59.4%
  • C 33.6%
  • Shell 5.7%
  • Makefile 1.3%