From 4596953019176f09bbef88351f620b9c8ae9a2c6 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Tue, 5 Sep 2023 20:58:45 -0300 Subject: [PATCH] Prototype Statistics & Profiling window There are a few details missing from this mockups, see TODOs. But it gets us a decent picture of what's possible or not. We can improve from there. This proposes a new "pinned stats" mechanism, which is what is used to control what would be visible in the stats dock. The most common stats are pinned by default. The other innovation of this mockup is the redesign of the stats window. The sidebar now reports the state of the page through icons, so people can spot at a glance what needs their attention. The audience of this redesigned stats dock and window are studios and professional workflows, where constant monitoring of the stream quality is required, and actions must be taken quickly. Related: https://github.com/obsproject/design/issues/19 --- mockups/profiling/profiling.svg | 16088 ++++++++++++++++++++++++++++++ mockups/profiling/usage.md | 31 + 2 files changed, 16119 insertions(+) create mode 100644 mockups/profiling/profiling.svg create mode 100644 mockups/profiling/usage.md diff --git a/mockups/profiling/profiling.svg b/mockups/profiling/profiling.svg new file mode 100644 index 0000000..fd41b08 --- /dev/null +++ b/mockups/profiling/profiling.svg @@ -0,0 +1,16088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + Profiling + Expose data about elements of the pipeline to facilitate fine tuning itCurrent:- System: RAM, CPU, Disk- Rendering: FPS, render time, lost frames (rendering & encoding)- Output: status, lost frames (network), raw output data size, bitrateNew:- Audio: buffering per source, overflows/underflows on math, device buffer over / underflows, device latency, sample rate, bit depth.- Network: link bandwidth, packets sent, retransmitted, and dropped, latency, peer latency- Profiling: detailed view with source statisticsPinned items:- Show in a dedicated page, and also in the dock- By default, the most common stats are pinned (encoding & render lag, dropped frames, etc) + + + + + Statistics & Profiling + + + + + + + + + System + + + + + + + CPU + 17% + Memory + 0,8 GB / 32 GB + ??? + ??? + + + + + + + + + + General + + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + + + + + + + + + + Pinned + + + + + + + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + + + + + Statistics & Profiling + + + + + + + + + System + + + + + + + CPU + 17% + Memory + 0,8 GB / 32 GB + ??? + ??? + + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + System + + + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + System + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Rendering + + + + + + + + + 30 + 10 + + + + + + Framerate + 23.17 / 30.0 FPS + Render time + 0.8 ms + Frame skips + Frames skipped due to slow rendering + 8 / 19514 (0.0%) + + + + + 48s + 15 + 5 + + Frame skips + + + + Framerate + + + + 10 + 20 + + 0 + 0 + 36s + 24s + 12s + + + + + + + FPS + frames + Render + + + + + + + + + + Resolution + 1920x1080 + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + Rendering + + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + foo-bar.mp4 + + + Status + Active + + + + Format + + + Type + + Skipped Frames + Frames skipped due to slow encoding + + Encoder + VA-API + AV1 + 115 / 9526 (0.1%) + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + Outputs + + + + + + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Profiler + Profiler + Profiling helps diagnose and monitor slow scenesand sources, but can degrade performance while active. + + + Start Profiler + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + Profiler + - Starting is an explicit action, since it can slow things down- Filter by source name- Stopping also explicit (closing the window stops it too) + + + + + + + Stop Profiler + + + + + Filter by name + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Profiler + Name + Tick + Render + GPU + TODO + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Replay Buffer + + + Status + Active + + + + Format + + + Type + + Skipped Frames + Frames skipped due to slow encoding + + Encoder + VA-API + AV1 + 115 / 9526 (0.1%) + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Twitch + + + Status + Live + + + + Format + + + Type + + Skipped Frames + Frames skipped due to slow encoding + + Encoder + VA-API + AV1 + 115 / 9526 (0.1%) + + + + + + + + + + + + + + + + + + + 60 + 40 + + + + + + + + 48s + 15 + 10 + 0 + + + 20 + 5 + 36s + 24s + 12s + + + + + + + + SRT + + + Roundtrip Time + 7.4 ms + Link bandwidth + 959.1 Mbps + Packets + Total:Lost:Retransmitted: + 25388 0 (0.0%)11 (0.2%) + Latency + 120 ms (peer: 120ms) + + + Dropped Packets + + + + Roundtrip Time + + + + Retransmitted Packets + + + + + 0 + pkt/s + ms + + + + + + + + + + + + Network + + + + + + + + + 4500 + 3000 + 1500 + + 0 + + + + + Data output + 26.2 MB + Bitrate + 3274 kb/s + Dropped Frames + Frames dropped during transmission + 115 / 9526 (0.1%) + + + + + 48s + 15% + + + Dropped Frames + + + + Bitrate + + + + + 10% + + 5% + 36s + 24s + 12s + + + + + 0% + + kbps + + + + + + + + + + + + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + + + + + + + + + + + + + + + + + + + Statistics + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + + + Rendering + + + + Framerate + 23.17 / 30.0 FPS + Render time + 0.8 ms + 8 / 19514 (0.0%) + + Frame skips + Frames skipped due to slow rendering + + 1950 / 19514 (1.0%) + + Encoder skips + Frames skipped due to slow encoding + + + + + Network + + + + + + + + + + Data output + 26.2 MB + Bitrate + 3274 kb/s + Dropped Frames + 115 / 9526 (0.1%) + + + + + 48s + 15% + + + Dropped Frames + + + + Bitrate + + + + + 10% + + 5% + 0% + 4500 + 3000 + 1500 + 0 + 36s + 24s + 12s + + kbps + + + + + + + + + + + + Roundtrip Time + 7.4 ms + Link Bandwidth + 959.1 Mbps + Latency + 120 ms (peer: 120ms) + + + + + + 48s + + + + Dropped Packets + + + + Roundtrip Time + + + 36s + 24s + 12s + + + Retransmitted Packets + + + + Packets + Total:Lost:Retransmitted: + 25388 0 (0.0%)11 (0.2%) + 15 + 10 + 5 + 0 + ms + 60 + 40 + 20 + 0 + packets + + + + + + + + + + + + + + + + Statistics & Profiling + + + System + + CPU + 17% + + + Memory + 0,8 GB / 32 GB + + + ??? + ??? + + + + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + + Rendering + + + + Framerate + 23.17 / 30.0 FPS + Render time + 0.8 ms + 8 / 19514 (0.0%) + + Frame skips + Frames skipped due to slow rendering + + 1950 / 19514 (1.0%) + + Encoder skips + Frames skipped due to slow encoding + + + + + + + + + + 50s + + + + + + 40s + + + + Data output + 26.2 MB + Bitrate + 3274 kb/s + Dropped Frames + 115 / 9526 0.1% + + + + + + + 10s + + + Dropped Frames + + + + + 20s + + + Bitrate + + + + + 30s + + + + 15% + 10% + 5% + 0% + 0 + 1500 + 3000 + 4500 + + + + + + Network + + + + + + + + SRT + + + + + + Roundtrip Time + 7.4 ms + Link Bandwidth + 959.1 Mbps + Latency + 120 msPeer: 120ms + + + + 50s + + Dropped Packets + + + + + + + + 60 + 40 + 20 + 0 + 15 + 10 + 5 + 0 + + Roundtrip Time + + + 40s + 30s + 20s + + + Retransmitted Packets + + + + Packets + 25388 Lost: 0 RTT: 11 + ms + packets + 10s + + + + + + + + + + + + + + Twitch + + + + + + + + + Profiler + Profiling helps diagnose and monitorslow scenes and sources, but can degrade performance + + + Start Profiler + + + Profiler + + + + + Statistics & Profiling + + + Computer + + + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + + + + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + Inactive + + Help! + Warning + Active + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Statistics + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + + + Rendering + + + + Framerate + 23.17 / 30.0 FPS + Render time + 0.8 ms + 8 / 19514 (0.0%) + + Frame skips + Frames skipped due to slow rendering + + 1950 / 19514 (1.0%) + + Encoder skips + Frames skipped due to slow encoding + + + + + Network + + + + + + + + + + Data output + 26.2 MB + Bitrate + 3274 kb/s + Dropped Frames + 115 / 9526 (0.1%) + + + + + 48s + 15% + + + Dropped Frames + + + + Bitrate + + + + + 10% + + 5% + 0% + 4500 + 3000 + 1500 + 0 + 36s + 24s + 12s + + kbps + + + + + + + + + + + + Roundtrip Time + 7.4 ms + Link Bandwidth + 959.1 Mbps + Latency + 120 ms (peer: 120ms) + + + + + + 48s + + + + Dropped Packets + + + + Roundtrip Time + + + 36s + 24s + 12s + + + Retransmitted Packets + + + + Packets + Total:Lost:Retransmitted: + 25388 0 (0.0%)11 (0.2%) + 15 + 10 + 5 + 0 + ms + 60 + 40 + 20 + 0 + packets + + + + + + TODO:- Audio page- Pinning- Profiler + + + + + Statistics & Profiling + + + Pinned + + + + + + + + + + + + + + + + Audio + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + System + + + + + TODO + + Audio (TODO) + + + + + + + + + + + + + + + + + + + + Statistics + + + + + Main Disk + /dev/nvme0p11 + + Storage + + + + + + External Disk + /dev/sda4 + + + + + + 490 / 550 GB + 0.88 / 1.2 TB + + + + + + Rendering + + + + Framerate + 23.17 / 30.0 FPS + Render time + 0.8 ms + 8 / 19514 (0.0%) + + Frame skips + Frames skipped due to slow rendering + + 1950 / 19514 (1.0%) + + Encoder skips + Frames skipped due to slow encoding + + + + + Network + + + + + + + + + + Data output + 26.2 MB + Bitrate + 3274 kb/s + Dropped Frames + 115 / 9526 (0.1%) + + + + + 48s + 15% + + + Dropped Frames + + + + Bitrate + + + + + 10% + + 5% + 0% + 4500 + 3000 + 1500 + 0 + 36s + 24s + 12s + + kbps + + + + + + + + + + + + Roundtrip Time + 7.4 ms + Link Bandwidth + 959.1 Mbps + Latency + 120 ms (peer: 120ms) + + + + + + 48s + + + + Dropped Packets + + + + Roundtrip Time + + + 36s + 24s + 12s + + + Retransmitted Packets + + + + Packets + Total:Lost:Retransmitted: + 25388 0 (0.0%)11 (0.2%) + 15 + 10 + 5 + 0 + ms + 60 + 40 + 20 + 0 + packets + + + + + + Sidebar + - Reports state of each page using icon + color- (In the future) Shows each output in the middle section + + + Statistics & Profiling + + + Computer + + + + + + Rendering + + + + + + + + + + + + + + + + Audio + + + + + + + + + + + + + + + + + + + foo-bar.mp4 + + + + + + + + + + + + backup.mkv + + + + + + + + + + + + + + Replay Buffer + + + + + + + + + Twitch + + + + + + + + + + + + YouTube + + + + + + + + + + + + + + + + + + + + + + + Profiler + + + + + + + + + + Inactive + + Help! + Warning + Active + + + + + + + + + + + + + + + + + + + + + Dock + - Shows pinned stats- Setting button → stats window + Other Elements + + Experiments + + diff --git a/mockups/profiling/usage.md b/mockups/profiling/usage.md new file mode 100644 index 0000000..1551087 --- /dev/null +++ b/mockups/profiling/usage.md @@ -0,0 +1,31 @@ +# Stats + +## Dock / Window + +People see stats in the stats dock or in the stats window? + +(P = Participant) + +Where | P1 | P2 | P3 | P4 | P5 | P6 | +-------|:------:|:------:|:------:|:------:|:------:|:------:| +Dock | ✓ | ✓ | ✓ | ✓ | | ✓ | +Window | | | ✓ | | ✓ | ✓ | + + +## Data + +What information do people look forward in the stats dock / window in production +environments? + +Feature | P1 | P2 | P3 | P4 | P5 | P6 | +---------------|:------:|:------:|:------:|:------:|:------:|:------:| +CPU Usage | ✓ | | | | | | +Disk space | | | | | | | +Disk full | | | | | | | +Memory usage | | | | | | | +FPS | | | ✓ | ✓ | ✓ | | +Render time | | ✓ | | ✓ | | ✓ | +Render lag | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +Encoding lag | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +Dropped frames | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +Bitrate | ✓ | | | | | ✓ |