Skip to main content

Network requests

Unlike session data, network request tracking requires you to forward requests to Shake first.

You're viewing the Flutter docs. Other platforms →   iOS  Android  React Native  Web 

Why it matters​

This data is what lets you see, per release, which endpoints are slowest and which have the highest error rates on your Shake dashboard — so you can catch performance and reliability regressions before they reach more users.

Setup​

If you've already set up network tracking for Activity history, no extra work is needed — session network tracking uses the same data.

Otherwise, forward requests to Shake using ShakeHttpClient:

main.dart
import 'package:shake_flutter/network/shake_http_client.dart';
void sendNetworkRequest() async {
ShakeHttpClient shakeHttpClient = ShakeHttpClient();
await shakeHttpClient.getUrl(Uri.parse("http://www.shakebugs.com"));
}

If you use dio or the http package, see Activity history for the dedicated shake_dio_interceptor and shake_http_client packages. For anything else, use Shake.insertNetworkRequest(...) to forward requests manually.

What's tracked​

For each request, Shake tracks the URL (query parameters and fragment stripped), method, status code, average duration, and call count.

  • Requests to the same URL and method but with different status codes (for example, 200 vs. 500) are tracked as separate entries.
  • Path parameters aren't normalized — /users/123 and /users/456 are tracked as distinct endpoints.

Request and response bodies and headers are never included in this data — those are only collected for Activity history on bug reports.