Platform Breakdown
See your traffic split across iOS, Android, web, Node, Flutter, Laravel and other platforms with per-platform request counts, latency, and error rate.
Platform Breakdown shows how your performance data splits across SDKs — iOS, Android, web, Node, Flutter, Laravel — so you can quickly see which platform is driving traffic and how it's performing relative to the rest. AbrovaTrace groups every span by the platform field each SDK sets on its spans.
If your app's overall p95 jumps after a release, Platform Breakdown is the fastest way to find whether it's the iOS update, the Android rollout, or the new web build dragging the number up.
What You See in the Dashboard#
On Trace → Performance in Abrova Console, use the Platform filter in the toolbar to narrow every card (stats, latency, operations, status codes, failed requests) to one platform. Switch between platforms to compare their request counts, latency and error rate side by side.
How Platform Is Detected#
The platform field is set by the SDK on every span it reports:
| SDK | Reported Platform | Source |
|---|---|---|
| Next.js / Web | nextjs | Fixed by the SDK |
| Flutter | flutter_android / flutter_ios / flutter_web_* … | Detected at runtime via AbrovaTrace.createPerformanceClient / trackOperation; a standalone PerformanceHttpClient reports flutter (or web) unless you pass platform, and spans you build yourself for reportPerformanceSpan carry only the platform you set |
| Android | android | Fixed by the SDK |
| iOS | ios | Fixed by the SDK |
| Node.js | nodejs | Fixed by the SDK |
| Laravel | laravel | Fixed by the SDK |
If a span arrives without a platform tag (custom span, legacy SDK, etc.), it falls into the "unknown" bucket.
Separating Products#
There is no init option to override the platform. If one project ingests both your customer web app and your admin panel, tell them apart with a distinct environment (a Performance filter), or with tags on the spans you report yourself:
AbrovaTrace.init({
apiKey: 'ab_live_your_api_key',
environment: 'production-admin',
});
await AbrovaTrace.getInstance()?.trackOperation('loadReport', loadReport, {
tags: { app: 'web-admin' },
});Best Practices#
The biggest slice is usually where regressions hide simply because it has the most samples. Compare its p95 to the others
If one project ingests an admin tool + a customer app, give each its own environment so you can filter them apart
A sudden growth in the unknown bucket usually means a new SDK version is missing a platform tag — worth investigating
Mobile traffic is typically chattier (background sync) while web traffic is bursty. The ratio is healthy when it matches your active-user mix