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 OK — OK
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 OK — text/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
ComputerInfoexposes; the subset above is representative.501 Not Implemented—ComputerInfois unavailable on the host (typically Linux).