Skip to content

Gufo Agent's Code Base

The code base of the project has following structure:

  • .devcontainer/ - Developer's container configuration for VSCode Remote Containers. Just reopen project in remote container to get ready-to-development environment.
  • .github/ - GitHub settings

  • .requirements/ - Python dependencies for development environment.

  • agent/ - Agent implementation crate.

  • collectors/ - Built-in collectors' implementation crates.
  • common/ - common crate shared between all collectors and agent.
  • docs/ - Mkdocs documentation.
  • examples/ - Various examples.
  • main/ - Main crate. Parses command-line and runs agent. Compiles to binary.
  • proto/ - Various protocols implementation which can be shared between collectors.

    • connection - Connection struct. A wrapper of TCP Connection, input, and output buffers.
    • emodel - G.107 E-Model calculations and constants.
    • frame - FrameReader and FrameWriter traits.
    • openmetrics - OpenMetrics parser.
    • modbus - Modbus data manipulation primitives.
    • ps - Process statistics collection.
    • tos - DSCP/ToS constants.
    • twamp - TWAMP protocol frames.
    • udp - UdpConnection wrapper.
  • .gitignore - Gitignore file.

  • Cargo.toml - Project's workspace configuration.
  • Dockerfile - Dockerfile for development container.
  • macros.py - Project's macroses for Mkdocs.
  • mkdocs.yml - Mkdocs configuration file.