RUM-11831: Integrate Perfetto ProfilingManager API#2902
Conversation
dd8c48f to
cb42528
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feature/perfetto-profiling #2902 +/- ##
==============================================================
+ Coverage 70.93% 71.01% +0.07%
==============================================================
Files 816 817 +1
Lines 30014 30059 +45
Branches 5022 5024 +2
==============================================================
+ Hits 21290 21344 +54
+ Misses 7336 7335 -1
+ Partials 1388 1380 -8
🚀 New features to boost your workflow:
|
| * Provides the current device timestamp. | ||
| * Meant for internal usage. | ||
| */ | ||
| interface TimeProvider { |
There was a problem hiding this comment.
we already have com.datadog.android.core.internal.time.TimeProvider and also com.datadog.android.sessionreplay.internal.utils.TimeProvider.
Maybe it is worth to simply pull the one from core to internal? Otherwise we have 3 TimeProvider interfaces.
There was a problem hiding this comment.
Rebased the branch and replaced it with the new merged TimeProvider in internal
| private val timeProvider: TimeProvider | ||
| ) : Profiler { | ||
|
|
||
| private val profilingExecutor = Executors.newSingleThreadExecutor() |
There was a problem hiding this comment.
is it worth to pull it to the constructor to be able to inject the "same-thread" executor for tests?
725d436 to
40cd5ac
Compare
40cd5ac to
b5724e3
Compare
What does this PR do?
This PR creates
PerfettoProfilerto delegate PerfettoProfilingManagerAPI:startandstopto internal module to start and stop profilingMotivation
RUM-11831
Additional Notes
TimeProviderInterface and default implementation ininternalmodule since we need it inPerfettoProfilerandroidx.coreversion to 1.17.0 which deprecatesGestureDetectorCompatin RUMGesturesDetectorWrapper, but we Suppress it in this PR.Review checklist (to be filled by reviewers)