Enable related requests
Requires Logister 3.7 or later. The project picker below requires 3.7.1; verify the required SDK version is published before upgrading. You must manage both projects to connect them.
- Set
LOGISTER_CROSS_PROJECT_CORRELATIONS=trueon your Logister instance. The default is off. - In each project, open Settings → Integrations → Connected projects and enable related requests.
- In the backend project, use Link an app to this backend. Choose the Android or iOS project from App project, then select Review connection. Check that the named mobile app sends requests to the correct backend. Select the App environment and Backend environment, then select Link projects. Repeat for your other mobile app. Starting from a mobile project instead shows Link this app to a backend.
- Upgrade the relevant SDKs and enable the application's outbound HTTP wrapper with an exact backend-origin allowlist. Exclude mobile-token issuer URLs. Keep each app's own release and environment.
Project choices show the platform and slug to distinguish similar names. Only active projects you own or administer appear; already linked projects cannot be selected again. Environment lists show recent values and common names. Choose Other environment to enter a missing name exactly as your app reports it. Each linked project shows a reminder if related requests are still disabled.
Readers need access to both projects. A connection grants no permissions. Either project's manager can disconnect it.
Choose your SDK integration
| SDK release | Request context | Outbound calls |
|---|---|---|
| Ruby 0.5.0 | Rack/Rails request scope | Immutable child handle and header helper |
| JavaScript 0.5.0 | Express AsyncLocalStorage | Opt-in fetch wrapper |
| Python 0.5.0 | Django, Flask, FastAPI ContextVar | Immutable child handle and header helper |
| .NET 0.4.0 | Native W3C Activity and ASP.NET Core | Native HttpClient tracing; explicit helper for other transports |
| iOS 0.6.0 | Explicit per-attempt handle | Opt-in URLSession wrapper |
| Android 0.6.0 | Explicit per-attempt handle | HttpURLConnection wrapper or optional logister-android-okhttp artifact |
Headers use W3C traceparent and x-request-id. URLSession, fetch, and HttpURLConnection wrappers return redirects for explicit handling. The OkHttp integration checks each redirect hop. Generic header helpers require disabled redirects or per-hop validation. Browser CORS must allow both header names.
Verify one failed request
- Make a test call from the mobile app to its backend. Retain the wrapper's immutable request handle and attach it to the handled error.
- Confirm the backend records the same trace ID with a new local span and the outgoing mobile span as its parent.
- Open the mobile error occurrence and its Related requests panel. Open the matching backend occurrence.
- Check the evidence label and release. A deployment is attached only when its own project, environment, and release identify exactly one preceding deployment.
| Evidence | Meaning |
|---|---|
| Parent span | Shared trace and an explicit parent/child span relationship |
| Shared trace | Records carry the same trace ID |
| Shared request ID | Same request ID without a contradictory trace |
These labels describe identifiers, not proof of causation. Endpoints and timestamps provide context; they do not create a match. Aggregate OS diagnostics and unrelated crashes are not assigned a guessed request.
CLI 1.2.0 adds the same lookup. Its token needs events:read, errors:read, traces:read, and deployments:read, plus both projects in its allowlist.
logister events correlations EVENT_UUID --project PROJECT_UUID --format jsonIf a related request is missing
- No panel: check the instance flag and this project's setting.
- No backend result: check access to both projects, both opt-in settings, environment mapping, outgoing headers, and the selected occurrence's IDs. Conflicting IDs are excluded.
- Incomplete results: check retention coverage and narrow the time range. The default is ±15 minutes; the maximum is 24 hours, ten connected projects, 500 rows, and 1 MiB of response metadata.
- No deployment: record the backend's own release/environment and deployment time. Missing or ambiguous releases are left unlinked.
- Unexpected match: disable related requests or disconnect the projects while checking identifier reuse. Incoming identifiers are untrusted metadata.
See CLI setup, GitHub source context, or report a documentation issue.