https://github.com/n0-computer/qlog-viewer
https://github.com/n0-computer/qlog-viewer
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/n0-computer/qlog-viewer
- Owner: n0-computer
- License: other
- Created: 2025-11-26T20:50:28.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-06-25T11:46:39.000Z (25 days ago)
- Last Synced: 2026-06-25T13:20:17.556Z (25 days ago)
- Language: Rust
- Size: 1.28 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# n0qlog

A high-performance, native GUI application for viewing and analyzing QUIC [qlog](https://datatracker.ietf.org/doc/draft-ietf-quic-qlog-main-schema/) files.
Built with [egui](https://crates.io/crates/egui) and designed to be faster than web-based tools like qvis. Efficiently handles large qlog files.
## Installation
```
cargo install --git https://github.com/n0-computer/qlog-viewer
n0qlog
```
Or build from a checkout:
```
git clone https://github.com/n0-computer/qlog-viewer
cargo run --release
```
### macOS Gatekeeper
Downloaded binaries may be blocked by Gatekeeper. To allow:
```
xattr -cr /path/to/n0qlog
```
## Usage
### Running the Application
```
n0qlog
```
Or with cargo:
```
cargo run --release
```
### Loading Files
1. Click **File → Open...**
2. Select a `.qlog`, `.json`, or `.sqlog` file
3. Supports standard JSON, NDJSON, and RFC 7464 JSON-SEQ formats
### Views
Switch between views using the **View** menu:
- **Event List** - Browseable table of all events with filtering
- **Sequence Diagram** - Timeline showing packet exchanges between client/server
- **Congestion Graph** - RTT and congestion window metrics over time
- **Packetization Diagram** - Frame and packet boundary visualization
### Filtering
In Event List view, filter by:
- Event name (e.g., "packet_sent", "metrics")
- Stream ID
- Packet type (Initial, Handshake, 0-RTT, 1-RTT)
### Interactive Features
- **Zoom/Pan**: Scroll wheel to zoom, drag to pan
- **Click to Select**: Click events or packets to see details
- **Toggle Metrics**: Show/hide individual metrics in graphs
## Features
- Multi-format support (JSON, NDJSON, JSON-SEQ)
- SIMD-accelerated parsing with [sonic-rs](https://crates.io/crates/sonic-rs)
- Virtual scrolling for large event lists
- Interactive diagrams with zoom/pan
- Event detail panel with full JSON view
## License
Apache-2.0 OR MIT