grafana / grafana/faro-react-native-sdk
Emit mobile performance events instead of measurements
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 4
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 9
Description
Migrate React Native mobile performance signals from Faro measurements to `app.*` events (aligns with OpenTelemetry's per-metric-event model).
| Current measurement | New event |
| --- | --- |
| `app_startup` | `app.startup` |
| `app_refresh_rate` | `app.refresh_rate` |
| `app_cpu_usage` | `app.cpu_usage` |
| `app_memory` | `app.memory` |
| `app_frozen_frame` | `app.jank` (`app.jank.threshold` ≈ 0.700) |
| `app_frames_rate` | `app.jank` (`app.jank.threshold` ≈ 0.016) |
| `anr` | `app.anr` |
- Numeric value serialized as a decimal string in a `value` attribute (events are string-typed).
- `app_frozen_frame` + `app_frames_rate` collapse into one `app.jank` event, distinguished by `app.jank.threshold`.
- Emit the event only (not the measurement) to avoid double-counting.
- Web Vitals are unaffected — they stay measurements.
Contributor guide
Assessment
This issue has not been assessed yet.