Conversation
sentry-ktor/src/main/java/io/sentry/ktor/SentryKtorClientPlugin.kt
Outdated
Show resolved
Hide resolved
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 94e993e | 404.49 ms | 439.62 ms | 35.13 ms |
| df1fbd1 | 407.84 ms | 424.93 ms | 17.09 ms |
| b5f9205 | 492.51 ms | 542.98 ms | 50.47 ms |
| 569c88a | 406.86 ms | 419.57 ms | 12.72 ms |
| 9647976 | 403.48 ms | 420.36 ms | 16.88 ms |
| 1df63ce | 429.52 ms | 485.02 ms | 55.50 ms |
| e2d324e | 400.33 ms | 423.66 ms | 23.33 ms |
| c3b3ac8 | 433.74 ms | 490.08 ms | 56.34 ms |
| f316c06 | 427.39 ms | 464.94 ms | 37.55 ms |
| bc4c3ab | 420.27 ms | 462.92 ms | 42.65 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 94e993e | 1.58 MiB | 2.09 MiB | 519.31 KiB |
| df1fbd1 | 1.58 MiB | 2.09 MiB | 519.08 KiB |
| b5f9205 | 1.58 MiB | 2.09 MiB | 519.31 KiB |
| 569c88a | 1.58 MiB | 2.09 MiB | 519.08 KiB |
| 9647976 | 1.58 MiB | 2.09 MiB | 519.31 KiB |
| 1df63ce | 1.58 MiB | 2.09 MiB | 518.90 KiB |
| e2d324e | 1.58 MiB | 2.09 MiB | 519.49 KiB |
| c3b3ac8 | 1.58 MiB | 2.09 MiB | 518.90 KiB |
| f316c06 | 1.58 MiB | 2.09 MiB | 519.08 KiB |
| bc4c3ab | 1.58 MiB | 2.09 MiB | 518.90 KiB |
sentry-ktor-client/src/main/java/io/sentry/ktorClient/SentryKtorClientPlugin.kt
Show resolved
Hide resolved
sentry-samples/sentry-samples-ktor-client/src/main/java/io/sentry/samples/ktorClient/Main.kt
Outdated
Show resolved
Hide resolved
sentry-ktor-client/src/main/java/io/sentry/ktorClient/SentryKtorClientPlugin.kt
Show resolved
Hide resolved
28e039a to
bb52a1b
Compare
10fa401 to
8a42315
Compare
|
@romtsn Please let me know what you think about this approach: The approach is still not perfect because if the config block has some side effects, we would trigger them when creating the fake client. As a next step I want to set up an app using ProGuard and SAGP to ensure this works as intended. |
|
I've set up an Android sample with SAGP and it seems this approach to detect our OkHttp instrumentation doesn't work. As far as I understand, that's because the bytecode manipulation only adds the interceptor when we're in |
|
The OkHttp instrumentation is automatically added by SAGP, but users would have to manually set up this Ktor integration. |
oh dang, sorry I made you go through this. Yeah, this sounds like a job for the gradle plugin to do. Could you file an issue there please? And highlighting this in the docs for now sounds good too 👍 |
|
Okay, opened the issue in SAGP: getsentry/sentry-android-gradle-plugin#949 |
adinauer
left a comment
There was a problem hiding this comment.
LGTM one question about reported integration name.
sentry-ktor-client/src/main/java/io/sentry/ktorClient/SentryKtorClientPlugin.kt
Outdated
Show resolved
Hide resolved
sentry-ktor-client/src/main/java/io/sentry/ktorClient/SentryKtorClientPlugin.kt
Show resolved
Hide resolved
sentry-ktor-client/src/main/java/io/sentry/ktorClient/SentryKtorClientPlugin.kt
Outdated
Show resolved
Hide resolved
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
- Add Ktor client integration ([#4527](https://github.com/getsentry/sentry-java/pull/4527))If none of the above apply, you can opt out of this check by adding |
📜 Description
Add a Ktor client integration.
Functionality, options and tests are similar to our OkHttp integration.
💡 Motivation and Context
Part of #2684
💚 How did you test it?
End to end and manual tests
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
sentry-ktor-clientto.craft.yml#4589