DataDog / dd-sdk-android

Datadog SDK for Android (Compatible with Kotlin and Java)
Apache License 2.0
146 stars 59 forks source link

RUM-648 Add request id in okhttp request #2126

Closed xgouchet closed 1 month ago

xgouchet commented 1 month ago

What does this PR do?

This PR adds a better way to track OkHttp requests as resources avoiding key collisions. Our keys used to only take into account the url, now we generate a UUID attached to the request to have a more accurate resource representation.

codecov-commenter commented 1 month ago

Codecov Report

Attention: Patch coverage is 90.27778% with 7 lines in your changes missing coverage. Please review.

Project coverage is 70.12%. Comparing base (1ce4aa7) to head (3ba2e49).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #2126 +/- ## =========================================== + Coverage 70.03% 70.12% +0.09% =========================================== Files 722 725 +3 Lines 26821 26877 +56 Branches 4503 4510 +7 =========================================== + Hits 18784 18847 +63 + Misses 6780 6765 -15 - Partials 1257 1265 +8 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [.../main/kotlin/com/datadog/android/rum/RumMonitor.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2FRumMonitor.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9SdW1Nb25pdG9yLmt0) | `28.57% <ø> (ø)` | | | [...ndroid/rum/internal/domain/scope/RumActionScope.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Finternal%2Fdomain%2Fscope%2FRumActionScope.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9pbnRlcm5hbC9kb21haW4vc2NvcGUvUnVtQWN0aW9uU2NvcGUua3Q=) | `97.77% <ø> (+0.56%)` | :arrow_up: | | [...g/android/rum/internal/domain/scope/RumRawEvent.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Finternal%2Fdomain%2Fscope%2FRumRawEvent.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9pbnRlcm5hbC9kb21haW4vc2NvcGUvUnVtUmF3RXZlbnQua3Q=) | `100.00% <100.00%> (ø)` | | | [...roid/rum/internal/domain/scope/RumResourceScope.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Finternal%2Fdomain%2Fscope%2FRumResourceScope.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9pbnRlcm5hbC9kb21haW4vc2NvcGUvUnVtUmVzb3VyY2VTY29wZS5rdA==) | `94.58% <100.00%> (-1.08%)` | :arrow_down: | | [.../android/rum/internal/domain/scope/RumViewScope.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Finternal%2Fdomain%2Fscope%2FRumViewScope.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9pbnRlcm5hbC9kb21haW4vc2NvcGUvUnVtVmlld1Njb3BlLmt0) | `95.00% <100.00%> (+0.57%)` | :arrow_up: | | [...lin/com/datadog/android/rum/resource/ResourceId.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Fresource%2FResourceId.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9yZXNvdXJjZS9SZXNvdXJjZUlkLmt0) | `100.00% <100.00%> (ø)` | | | [...com/datadog/android/okhttp/DatadogEventListener.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=integrations%2Fdd-sdk-android-okhttp%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fokhttp%2FDatadogEventListener.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-aW50ZWdyYXRpb25zL2RkLXNkay1hbmRyb2lkLW9raHR0cC9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9va2h0dHAvRGF0YWRvZ0V2ZW50TGlzdGVuZXIua3Q=) | `97.44% <100.00%> (ø)` | | | [.../android/rum/internal/monitor/DatadogRumMonitor.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=features%2Fdd-sdk-android-rum%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Frum%2Finternal%2Fmonitor%2FDatadogRumMonitor.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtcnVtL3NyYy9tYWluL2tvdGxpbi9jb20vZGF0YWRvZy9hbmRyb2lkL3J1bS9pbnRlcm5hbC9tb25pdG9yL0RhdGFkb2dSdW1Nb25pdG9yLmt0) | `86.99% <96.67%> (+0.56%)` | :arrow_up: | | [.../datadog/android/okhttp/internal/rum/RequestExt.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=integrations%2Fdd-sdk-android-okhttp%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fokhttp%2Finternal%2Frum%2FRequestExt.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-aW50ZWdyYXRpb25zL2RkLXNkay1hbmRyb2lkLW9raHR0cC9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9va2h0dHAvaW50ZXJuYWwvcnVtL1JlcXVlc3RFeHQua3Q=) | `66.67% <66.67%> (ø)` | | | [...n/com/datadog/android/okhttp/DatadogInterceptor.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree&filepath=integrations%2Fdd-sdk-android-okhttp%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fokhttp%2FDatadogInterceptor.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-aW50ZWdyYXRpb25zL2RkLXNkay1hbmRyb2lkLW9raHR0cC9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9va2h0dHAvRGF0YWRvZ0ludGVyY2VwdG9yLmt0) | `72.11% <66.67%> (-1.36%)` | :arrow_down: | | ... and [1 more](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | | ... and [35 files with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2126/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)