Network IO - cgroup - system

What it does

This metric provider reads the total amount of sent and received bytes from the network interface based on the cgroups stats of your system cgroup processes. More information about cgroups can be found in the Linux manual pages.

It can be used for system monitoring and tracking background processes such as the desktop environment. It is also used to calculate GMT’s overhead.

Classname

  • NetworkIoCgroupSystemProvider

Metric Name

  • network_io_cgroup_system

Input Parameters

  • args
    • -s: cgroup name strings separated by commas
    • -i: interval in milliseconds

By default the measurement interval is 1000 ms.

./metric-provider-binary -i 100 -s org.gnome.Shell@wayland.service,session-2.scope

Output

This metric provider prints to Stdout a continuous stream of data. The format of the data is as follows:

TIMESTAMP RECEIVED TRANSMITTED CGROUP-NAME

Where:

  • TIMESTAMP: Unix timestamp, in microseconds
  • RECEIVED: The cumulative amount of bytes received, as reported by the interface counters
  • TRANSMITTED: The cumulative amount of bytes transmitted, as reported by the interface counters
  • CGROUP-NAME: The cgroup name that this reading is for

The values are the raw counters. The amount of traffic during an interval is calculated as the difference between two consecutive readings when the log file is parsed.

Any errors are printed to Stderr.

How it works

This metric provider uses the exact same code as the metric provider “Network IO - cgroup - container” →.