Tracking issue surfaced during PR #166.
Risk
OpenTelemetry and Azure Monitor Exporter rely heavily on reflection for:
- Resource attribute discovery
- Exporter type resolution
- Instrumentation library activation (e.g., HttpClient, EF Core)
In Release builds with the IL linker set aggressive (default for iOS; opt-in for Android), reflection-only types can be trimmed away. Telemetry silently stops working in production builds while Debug/Catalyst works fine.
Work required
Why it matters
Without this verification, mobile ↔ API correlation could silently degrade in Release even though the wiring is correct — the PR #166 correlation join query would return zero rows even with fresh builds on-device.
Context: PR #166
Tracking issue surfaced during PR #166.
Risk
OpenTelemetry and Azure Monitor Exporter rely heavily on reflection for:
In Release builds with the IL linker set aggressive (default for iOS; opt-in for Android), reflection-only types can be trimmed away. Telemetry silently stops working in production builds while Debug/Catalyst works fine.
Work required
net10.0-ios) and Android, install on physical devicessstudio-mobile-ai<TrimmerRootDescriptor>or[DynamicallyAccessedMembers]attributes to preserve required OTel typesdocs/deploy-runbook.md(KQL for mobile-tagged telemetry within 15m of install)Why it matters
Without this verification, mobile ↔ API correlation could silently degrade in Release even though the wiring is correct — the PR #166 correlation join query would return zero rows even with fresh builds on-device.
Context: PR #166