Skip to content

Add mobile normalizations to SpanV2 processing pipeline #5793

@buenaflor

Description

@buenaflor

The V2 span processing pipeline has no mobile-specific normalizations. All mobile logic lives in the V1 path (Event + Span types).

Mobile specific normalization for span v2

  • Outlier filtering: Remove app.start.value, app.ttid.value, app.ttfd.value exceeding 180s
  • Main thread tag: Derive sentry.main_thread: "true" from thread.name == "main"
  • Device class: Derive device.class (LOW/MEDIUM/HIGH) from device attributes. Reuse existing classification logic from device_class.rs
  • Mobile tag: Derive sentry.mobile: "true" from sentry.sdk.name

~~Frame rate calculation: Derive ~~frames.frozen_rate~~ and ~~frames.slow_rate~~ from ~~frames.frozen / frames.total~~ and ~~frames.slow / frames.total~~ and ~~~~stall_percentage~~ -> done in Frontend instead on-demand

Additionally for v1 pipeline add:

  • App start: add app.start and app.start.type attributes if app start measurements exist. These are the new attributes that will be used in the mobile vitals dashboard (since they cannot be deprecated directly in sentry-conventions we need to add them here)

Metadata

Metadata

Assignees

Labels

No labels
No labels
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions