Dartastic OTel Reference Demo
Working Flutter apps that show every feature of Dartastic, with the setup already done. Run them to see Dartastic work end to end, then read their code and copy from it.
It is the enhanced commercial version of the open-source Dart OTel Reference Demo, with many more demos. Every app resolves its packages from your Dartastic Pub and sends to your Observatory, so when the demo runs, your account is proven to work.
Download it
Sign in to the Control Room and press Reference Demo at the top of every screen, next to Help:

It downloads dartastic-otel-reference-demo-<version>.tar.gz. Unpack it wherever you keep your code:
tar -xzf dartastic-otel-reference-demo-*.tar.gz
cd dartastic-otel-reference-demo-* The README.md at its top is the full guide. The steps below get you to your first run.
On Hosted: point it at your server
The demo starts pointed at Dartastic Cloud, so on Cloud there is nothing to do here. On Hosted, run this once with your subdomain:
tool/set-hosted-slug.sh <subdomain> It writes your subdomain to .env (which git ignores) and updates the pubspecs. Run it again with another subdomain to switch, or with "" to go back to Cloud.
The tokens it needs
Mint each one on the Control Room's Tokens screen. Each token is shown only once, so copy it when you mint it.
| Token | Needed for |
|---|---|
Pub tokendart pub token add (once) | Every demo: flutter pub get resolves the packages from your Dartastic Pub. |
OTLP tokenOTEL_EXPORTER_OTLP_HEADERS | Every demo: the apps send their telemetry to your Observatory. |
Weather tokenDARTASTIC_DEMO_WEATHER_API_TOKEN | weather_flutter and the Weather tab of all_demos_flutter: the demo weather service (50 requests a day). |
Symbolizer tokenDARTASTIC_SYMBOLIZER_TOKEN | symbolizer_demo_flutter only. |
A read-only Pub token is enough for every demo except symbolizer_demo_flutter and crash_demo_flutter, which publish to your Pub and need a read and write token. Getting started walks through adding the Pub token and exporting the others.
Export the tokens in your shell rather than writing them into .env: a shared or committed .env is a common way secrets leak.
Run a demo
The demo is one Flutter workspace, so fetch every app's packages at once from its top folder:
flutter pub get If that succeeds, your Dartastic Pub and your Pub token work. Then start an app; tool/launch.sh asks which device to run on:
tool/launch.sh --list # every demo app
tool/launch.sh # weather_flutter
tool/launch.sh rum_demo_flutter- Docker is needed only for
weather_flutterandall_demos_flutter: they bring up the weather API on your machine to show one trace across app and server. - The demos run on Android, iOS, macOS, Windows and Linux, on devices and simulators. They do not run on the web.
What is in it
| App | What it shows |
|---|---|
weather_flutter | One tap traced end to end: the app, a weather API, its cache and the outside weather service, in one trace. |
all_demos_flutter | Almost every demo as a tab in one app. |
rum_demo_flutter | Sessions, screen views, taps and frustration signals, with session replay. |
crash_demo_flutter | Crashes recorded and delivered even when the app dies. |
symbolizer_demo_flutter | An obfuscated release build whose stack traces come back as your files and lines, and jank traced to the widget. |
anr_demo_flutter | App Not Responding detection. |
pii_demo_flutter | Keeping personal data out of your telemetry. |
webview_demo_flutter | Telemetry from a web page inside your app, joined to the app's trace. |
| Platform vitals | Release health, Android Vitals, iOS MetricKit, app startup, device state, thermal state, network flakiness, user experience and Linux server vitals, one app each. |
Each app links to what it sent in your Observatory. To learn a feature, run its app, then read its code: it is the smallest working example of that feature. Point your AI coding assistant at it, too.