Profile Performance

Collect CPU, GPU, Memory utilization and FPS statistics to profile machine performance, and add to metadata.

Overview

This node collects CPU, GPU, Memory utilization and FPS statistics to profile machine performance, and adds them to metadata, where they can then be exported using Webhooks, Elasticsearch or saved with captured Clips and Snapshots.

Note that this is machine-level performance, so numbers are a cumulative of the number of pipelines and other processes you have running on your machine.

Inputs & Outputs

  • Inputs : 1, Media Format : Raw Video
  • Outputs : 1, Media Format: Raw Video
  • Output Metadata : Machine Performance Statistics

Properties

PropertyDescriptionTypeDefaultRequired
intervalStats collection interval. Unit: frames.number20Yes

Output Metadata

The fields below are declared by this node's metadata schema; the JSON values are representative examples.

PathTypeDescription
nodes.<node_id>.stats.presentbooleanBoolean indicating whether a fresh performance sample is present on this frame.
nodes.<node_id>.stats.fpsintegerMeasured pipeline frame rate in frames per second.
nodes.<node_id>.stats.process.running_pipelines_countintegerNumber of pipelines currently running on the device.
nodes.<node_id>.stats.system.is_jetsonbooleanBoolean indicating whether the device is an NVIDIA Jetson platform.
nodes.<node_id>.stats.system.lumeo_versionstringInstalled Lumeo software version.
nodes.<node_id>.stats.system.cpu_countintegerNumber of logical CPU cores.
nodes.<node_id>.stats.system.cpu_freqnumberCurrent CPU frequency in MHz.
nodes.<node_id>.stats.system.mem_totalintegerTotal system memory in GB.
nodes.<node_id>.stats.system.gpu_countintegerNumber of detected GPUs.
nodes.<node_id>.stats.system.board.gpus[].typestringDetected GPU model name.
nodes.<node_id>.stats.system.board.gpus[].mem_totalintegerTotal GPU memory in GB.
nodes.<node_id>.stats.system.driverstringInstalled GPU or platform driver version.
nodes.<node_id>.stats.system.machine_namestringDevice host name.
nodes.<node_id>.stats.cpu.mem_availablenumberAvailable system memory in GB.
nodes.<node_id>.stats.cpu.mem_usednumberUsed system memory in GB.
nodes.<node_id>.stats.cpu.mem_percent_usednumberPercentage of system memory currently used.
nodes.<node_id>.stats.cpu.cpu_percent_usednumberCurrent CPU utilization percentage.
nodes.<node_id>.stats.gpu[].typestringGPU model name.
nodes.<node_id>.stats.gpu[].mem_totalintegerTotal GPU memory in GB.
nodes.<node_id>.stats.gpu[].mem_availablenumberAvailable GPU memory in GB.
nodes.<node_id>.stats.gpu[].mem_percent_usednumberPercentage of GPU memory currently used.
nodes.<node_id>.stats.gpu[].gpu_percent_usednumberCurrent GPU utilization percentage.
nodes.<node_id>.typestringIdentifies the node type that produced this metadata.

JSON example

{
  "nodes": {
    "profile1": {
      "stats": {
        "cpu": {
          "cpu_percent_used": 0.0,
          "mem_available": 0.0,
          "mem_percent_used": 0.0,
          "mem_used": 0.0
        },
        "fps": 0,
        "gpu": [
          {
            "gpu_percent_used": 0.0,
            "mem_available": 0.0,
            "mem_percent_used": 0.0,
            "mem_total": 0,
            "type": "value"
          }
        ],
        "present": false,
        "process": {
          "running_pipelines_count": 0
        },
        "system": {
          "board": {
            "gpus": [
              {
                "mem_total": 0,
                "type": "value"
              }
            ]
          },
          "cpu_count": 0,
          "cpu_freq": 0.0,
          "driver": "value",
          "gpu_count": 0,
          "is_jetson": false,
          "lumeo_version": "value",
          "machine_name": "value",
          "mem_total": 0
        }
      },
      "type": "profile"
    }
  }
}

Did this page help you?