getsentry / sentry-dart

Sentry SDK for Dart and Flutter
https://sentry.io/for/flutter/
MIT License
766 stars 239 forks source link

feat: support obfuscation for Linux apps #2431

Closed vaind closed 1 week ago

vaind commented 1 week ago

:scroll: Description

It was a small step to add Linux support after #2286, so here it is.

:bulb: Motivation and Context

part of #433

:green_heart: How did you test it?

:pencil: Checklist

:crystal_ball: Next steps

github-actions[bot] commented 1 week ago
Messages
:book: Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by :no_entry_sign: dangerJS against 73f91e9b7d70d4f4904d6aafc5c53f8ff094c317

codecov[bot] commented 1 week ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.91%. Comparing base (4dc231b) to head (73f91e9). Report is 2 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2431 +/- ## ========================================== + Coverage 85.15% 86.91% +1.76% ========================================== Files 257 257 Lines 9200 9202 +2 ========================================== + Hits 7834 7998 +164 + Misses 1366 1204 -162 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🚨 Try these New Features:

github-actions[bot] commented 1 week ago

Android Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 470.49 ms 484.34 ms 13.85 ms
Size 6.49 MiB 7.56 MiB 1.07 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
62dde4393f2d4ca67ddf0fe8a3bc4893228f67f5 339.21 ms 423.06 ms 83.85 ms
5d2b46de30b0c3f3489a18da3b917bd66aa63370 307.74 ms 349.85 ms 42.11 ms
4efee31c65f1fefbb85fc97598de6b3ae8fd93b4 308.92 ms 368.68 ms 59.76 ms
4b943a1ac1698fd9bd8c8fb87aad3d13cf713ebb 348.17 ms 437.15 ms 88.98 ms
33d0587b190ef0de4ccf9e1e0f2623ffaa76cd2a 308.79 ms 370.86 ms 62.07 ms
b98109e83d99d504cde5fbc4211536366741297c 296.46 ms 362.68 ms 66.22 ms
3de8b9b92406e56cedb15086ae779e72d5cdfb08 348.55 ms 445.84 ms 97.29 ms
d53c6fa1b52ab8af533ed149f9b91e1fda4d810b 282.83 ms 344.00 ms 61.17 ms
464b4d0afb863838e76307d3ea26f9d46df912ee 320.71 ms 380.02 ms 59.31 ms
2e8b1e182237a501baa42811cc2cbe335a7bee1b 367.00 ms 450.12 ms 83.12 ms

App size

Revision Plain With Sentry Diff
62dde4393f2d4ca67ddf0fe8a3bc4893228f67f5 5.94 MiB 6.96 MiB 1.02 MiB
5d2b46de30b0c3f3489a18da3b917bd66aa63370 6.16 MiB 7.13 MiB 1000.82 KiB
4efee31c65f1fefbb85fc97598de6b3ae8fd93b4 5.94 MiB 6.92 MiB 1003.76 KiB
4b943a1ac1698fd9bd8c8fb87aad3d13cf713ebb 6.34 MiB 7.28 MiB 968.41 KiB
33d0587b190ef0de4ccf9e1e0f2623ffaa76cd2a 6.16 MiB 7.14 MiB 1007.47 KiB
b98109e83d99d504cde5fbc4211536366741297c 6.06 MiB 7.03 MiB 993.53 KiB
3de8b9b92406e56cedb15086ae779e72d5cdfb08 6.27 MiB 7.20 MiB 957.75 KiB
d53c6fa1b52ab8af533ed149f9b91e1fda4d810b 6.16 MiB 7.14 MiB 1011.18 KiB
464b4d0afb863838e76307d3ea26f9d46df912ee 6.06 MiB 7.03 MiB 990.27 KiB
2e8b1e182237a501baa42811cc2cbe335a7bee1b 6.35 MiB 7.40 MiB 1.05 MiB

Previous results on branch: feat/native-linux-support

Startup times

Revision Plain With Sentry Diff
f64d8e83b90b7bf7341444467ac434749e14fb79 479.80 ms 529.80 ms 50.00 ms
9495f3961ca3b5d2a7629f9094659a2cbf8ca4ba 698.84 ms 754.20 ms 55.36 ms
91650b5d022470e9e4d90c34d1e9a0101ea70e85 462.35 ms 501.65 ms 39.30 ms
8fe0fbaaae0cf56b02b1266beee33ba28fb16f2f 460.52 ms 497.88 ms 37.36 ms

App size

Revision Plain With Sentry Diff
f64d8e83b90b7bf7341444467ac434749e14fb79 6.49 MiB 7.57 MiB 1.08 MiB
9495f3961ca3b5d2a7629f9094659a2cbf8ca4ba 6.49 MiB 7.56 MiB 1.07 MiB
91650b5d022470e9e4d90c34d1e9a0101ea70e85 6.49 MiB 7.56 MiB 1.07 MiB
8fe0fbaaae0cf56b02b1266beee33ba28fb16f2f 6.49 MiB 7.56 MiB 1.07 MiB
github-actions[bot] commented 1 week ago

iOS Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1258.94 ms 1279.91 ms 20.97 ms
Size 8.38 MiB 9.77 MiB 1.40 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d7758e8c1a1884d46734ccb197dbcde683bc4189 1271.69 ms 1288.08 ms 16.39 ms
379d7a898cdf2de012ddd7e2504d5a128855e440 1267.65 ms 1288.39 ms 20.74 ms
011829598b3e6eaa26f901a3fedccfd0de06cb87 1211.31 ms 1227.02 ms 15.71 ms
8cb65572208ec7aa2e324de7cc642ae3104da349 1265.14 ms 1266.08 ms 0.94 ms
bf4aed726e9adcfe8b364aef9d0870dd2c4ad5fe 1274.63 ms 1286.48 ms 11.85 ms
0210372fac176a538e9f73a48b48083e1a2df9ae 1255.49 ms 1280.98 ms 25.49 ms
98115731193f5fb3d2a1bdb47fb6666355d03b48 1259.78 ms 1278.33 ms 18.55 ms
6a5a65d1390ef72425d385815fbfb4c1b03ced8d 1237.22 ms 1250.29 ms 13.07 ms
1edf30e1cfaa2b97de1e1c51f294c9e007f7d112 1254.43 ms 1272.82 ms 18.39 ms
3a439051e01626aeb18b40f281823af4f1f1689c 1254.31 ms 1266.35 ms 12.04 ms

App size

Revision Plain With Sentry Diff
d7758e8c1a1884d46734ccb197dbcde683bc4189 8.15 MiB 9.12 MiB 989.76 KiB
379d7a898cdf2de012ddd7e2504d5a128855e440 8.16 MiB 9.16 MiB 1.00 MiB
011829598b3e6eaa26f901a3fedccfd0de06cb87 8.32 MiB 9.38 MiB 1.05 MiB
8cb65572208ec7aa2e324de7cc642ae3104da349 8.10 MiB 9.18 MiB 1.08 MiB
bf4aed726e9adcfe8b364aef9d0870dd2c4ad5fe 8.10 MiB 9.17 MiB 1.08 MiB
0210372fac176a538e9f73a48b48083e1a2df9ae 8.38 MiB 9.73 MiB 1.35 MiB
98115731193f5fb3d2a1bdb47fb6666355d03b48 8.16 MiB 9.17 MiB 1.01 MiB
6a5a65d1390ef72425d385815fbfb4c1b03ced8d 8.34 MiB 9.65 MiB 1.31 MiB
1edf30e1cfaa2b97de1e1c51f294c9e007f7d112 8.16 MiB 9.17 MiB 1.01 MiB
3a439051e01626aeb18b40f281823af4f1f1689c 8.10 MiB 9.18 MiB 1.08 MiB

Previous results on branch: feat/native-linux-support

Startup times

Revision Plain With Sentry Diff
7f3abd11cec0935e6256e1eb3e362bd5d3c9b155 1261.69 ms 1281.55 ms 19.86 ms
91650b5d022470e9e4d90c34d1e9a0101ea70e85 1253.76 ms 1277.73 ms 23.98 ms
8fe0fbaaae0cf56b02b1266beee33ba28fb16f2f 1249.42 ms 1269.98 ms 20.56 ms
f64d8e83b90b7bf7341444467ac434749e14fb79 1246.35 ms 1273.85 ms 27.49 ms
9495f3961ca3b5d2a7629f9094659a2cbf8ca4ba 1252.43 ms 1272.12 ms 19.69 ms

App size

Revision Plain With Sentry Diff
7f3abd11cec0935e6256e1eb3e362bd5d3c9b155 8.38 MiB 9.77 MiB 1.40 MiB
91650b5d022470e9e4d90c34d1e9a0101ea70e85 8.38 MiB 9.77 MiB 1.40 MiB
8fe0fbaaae0cf56b02b1266beee33ba28fb16f2f 8.38 MiB 9.77 MiB 1.40 MiB
f64d8e83b90b7bf7341444467ac434749e14fb79 8.38 MiB 9.75 MiB 1.37 MiB
9495f3961ca3b5d2a7629f9094659a2cbf8ca4ba 8.38 MiB 9.77 MiB 1.40 MiB
vaind commented 1 week ago

looks good, I'm not really experienced with it but interested in how compatibility looks like across different linux distros with this impl?

will prolly also be important for docs to clarify

Because we don't ship binary distributions but instead let the native part be built together with the final Flutter app, any issues should be limited to missing build dependencies (most likely just libcurl4-openssl-dev which is already a very common dependency anyway)