getsentry / team-mobile

Meta issues for the Mobile team
4 stars 1 forks source link

Rename APM tracking feature flags to tracing #74

Closed philipphofmann closed 1 year ago

philipphofmann commented 2 years ago

Please validate that your SDK doesn't contain performance feature flags named ...tracking....

If it does, please mark them as deprecated and add a new one named ...tracing.... Other features not related to performance can keep the name ...tracking.... If a feature flag is related to performance and something else, keeping the name ...tracking... is OK. Please update your user facing docs accordingly.

Example from the Cocoa SDK:

If your SDK needs changes, please create an issue. If not, mark the task as done:

### Tasks
- [x] https://github.com/getsentry/sentry-cocoa/issues/2417
- [ ] https://github.com/getsentry/sentry-dart/issues/1177
- [x]  Java https://github.com/getsentry/team-mobile/issues/74#issuecomment-1340532665
- [x] .NET https://github.com/getsentry/team-mobile/issues/74#issuecomment-1349885378
marandaneto commented 2 years ago

That has to be aligned with Flutter and RN since we init the iOS SDK with the options map, the names should match.

philipphofmann commented 1 year ago

@romtsn, @markushi, @mattjohnsonpint, please accomplish the small task as requested by me above

If your SDK needs changes, please create an issue. If not, mark the task as done.

philipphofmann commented 1 year ago

We already changed the names for Cocoa with https://github.com/getsentry/sentry-cocoa/issues/2417. The change is going to be in 8.0.0. Any reason not to align with that, @marandaneto?

markushi commented 1 year ago

I just checked Java/Android, looking good already. For FramesTracking I'm not 100% sure, @philipphofmann how do you call it on iOS? As far as I can see this is used for slow/frozen frames.

Sentry(Android)Options

setEnableFramesTracking setEnableAutoSessionTracking setEnableUserInteractionTracing setEnableAutoActivityLifecycleTracing setEnableActivityLifecycleTracingAutoFinish

Manifest metdata options

"io.sentry.session-tracking.enable" "io.sentry.auto-session-tracking.enable" "io.sentry.traces.frames-tracking" "io.sentry.traces.activity.enable" "io.sentry.traces.activity.auto-finish.enable" "io.sentry.traces.user-interaction.enable" "io.sentry.traces.profiling.enable"

AGP

InstrumentationFeature.DATABASE, InstrumentationFeature.FILE_IO, InstrumentationFeature.OKHTTP, InstrumentationFeature.COMPOSE

marandaneto commented 1 year ago

I guess the biggest problem is only when we have a single configuration for multiple features, such as UserInteraction which does crumbs and transactions, but its called tracing, not sure what would be ideal here, less confusing and less breaking.

marandaneto commented 1 year ago

Dart has enableAutoSessionTracking, enableUserInteractionTracing, networkTracing (we don't rename it because we also have recordBreadcrumbs for this integration), enableStructuredDataTracing.

We can rename enableAutoPerformanceTracking (also used for slow and frozen frames) to enableAutoPerformanceTracing.

We can get rid of enableAutoTransactions and use enableAutoPerformanceTracing, maybe?

Maybe we can rename autoAppStart to autoAppStartTracking.

philipphofmann commented 1 year ago

For FramesTracking I'm not 100% sure how do you call it on iOS?

We don't have a flag for that.

Maybe we can rename autoAppStart to autoAppStartTracking.

I agree.

mattjohnsonpint commented 1 year ago

The only ones we have in .NET are directly related to the iOS options that changed. (ie., SentryOption.iOS.EnableAutoPerformanceTracking). These are rarely used, but just pass-through to setting the native options. I'll make the matching change when I next bump the Cocoa SDK version.

The only other usage of "tracking" is with AutoSessionTracking.

kahest commented 1 year ago

@marandaneto seems like this is completed, can you please verify?

philipphofmann commented 1 year ago

All tasks are done; so we can close this. Please reopen otherwise.