Statistics & Monitoring

GET /api/getstatistics

Returns a comprehensive JSON object with runtime statistics.

Parameters: None

Response: 200 OK — JSON object with fields including:

Field Type Description
DateTime string Current UTC time
MachineName string Host machine name
ApplicationVersion string Composer version
ApplicationStarted string Application start time
LastProjectFile string Path to current project
VideoFrameRate string Configured frame rate
SessionStarted string Current session start time
SessionUptime string Session uptime
PlaybackState string Current playback state
NumCongestiveFramesSinceStart int Congestive frame count
NumWorkerQueueFlushesSinceStart int Queue flush count
AverageProcessingTime float Average frame processing time
AverageProcessingTime10k float Average over last 10K frames
AverageProcessingTimePercentage string Processing time as % of frame budget
ProcessingQueueSize int Current processing queue depth
FramesProcessed int Total frames processed
GpuUtilization string GPU utilization percentage
GpuLinkWidth string PCIe link width
CpuLoad string CPU load percentage

GET /api/targets/getstatistics

Returns RTMP target statistics for all scenes.

Parameters: None

Response: 200 OK — JSON object:

{
  "MachineName": "HOST-01",
  "Project": "MyProject.prj",
  "DateTimeString": "2025-01-01T00:00:00Z",
  "RtmpTargets": [ { ... }, { ... } ]
}

GET /api/lasterror/get

Returns the last 20 entries with severity Error from the in-memory log cache, oldest first. Useful for surfacing recent failures in a monitoring dashboard without parsing log files.

Parameters: None

Response: 200 OK — JSON array of LogEventInfo entries:

[
  {
    "LoggerName": "Composer",
    "Properties": {},
    "Level": 4,
    "Message": "RTMP target connection refused: rtmp://example/app/stream",
    "TimeStamp": "2026-04-18T10:30:00.000",
    "Extra": "EventId=3502"
  }
]

Level follows the LogEventLevel enum (4 = Error). The cache holds only entries that occurred since process start; older errors live on disk under Logs/.


GET /api/alarms/get

Returns the current alarm state.

Parameters: None

Response: 200 OK — JSON object:

{
  "AlarmActive": "True",
  "AlarmActivatedDateTime": "01/15/2025 10:30:00",
  "AlarmCreatedCount": "3",
  "AlarmClearedDateTime": "01/15/2025 10:35:00",
  "AlarmClearedCount": "2"
}

POST /api/alarms/clear

Clears all currently active alarms in one shot — equivalent to clicking the "Clear alarms" button in Composer Desktop. Idempotent: returns 200 OK even when no alarm is active.

Parameters: None

Response: 200 OKOK


GET /api/reports/getperformancereport

Generates and returns the same performance report Composer Desktop produces under Analysis → Performance Report, served as HTML. Includes application info, project info, system info, GPU info, settings snapshot, performance metrics, lifetime statistics, and per-component processing-time breakdowns. Generation runs synchronously on the calling thread and typically completes in under a second on a healthy host.

Parameters: None

Response: 200 OKtext/html page with the full report.


GET /api/performance/get

Deprecated. Returns 501 Not Implemented.


GET /api/systeminfo/get

Returns OS-level host hardware and platform information collected from the .NET ComputerInfo API. Available on Windows hosts (the underlying API is Windows-only); Linux hosts return 501 Not Implemented.

For richer GPU-side detail (CUDA devices, NVENC / NVDEC capabilities, Decklink devices, FFmpeg status), use /api/capabilities instead.

Parameters: None

Response:

  • 200 OK — JSON object with the OS / hardware fields:

    {
      "OSPlatform": "Win32NT",
      "OSVersion": "10.0.26200.0",
      "TotalPhysicalMemory": 68649984000,
      "TotalVirtualMemory": 137299968000,
      "AvailablePhysicalMemory": 35420000000,
      "AvailableVirtualMemory": 90000000000,
      "InstalledUICulture": "en-US",
      "MachineName": "STUDIO-01"
    }
    

    Field set is whatever ComputerInfo exposes; the subset above is representative.

  • 501 Not ImplementedComputerInfo is unavailable on the host (typically Linux).