RUM-13568: [Cronet]: Supporting RUM <> APM integration for Cronet#3136
RUM-13568: [Cronet]: Supporting RUM <> APM integration for Cronet#3136
Conversation
|
To use Codex here, create a Codex account and connect to github. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5ee7daf6e5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
...droid-cronet/src/main/kotlin/com/datadog/android/cronet/internal/DatadogUrlRequestBuilder.kt
Outdated
Show resolved
Hide resolved
21d8777 to
3db3a62
Compare
This comment has been minimized.
This comment has been minimized.
dd-sdk-android-internal/src/main/java/com/datadog/android/internal/utils/LangExt.kt
Outdated
Show resolved
Hide resolved
...droid-rum/src/main/kotlin/com/datadog/android/rum/internal/net/RumResourceInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Show resolved
Hide resolved
sample/kotlin/src/main/kotlin/com/datadog/android/sample/cronet/CronetImageFragment.kt
Show resolved
Hide resolved
...e/src/main/kotlin/com/datadog/android/api/instrumentation/network/HttpRequestInfoModifier.kt
Outdated
Show resolved
Hide resolved
dd-sdk-android-internal/src/main/java/com/datadog/android/internal/utils/LangExt.kt
Outdated
Show resolved
Hide resolved
features/dd-sdk-android-rum/src/main/kotlin/com/datadog/android/rum/_RumInternalProxy.kt
Outdated
Show resolved
Hide resolved
...-android-okhttp/src/main/kotlin/com/datadog/android/okhttp/internal/OkHttpHttpRequestInfo.kt
Outdated
Show resolved
Hide resolved
...id-cronet/src/main/kotlin/com/datadog/android/cronet/internal/DatadogCronetRequestContext.kt
Outdated
Show resolved
Hide resolved
...id-cronet/src/main/kotlin/com/datadog/android/cronet/internal/DatadogCronetRequestContext.kt
Show resolved
Hide resolved
4ef7d94 to
6c726f5
Compare
6c726f5 to
0e81151
Compare
0xnm
left a comment
There was a problem hiding this comment.
I partially covered this PR, but will continue review later.
...re/src/main/kotlin/com/datadog/android/api/instrumentation/network/HttpRequestInfoBuilder.kt
Outdated
Show resolved
Hide resolved
...re/src/main/kotlin/com/datadog/android/api/instrumentation/network/HttpRequestInfoBuilder.kt
Show resolved
Hide resolved
features/dd-sdk-android-rum/src/main/kotlin/com/datadog/android/rum/_RumInternalProxy.kt
Outdated
Show resolved
Hide resolved
...id-trace/src/main/kotlin/com/datadog/android/trace/ApmNetworkInstrumentationConfiguration.kt
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...id-cronet/src/main/kotlin/com/datadog/android/cronet/internal/DatadogCronetRequestContext.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Outdated
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Outdated
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Outdated
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Outdated
Show resolved
Hide resolved
0e81151 to
f636bd2
Compare
features/dd-sdk-android-rum/src/test/kotlin/com/datadog/android/rum/RumInternalProxyTest.kt
Show resolved
Hide resolved
...id-trace/src/main/kotlin/com/datadog/android/trace/ApmNetworkInstrumentationConfiguration.kt
Outdated
Show resolved
Hide resolved
...res/dd-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/ApmNetworkTracingScope.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/test/kotlin/com/datadog/android/trace/internal/DatadogTracingToolkitTest.kt
Outdated
Show resolved
Hide resolved
...oid-trace/src/test/kotlin/com/datadog/android/trace/internal/DatadogPropagationHelperTest.kt
Outdated
Show resolved
Hide resolved
...oid-trace/src/test/kotlin/com/datadog/android/trace/internal/DatadogPropagationHelperTest.kt
Outdated
Show resolved
Hide resolved
...-android-cronet/src/test/kotlin/com/datadog/android/cronet/DatadogCronetEngineBuilderTest.kt
Outdated
Show resolved
Hide resolved
...-android-cronet/src/test/kotlin/com/datadog/android/cronet/DatadogCronetEngineBuilderTest.kt
Outdated
Show resolved
Hide resolved
...d-sdk-android-trace/src/main/kotlin/com/datadog/android/trace/internal/net/TracerProvider.kt
Outdated
Show resolved
Hide resolved
...ndroid-trace/src/main/kotlin/com/datadog/android/trace/internal/ApmNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...trace/src/main/kotlin/com/datadog/android/trace/internal/net/ApmNetworkInstrumentationExt.kt
Outdated
Show resolved
Hide resolved
f636bd2 to
eb2e15e
Compare
eb2e15e to
5086f65
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5086f65e99
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
...ions/dd-sdk-android-cronet/src/main/kotlin/com/datadog/android/cronet/DatadogCronetEngine.kt
Show resolved
Hide resolved
...id-cronet/src/main/kotlin/com/datadog/android/cronet/internal/DatadogCronetRequestContext.kt
Outdated
Show resolved
Hide resolved
0xnm
left a comment
There was a problem hiding this comment.
Some final suggestions, otherwise lgtm.
Codex suggested something as well.
...ndroid-rum/src/main/kotlin/com/datadog/android/rum/internal/net/RumNetworkInstrumentation.kt
Outdated
Show resolved
Hide resolved
...oid-trace/src/test/kotlin/com/datadog/android/trace/internal/DatadogPropagationHelperTest.kt
Outdated
Show resolved
Hide resolved
...rc/test/kotlin/com/datadog/android/trace/internal/net/ApmInstrumentationConfigurationTest.kt
Outdated
Show resolved
Hide resolved
...rc/test/kotlin/com/datadog/android/trace/internal/net/ApmInstrumentationConfigurationTest.kt
Outdated
Show resolved
Hide resolved
| constructor(Float) | ||
| constructor(Double) | ||
| typealias TraceContextInjection = com.datadog.android.trace.TraceContextInjection | ||
| class com.datadog.android.okhttp.internal.OkHttpRequestInfoBuilder : com.datadog.android.api.instrumentation.network.HttpRequestInfoBuilder |
There was a problem hiding this comment.
yes, for -otel module, it's marked with @InternalApi
5086f65 to
b715ecb
Compare
What does this PR do?
In this PR we are copying the main logic from
TracingInterceptor/DatadogInterceptorinto theNetworkTracingInstrumentationin order to:CronetMotivation
Continuing to add an integration for
Cronetlibrary meanwhile preparing infrastructure to migrateOkHttponto the same logic.Additional Notes
Note that in this PR we are not supporting deep network instrumentation that is being done by
TracingInterceptorinOkHttp. This logic will be supported in a further PR as this one is already pretty big.NOTE: In this PR as an experiment an AI agent helped to write tests and some docs. I've made few iterations of a fixes for that but if you spot any issues - let me know. AI wasn't involved into production code development.
Review checklist (to be filled by reviewers)