-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS RUM - View LoadingTime not tracked #1114
Comments
Hey @alexanderthoren 👋 Indeed, there is no tracking of view loading time on iOS. The reason being that there is no strict definition of when it starts and when it stops. We are not sure what a view loading time would mean for View Controller, or for SwiftUI.View. Maybe you could share your use case and we could think of a solution? How do you leverage this value on Android? |
Hello @maxep, In the graph above we can see that when the system function In Android, in |
Hello @alexanderthoren 👋, thank you for more insights. To give you more background, the idea of
In web world, this is very valuable metric indicating How long the user has to wait until all content is ready (on a web page)?. It clearly defines its purpose as different teams can work on optimising website resources, scripts, DOM and othear means to make this initial experience arrive earlier (hence they measure and aim at reducing the Measuring With lack of clear definition for "view loading time" on iOS, we rather promote the API for adding your own performance timing. It can be used to mark the end of app-specific routines, e.g. "all images loaded" or "UI is ready for interaction". |
Hi @alexanderthoren 👋 Following up on this, we picked this project up and recently delivered the first milestone: an experimental API to track the @view.loading_time telemetry in RUM. The docs can be found here for iOS (and there for Android if you were interested too by the way). It's still a manually instrumented solution as each View has its own business logic and it's (almost) impossible to reliably determine it's loading time from our end. But there is much more to it than this declarative API. In parallel, we’re implementing 3 additional and out-of-the-box (read 'automated') timings. Names might change, we’re open to suggestions:
For all of these timings that would be attached to the view event on RUM, we’re looking at an additional opt-in API to auto-instrument corresponding APM spans, so you could further expand the traces with more manually created spans, and break down these timings into actionable profiles. To start with, would you be willing to give the manual API a try? |
We are currently using Datadog v1.12.0 in iOS with SPM.
In
Android
we can access the parameterLoadingTime
as it is sent to Datadog automatically. IniOS
we are not able to track this automatically, and we found out that the classRUMViewScope
in the functionsendViewUpdateEvent
always sends this parameter asnil
.I am attaching two screenshots, the first one from
Android
and the second one foriOS
.When this will be added to iOS? Is it scheduled for one of the next updates? Thanks! 😄
The text was updated successfully, but these errors were encountered: