Dashboard Analytics
The analytics summary covers every project you’re a member of and is computed when you load it. The Dashboard home page shows the headline counts (open, in progress and resolved bugs, and your projects); GET /api/analytics/dashboard returns the full breakdown:
- Bugs by status —
open,in_progress,resolved,closed,wont_fix - Bugs by priority —
critical,high,medium,low - Bugs by category — crash, visual, gameplay, performance, audio, ui, network, other
- Daily bug volume — new reports per day
- Average resolution time in hours
- Top reporters
Per-project charts — report volume, categories, platforms, response time by priority, top reporters and satisfaction — are on the Game Health page.
Crash Analytics & Session Tracking
Bugnet SDKs automatically track game sessions and crash events, giving you deep visibility into your game's stability across platforms and versions.
How It Works
- Session Start — When the game launches, the SDK calls
POST /api/sessions/startwith a unique session token, platform, game version, and device info. - Crash Detection — On an uncaught error or crash, the SDK marks the session as crashed via
POST /api/sessions/endwithcrashed: true. - Clean Exit — On normal shutdown, the SDK calls the same endpoint with
crashed: false.
Key Metrics
- Crash-Free Rate — Percentage of sessions without a crash. Target: 99.5%+.
- Daily Trend — 30-day chart of crash-free rate over time.
- Platform Breakdown — Crash rates by the platform string your game reports.
- Version Comparison — Compare crash rates across game versions to spot regressions.
- Top Crash Signatures — Most frequent crashes grouped by fingerprint for faster debugging.
Custom Engine Integration
If you are using a custom engine without an official SDK, you can integrate session tracking directly via the REST API:
# Start a session
POST /api/sessions/start
{"api_key":"sk_live_...","session_token":"unique-id","platform":"Windows","game_version":"1.2.0"}
# End a session (clean exit)
POST /api/sessions/end
{"api_key":"sk_live_...","session_token":"unique-id","crashed":false}
# End a session (crash detected)
POST /api/sessions/end
{"api_key":"sk_live_...","session_token":"unique-id","crashed":true}
View crash analytics in the Game Health dashboard tab.
Session Replays
Studio PlusWatch what a player was doing just before a bug report. When session capture is on, the SDK keeps a short recording of recent gameplay and uploads it with each report.
How It Works
- Turn on Session Capture on the project’s card on the Projects page (Studio Plus only)
- The SDK reads the setting on init and starts recording
- When a bug report is submitted, the recording is uploaded to
POST /api/session-replays - Watch it in the bug’s detail panel
Recording Format
- Web and Construct 3 — WebM video of the game canvas
- Unity and Godot — Animated GIF of recent frames
- Unreal — MP4 video
- GameMaker and Pygame — Animated GIF of the last 10 seconds (5 frames per second, up to 320 px wide)
Plan Enforcement
Session replays are only available on the Studio Plus plan. The server enforces this in two ways:
- The
GET /api/bugs/settingsendpoint returnssession_capture: falsefor Indie and Studio projects, so SDKs never start recording - The
POST /api/session-replaysendpoint rejects submissions from projects not on the Studio Plus plan - Uploads may be up to 50 MB
Upload a replay (multipart/form-data: bug_report_id, file, optional duration_sec and metadata). Requires the X-API-Key header and a Studio Plus plan.
List the replays attached to a bug report. Requires a session token.
Event Tracking
Studio+Track custom analytics events from your game — level completions, item purchases, achievement unlocks, and more. Event data is aggregated in the Bugnet dashboard with daily trends, platform breakdowns, and unique session counts.
How It Works
- Track events — Call
trackEvent()(ortrack_event()) from your game code with an event name and optional custom data. - Batch for efficiency — Use
trackEvents()to send up to 50 events in a single request. - View in dashboard — Event names, counts, trends, and platform breakdowns appear under Analytics > Dashboard in the sidebar.
Payload Format
Each event includes these fields, most of which are set automatically by the SDK:
| Field | Type | Required | Description |
|---|---|---|---|
event_name | string | Yes | Event identifier, max 100 characters |
event_data | object | No | Custom JSON data, max 4KB |
session_token | string | No | Groups events by player session (set automatically) |
platform | string | No | Platform name (set automatically) |
game_version | string | No | Game version (set automatically) |
Plan Limits
| Plan | Monthly Events | Data Retention |
|---|---|---|
| Indie (Free) | Not available | — |
| Studio | 100,000 | 30 days |
| Studio Plus | Unlimited | 90 days |
API Endpoints
Track a single event. Requires X-API-Key header.
Track up to 50 events in a single batch. Requires X-API-Key header.
List event names with aggregated counts. Requires authentication.
Daily volume trends and top events. Requires authentication.
Drill-down for a specific event with daily trend, platform breakdown, and recent raw events.
Live Logs
Studio+Live Logs (under Analytics in the dashboard sidebar) is a unified, chronological feed of everything happening inside your game — bug reports, tracked events, and team activity — merged into a single terminal-style timeline. Use it to debug issues in near-real time or audit what players were doing just before they hit a bug.
What's in the Feed
- Events — every custom event sent via
trackEvent()/trackEvents(), with event name, platform, session, and custom data. - Bug reports — new bugs filed from the SDK or web form, with severity, category, and player context.
- Activity — dashboard actions taken by team members (status changes, assignments, comments).
Filtering & Time Range
The feed can be filtered by entry type (All, Events, Bugs, Activity) and time window (24 hours, 7 days, 30 days, or 90 days). Entries are paginated and loaded on demand — click Refresh at any time to pull the latest.
Plan Availability
Live Logs is available on the Studio and Studio Plus plans. On the Indie (Free) plan, the Live Logs page shows an upgrade prompt instead of the feed, and GET /api/projects/:slug/log-stack returns 403.
API Endpoint
Returns a merged, reverse-chronological feed of events, bug reports, and activity for the project. Supports days and page query parameters.
Release Health Monitor
Monitor the health of each game version at a glance and spot problem releases before they spread. Release health is shown on the Game Health page.
Per-Version Metrics
- Total, open, resolved, crash and critical bug counts for the version
- Crash-free session rate — from the sessions your SDK reports
- Health score (0–100) — starts at 100 and is reduced by the share of bugs still open, by crash and critical bugs, and by high bug volume
- Letter grade — a quick visual indicator derived from the health score
- First and latest report timestamps
API Endpoints
All versions with health scores, grades, bug counts and crash-free rates.
Drill-down for one version: bugs by category and status, recent bugs, and daily report counts.
Performance Profiling
Capture detailed performance metrics alongside bug reports. Performance snapshots help you correlate bugs with hardware bottlenecks, frame drops, and resource spikes.
StudioAvailable on the Studio plan and above.
Metrics Captured
- FPS — frames per second at the time of the report
- Frame time — time per frame in milliseconds
- Memory usage — current memory consumption in MB
- GPU usage — GPU utilization percentage
- CPU usage — CPU utilization percentage
- Draw calls — number of draw calls in the current frame
- Triangle count — total triangles rendered
- Network latency — round-trip time in milliseconds (for multiplayer games)
- Custom metrics — game-specific values you define (e.g., entity count, AI tick time)
Performance snapshots are attached to individual bug reports. You can also view the project-wide performance summary for trend analysis across all reports.
Submit performance data automatically via the SDK, or manually via the API:
Attach a performance snapshot to a bug report. Requires the X-API-Key header. Body: bug_report_id plus any of fps, frame_time_ms, memory_used_mb, memory_total_mb, draw_calls, triangles, cpu_usage, gpu_usage, load_time_sec, network_latency_ms, and custom_metrics (a string, typically JSON).
The snapshot attached to a bug report. GET /api/projects/:slug/perf-summary returns project-wide averages.
Regression Detection
Bugnet looks for new bug reports that resemble bugs you already resolved, so you can catch fixes that didn’t stick.
How It Works
- Open Game Health (or call the detect endpoint). Bugnet compares recent reports against resolved ones in the same project by title similarity, and lists likely matches with their game versions and a similarity score.
- Your team reviews each match and confirms or dismisses it.
- Confirmed and dismissed decisions are stored, so the list of regressions builds up over time.
Regression States
| State | Description |
|---|---|
confirmed | Your team confirmed the new bug is a genuine regression |
dismissed | Your team dismissed the match as a false positive |
Matches you haven’t reviewed yet are only returned by the detect endpoint; they aren’t stored.
API Endpoints
Find new bugs that look like previously resolved ones.
List confirmed and dismissed regressions.
Record a decision. Body: {original_bug_id, new_bug_id, status, resolved_version, regressed_version} with status confirmed or dismissed.
Satisfaction Ratings
Record how satisfied a player was with the handling of their bug, and track the trend across your project. Ratings are recorded through the API — for example from your own support tool or a follow-up survey — and summarized on the Game Health page.
How It Works
- A rating is 1–5 with an optional comment, and can be recorded once a bug is
resolvedorclosed - Ratings are recorded with a session token, so they come from your team’s tooling rather than directly from players
Project-Level Summary
- Average rating and rating distribution (1 through 5)
- Monthly trend
- Average by category, and the lowest-rated bugs
API Endpoints
Record a rating. Body: {rating, comment} with rating 1–5.
The rating for one bug.
The project summary: average, distribution, monthly trend and per-category averages.
API Usage
See how much data your games are sending, to plan capacity and keep an eye on plan limits. Usage figures are available through the API:
- Bug submissions — total, today, last 7 days and last 30 days, per project
- Game sessions — sessions started in the last 30 days, per project
- Team size per project
Usage for every project you’re a member of.
Usage for one project.
Your plan’s limits and how much of them you’ve used are on the Billing page.
Alert Rules
Configure automated alerts based on metric thresholds. Bugnet checks your rules every hour and emails your team when one fires.
Alert Types
| Alert Type | Trigger Condition |
|---|---|
| Bug Spike | Alert when new bugs exceed a threshold within a time window |
| Crash Rate | Alert when crash rate exceeds a percentage threshold |
| Satisfaction Drop | Alert when average satisfaction drops below a threshold |
Configuration Options
- Metric to monitor —
bug_spike,crash_rateorsatisfaction_drop - Threshold value — the value that must be exceeded (or dropped below) to fire
- Time window — evaluation period in hours (e.g., 1, 6, 24)
- Enable/disable toggle — temporarily silence an alert without deleting it
A fired alert emails the project’s members who have new bug emails turned on. Alerts don’t send webhooks or Discord messages.
API Endpoints
List all alert rules configured for the project.
Create a new alert rule with metric, threshold, and time window.
Update an existing alert rule or toggle it on/off.
Delete an alert rule permanently.
Auto-Triage
Auto-triage reads a report’s text and suggests how to handle it, so incoming reports need less manual sorting.
StudioAvailable on the Studio plan and above.
Capabilities
- Suggested category and priority — inferred from keywords and severity indicators in the title and description, with a confidence score
- Suggested response — a draft reply you can send to the player
- Frustration level — how upset the reporter sounds (
calm,frustrated,angry,furious) - Potential duplicates — similar existing reports
- Crash grouping — clusters crash reports by normalized title to reduce noise
- Early churn warning — flags players whose recent reports suggest they may stop playing
On every plan, reports submitted with the default other category and medium priority are automatically recategorized and reprioritized from their text when they arrive (reports the SDK auto-captures from engine errors keep the SDK’s classification).
API Endpoints
Suggestions for one report: category, priority, response, frustration level, duplicates, confidence.
Crash reports clustered by signature.
Players at risk of churning.