System Info

Query system resources on the machine where the Tensorify CLI runner is running — CPU, memory, disk, processes, network interfaces, open ports, and uptime.

Runs on the CLI runner only — requires tensorify runner start on your machine. Uses the psutil Python package, which is included in the Tensorify runtime. No authentication is required.

Operations

Each node run executes a single query. Set Query in the node settings, then optionally use Filter to narrow results.

CPU

Returns overall CPU utilization, core count, and per-core usage. Includes a 1-second sampling interval for accurate percent readings.

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | cpu |

Output:

{
  "cpu_percent": 23.5,
  "cpu_count": 8,
  "per_cpu": [12.0, 45.2, 8.1, 30.0, 5.5, 18.3, 22.0, 10.1],
  "success": true
}

Memory

Returns virtual memory usage in gigabytes and as a percentage.

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | memory |

Output:

{
  "memory_used_gb": 10.245,
  "memory_total_gb": 32.0,
  "memory_percent": 32.0,
  "memory_available_gb": 21.755,
  "success": true
}

Disk

Returns disk usage for a mount point. Use Filter to specify the mount path (defaults to /).

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | disk | | filter | string | No | Mount path to query (default /). Example: /home, C:\. |

Output:

{
  "disk_free_gb": 120.5,
  "disk_total_gb": 500.0,
  "disk_used_gb": 379.5,
  "disk_percent": 75.9,
  "mount_path": "/",
  "success": true
}

Processes

Returns a list of running processes with PID, name, CPU percent, and memory usage. Use Filter to match processes by name (case-insensitive substring match).

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | processes | | filter | string | No | Process name filter. Example: python, nginx. |

Output:

{
  "processes": [
    {
      "pid": 1234,
      "name": "python3",
      "cpu_percent": 2.5,
      "memory_rss_mb": 128.45
    },
    {
      "pid": 5678,
      "name": "nginx",
      "cpu_percent": 0.1,
      "memory_rss_mb": 12.3
    }
  ],
  "success": true
}

Network

Returns all network interfaces and their assigned addresses (family, address, netmask, broadcast).

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | network |

Output:

{
  "network": [
    {
      "interface": "eth0",
      "addresses": [
        {
          "family": "AddressFamily.AF_INET",
          "address": "192.168.1.100",
          "netmask": "255.255.255.0",
          "broadcast": "192.168.1.255"
        }
      ]
    }
  ],
  "success": true
}

Ports

Returns open network connections with port number, status, and owning PID. Use Filter to match a specific port number.

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | ports | | filter | string | No | Port number to filter by. Example: 8080, 5432. |

Output:

{
  "ports": [
    {
      "port": 8080,
      "status": "LISTEN",
      "pid": 9012
    },
    {
      "port": 5432,
      "status": "LISTEN",
      "pid": 3456
    }
  ],
  "success": true
}

Uptime

Returns hours since the system last booted, plus the boot timestamp in ISO format.

Config:

| Field | Type | Required | Description | |-------|------|----------|-------------| | query | enum | Yes | uptime |

Output:

{
  "uptime_hours": 72.5,
  "boot_time_iso": "2026-06-20T08:30:00+00:00",
  "success": true
}

Output Shape

Query results are emitted on the result handle, accessible downstream as {{ system_info.* }}. Fields present depend on the query type:

| Field | Query | Type | Description | |-------|-------|------|-------------| | cpu_percent | cpu | number | Overall CPU utilization (%) | | cpu_count | cpu | number | Number of logical CPUs | | per_cpu | cpu | array | Per-core utilization (%) | | memory_used_gb | memory | number | Used memory in GB | | memory_total_gb | memory | number | Total memory in GB | | memory_percent | memory | number | Memory usage (%) | | memory_available_gb | memory | number | Available memory in GB | | disk_free_gb | disk | number | Free disk space in GB | | disk_total_gb | disk | number | Total disk space in GB | | disk_used_gb | disk | number | Used disk space in GB | | disk_percent | disk | number | Disk usage (%) | | mount_path | disk | string | Queried mount path | | processes | processes | array | List of process objects | | network | network | array | List of interface objects | | ports | ports | array | List of connection objects | | uptime_hours | uptime | number | Hours since boot | | boot_time_iso | uptime | string | Boot time (ISO 8601) | | success | all | boolean | Whether the query succeeded |

Filter Field

The Filter field narrows results for specific queries:

| Query | Filter usage | |-------|-------------| | disk | Mount path (default /) | | processes | Process name substring (case-insensitive) | | ports | Port number (integer) | | cpu, memory, network, uptime | Not used |

Filter values support {{ }} bindings for dynamic queries.

As an AI Agent Tool

Connect a System Info node to an AI Agent Tools handle to give the agent visibility into the runner machine's resources.

Use Allowed Operations (Agent) to restrict which query types the agent can invoke — for example, allow cpu and memory but block processes and ports. Query types not in the allowed list are rejected at runtime. This setting is excluded from the tool schema.

When used as a tool, the agent supplies query and optional filter as tool arguments.

Example

A health-check workflow that alerts when disk usage exceeds 90%:

  1. Add a System Info node.
  2. Set Query to disk.
  3. Set Filter to /.
  4. Add an If node checking {{ system_info.disk_percent }} > 90.
  5. On the true branch, send an alert via HTTP Request or email.

For process monitoring, set Query to processes and Filter to your application name (e.g. tensorify) to list matching PIDs and memory usage.

On this page