RUM-13974: [Cronet] Supporting APM on network layer for Cronet#3171
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6032733f61
ℹ️ 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".
This comment has been minimized.
This comment has been minimized.
a60e49c to
feefe5b
Compare
8f048a3 to
91ec6c5
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 91ec6c595f
ℹ️ 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".
0xnm
left a comment
There was a problem hiding this comment.
One thing I forgot to mention is ApmNetworkTracingScope members naming. I have a concern about APPLICATION_LEVEL_REQUESTS_ONLY - one may think that this is application requests vs application+libraries (all) requests tracking, because some observability SDKs have a possibility to instrument HTTP clients implicitly, without having direct access to them.
Maybe we should come with better name, especially considering that we are trying to bring OkHttp-native concept to the generic HTTP instrumentation.
91ec6c5 to
dd12a69
Compare
cb8e557 to
62046e7
Compare
|
thanks for the PR @satween! i've made an editorial review card so a docs team member can take a look: https://datadoghq.atlassian.net/browse/DOCS-13466 |
249cd2d to
750a2b1
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 750a2b11d0
ℹ️ 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".
bb178c6 to
993383a
Compare
0xnm
left a comment
There was a problem hiding this comment.
I've added some comments: the most important points are ApmNetworkInstrumentationConfiguration constructor visibility and setCustomDistributedTraceConfiguration (we need to see if we can the necessary the other way, more intuitive and less error-prone).
993383a to
d4a5e23
Compare
| internal var traceOrigin: String? = null, | ||
| internal var redacted404ResourceName: Boolean = true, | ||
| internal var sdkInstanceName: String? = null, | ||
| internal var localTracerFactory: (SdkCore, Set<TracingHeaderType>) -> DatadogTracer = DEFAULT_LOCAL_TRACER_FACTORY, | ||
| internal var traceContextInjection: TraceContextInjection = TraceContextInjection.SAMPLED, | ||
| internal var tracedRequestListener: NetworkTracedRequestListener = NoOpNetworkTracedRequestListener(), | ||
| internal var traceSampler: Sampler<DatadogSpan> = DeterministicTraceSampler(DEFAULT_TRACE_SAMPLE_RATE), | ||
| internal var globalTracerProvider: () -> DatadogTracer? = { GlobalDatadogTracer.getOrNull() }, | ||
| internal var networkTracingScope: ApmNetworkTracingScope = ApmNetworkTracingScope.EXCLUDE_INTERNAL_REDIRECTS, | ||
| internal var headerPropagationOnly: Boolean = false |
There was a problem hiding this comment.
note: this a bit differers from configuration patterns we have in the codebase, because we use XXXConfiguration.Builder instead of having mutable configuration, so there is inconsistency API-wise.
Although it is not a big deal.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d4a5e23eff
ℹ️ 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".
d4a5e23 to
f3b2a1e
Compare
What does this PR do?
This PR adds APM support for
Cronetnetwork layer (i.e., automatic tracing for all redirects that happen during the application-level request).Additional Notes
Note that
Cronetdoes not provide any info for retries, so retry requests cannot be traced as it is done inOkHttp.Review checklist (to be filled by reviewers)