system_resources_2 library

A pure Dart library for monitoring system resources (CPU, memory).

This library is container-aware and works with cgroup v1/v2 environments, including gVisor.

Quick Start

import 'package:system_resources_2/system_resources_2.dart';

void main() async {
  // Check environment
  print('Container: ${SystemResources.isContainerEnv()}');
  print('Cgroup version: ${SystemResources.cgroupVersion()}');

  // CPU monitoring (requires delta - call twice)
  SystemResources.cpuUsageMillicores(); // First call initializes
  await Future.delayed(Duration(seconds: 1));
  print('CPU: ${SystemResources.cpuUsageMillicores()}m');

  // Memory monitoring
  print('Memory: ${SystemResources.memUsage() * 100}%');
}

Classes

SystemResources
Provides easy access to system resources (CPU load, memory usage).

Enums

CgroupVersion
Cgroup version detected on the system.
DetectedPlatform
The resolved runtime environment, combining OS and cgroup detection into a single flat enum for dispatch.