Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8.x.x #3363

Draft
wants to merge 216 commits into
base: main
Choose a base branch
from
Draft

8.x.x #3363

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
bf5857e
Hubs/Scopes Merge 1 - Introduce `IScopes` interface. (#3297)
adinauer Apr 16, 2024
ca5593e
Hubs/Scopes Merge 2 - Replace `IHub` with `IScopes` in core (#3298)
adinauer Apr 16, 2024
30990f6
Hubs/Scopes Merge 3 - Replace `IHub` with `IScopes` in Android core (…
adinauer Apr 16, 2024
baa35e1
Hubs/Scopes Merge 4 - Replace `IHub` with `IScopes` in Android integr…
adinauer Apr 16, 2024
00c2535
Hubs/Scopes Merge 5 - Replace `IHub` with `IScopes` in apollo integra…
adinauer Apr 16, 2024
c1840cf
Hubs/Scopes Merge 6 - Replace `IHub` with `IScopes` in OkHttp integra…
adinauer Apr 16, 2024
784341e
Hubs/Scopes Merge 7 - Replace `IHub` with `IScopes` in GraphQL integr…
adinauer Apr 16, 2024
c0be8ea
Hubs/Scopes Merge 8 - Replace `IHub` with `IScopes` in logging integr…
adinauer Apr 16, 2024
76ec6b0
Hubs/Scopes Merge 9 - Replace `IHub` with `IScopes` in more integrati…
adinauer Apr 16, 2024
c552a2c
Hubs/Scopes Merge 10 - Replace `IHub` with `IScopes` in OTel integrat…
adinauer Apr 16, 2024
495ed99
Hubs/Scopes Merge 11 - Replace `IHub` with `IScopes` in Spring 5 / Sp…
adinauer Apr 16, 2024
e11f8b1
Hubs/Scopes Merge 12 - Replace `IHub` with `IScopes` in Spring 6 / Sp…
adinauer Apr 16, 2024
ec30e19
Hubs/Scopes Merge 13 - Replace `IHub` with `IScopes` in samples (#3310)
adinauer Apr 16, 2024
7a0cd9f
Hubs/Scopes Merge 14 - Add `Scopes` to replace `Hub` (#3311)
adinauer Apr 19, 2024
edb4be2
Hubs/Scopes Merge 15 - Replace `ThreadLocal` with scope storage (#3317)
adinauer Apr 19, 2024
a1bfa95
Hubs / Scopes Merge 16 - Move client and throwable to span map to sco…
adinauer Apr 19, 2024
6390bc6
Hubs / Scopes Merge 17 - Add global scope (#3319)
adinauer Apr 19, 2024
6ee5169
Hubs / Scopes Merge 18 - Implement `pushScope` ,`popScope` and `withS…
adinauer Apr 19, 2024
dd992aa
Hubs/Scopes Merge 19 - Add `pushIsolationScope` and fork methods (#3343)
adinauer Apr 19, 2024
385666d
Hubs/Scopes Merge 20 - Use separate scope for current, isolation and …
adinauer Apr 19, 2024
a941eb8
Hubs/Scopes Merge 21 - Allow controlling which scope `configureScope`…
adinauer Apr 22, 2024
9546564
Hubs/Scopes Merge 22 - Combine global, isolation and current scope (#…
adinauer Apr 22, 2024
28144c6
Hubs/Scopes Merge 23 - Use new API for CRONS integrations (#3347)
adinauer Apr 22, 2024
9a64a0b
Hubs/Scopes Merge 24 - Use new API in Spring integrations (#3348)
adinauer Apr 22, 2024
153f678
Hubs/Scopes Merge 25 - Use new API in Servlet integrations (#3349)
adinauer Apr 22, 2024
e0cb935
Hubs/Scopes Merge 26 - Use new API for Kotlin coroutines and SentryWr…
adinauer Apr 22, 2024
a3ba20a
Hubs/Scopes Merge 27 - Discussions (#3352)
adinauer Apr 22, 2024
2d01626
Hubs/Scopes Merge 28 - Fix breadcrumb ordering (#3355)
adinauer Apr 23, 2024
4650d04
Hubs Scopes Merge 29 - Mark TODOs related to Hubs/Scopes Merge with […
adinauer Apr 23, 2024
e296fb6
Hubs/Scopes Merge 30 - Add `getGlobalScope` and `forkedRootScopes` to…
adinauer Apr 23, 2024
d45c721
Hubs/Scopes Merge 31 - Fix `EventProcessor` ordering on `Scopes` (#3360)
adinauer May 2, 2024
10f8e44
Hubs/Scopes Merge 32 - Reuse code in Scopes (#3361)
adinauer May 2, 2024
2e11284
Hubs/Scopes Merge 33 - No longer replace global scope (#3362)
adinauer May 2, 2024
dcda5c7
Hubs/Scopes Merge 34 - Replace hub occurrences in comments, var names…
adinauer May 2, 2024
3a65a07
Hubs/Scopes Merge 35 - Implement `ScopesTest` (#3370)
adinauer May 2, 2024
dcd6d1e
Hubs/Scopes Merge 36 - Implement `CombinedScopeViewTest` (#3371)
adinauer May 2, 2024
cac8cb8
Hubs/Scopes Merge 37 - Fix combined `Contexts` (#3374)
adinauer May 2, 2024
9349303
Hubs/Scopes Merge 38 - Use `ScopeType.COMBINED` for cross platform (`…
adinauer May 2, 2024
0cc4e73
Hubs/Scopes Merge 39 - Review Changes (#3381)
adinauer May 2, 2024
aa3cd3e
Hubs/Scopes Merge 40 - `Scopes.isEnabled` now checks `getClient().isE…
adinauer May 2, 2024
9b61758
Hubs/Scopes Merge 41 - Use `SentryOptions.empty()` (#3387)
adinauer May 2, 2024
05ff878
Hubs/Scopes Merge 42 - Remove `Hub` (#3389)
adinauer May 2, 2024
5e2029b
Hubs/Scopes Merge 42b - Merge fingerprints from all scopes (#3395)
adinauer May 3, 2024
e7007dd
Hubs/Scopes Merge 42d - Close previous scopes before binding a new gl…
adinauer May 7, 2024
dc56a6a
Report suppressed exceptions as exception group (#3396)
adinauer May 13, 2024
9114f94
HSM 43a Fix Android Tests Alternative (#3418)
lbloder May 14, 2024
dd88506
Merge branch 'main' into 8.x.x
adinauer May 14, 2024
4efa6f7
fix after merge
adinauer May 14, 2024
6c31cc0
8.x Cleanup (#3419)
adinauer May 14, 2024
ea117ff
Add changelog for `8.x` (alpha) release (#3421)
adinauer May 14, 2024
218eb60
release: 8.0.0-alpha.1
getsentry-bot May 14, 2024
5a3f296
Merge branch 'release/8.0.0-alpha.1' into 8.x.x
May 14, 2024
337f79a
Merge branch 'main' into 8.x.x
lbloder May 27, 2024
c2f2cc7
Add data fetching environment hint to breadcrumb (#3413) (#3431)
ooraini May 28, 2024
a3c251e
Move NDK from sentry-java to sentry-native (#3189)
markushi May 28, 2024
1161c1a
POTEL 1 - Use OpenTelemetry for Performance and `Scopes` propagation …
adinauer Jun 18, 2024
f85f1e2
POTEL 2 - Promote OpenTelemetry Span attributes (#3402)
adinauer Jun 18, 2024
a43af1c
POTEL 3 - Use OpenTelemetry in Sentry Performance API (#3416)
adinauer Jun 18, 2024
f6bd820
POTEL 4 - Deduplicate `SpanInfo` extraction (#3423)
adinauer Jun 18, 2024
3975e93
POTEL 5 - Start and end time, data, tags etc. now work with Sentry AP…
adinauer Jun 18, 2024
504ef52
POTEL 6 - Use OpenTelemetry span status for Sentry span API (#3439)
adinauer Jun 18, 2024
2b8a037
POTEL 7 - Tracing (#3445)
adinauer Jun 18, 2024
aa70b16
POTEL 8 - Inherit OTel span ID and do not sample again when sending t…
adinauer Jun 18, 2024
210c992
POTEL 9 - Tracing Fixes and Baggage (#3455)
adinauer Jun 18, 2024
67490cd
POTEL 10 - Cleanup (#3460)
adinauer Jun 18, 2024
e50d955
POTEL 11 - Move sampling logic into OTel Sampler (#3462)
adinauer Jun 18, 2024
dd6307a
POTEL 12 - Remove internal span attributes so they are not sent to Se…
adinauer Jun 18, 2024
94ba63c
POTEL 13 - Use transaction name (#3464)
adinauer Jun 18, 2024
5c9fb87
POTEL 14 - Keep Sentry span `op` and OTel span `name` in sync (#3468)
adinauer Jun 18, 2024
ecfcb2b
POTEL 15 - More cleanup (#3469)
adinauer Jun 18, 2024
19d0b3f
POTEL 16 - Add `ignoredSpanOrigins` option (#3477)
adinauer Jun 18, 2024
967fa5f
Reuse `TracesSampler` instance (#3479)
adinauer Jun 18, 2024
11de2d2
Merge branch 'main' into 8.x.x
adinauer Jun 19, 2024
eff6399
Catch exceptions when closing integrations (#3488)
adinauer Jun 24, 2024
9f7e431
POTEL 17 - Use `NoOpSpanFactory` for `SentryOptions.empty` (#3489)
adinauer Jun 24, 2024
738c5fa
POTEL 18 - Use correct `SentryOptions` for `SentryClient` constructor…
adinauer Jun 24, 2024
54e6568
POTEL 19 - Review feedback (#3491)
adinauer Jun 24, 2024
d90e0f9
POTEL 20 - Use `SpanOptions.startTimestamp` in `Span` constructor (#3…
adinauer Jun 24, 2024
407a877
POTEL 21 - Drop OpenTelemetry spans for internal Sentry requests (#3508)
adinauer Jun 24, 2024
42273e8
POTEL 22 - Improve Changelog (#3513)
adinauer Jun 25, 2024
8354619
POTEL 23 - Bump OTel versions (#3514)
adinauer Jun 25, 2024
6c89ff7
POTEL 24 - Fixes after merge and some more PR comments have been addr…
adinauer Jun 25, 2024
1a4c9e8
POTEL 25 - Workaround for `sentry-opentelemetry-agent` with `SENTRY_A…
adinauer Jun 25, 2024
d924cd1
POTEL 26 - Customize OpenTelemetry `Scope.close` behaviour (#3517)
adinauer Jun 26, 2024
af66eb2
POTEL 27 - Rename classes and mark some classes internal (#3518)
adinauer Jun 26, 2024
98cd975
POTEL 28 - Use `auto.opentelemetry` for POTel span origin (#3523)
adinauer Jun 26, 2024
783e112
Remove sentry-native submodule again; ignore failing test (#3525)
adinauer Jun 26, 2024
8268911
release: 8.0.0-alpha.2
getsentry-bot Jun 26, 2024
d7f4cd4
Merge branch 'release/8.0.0-alpha.2' into 8.x.x
Jun 26, 2024
935bb1d
Removed sentry-android-okhttp module (#3510)
stefanosiano Jul 1, 2024
29ac921
Merge branch 'main' into 8.x.x
stefanosiano Jul 1, 2024
cee271c
Format code
getsentry-bot Jul 1, 2024
437936e
Fix main merge (#3537)
stefanosiano Jul 2, 2024
c7232fe
Parse and use `send-default-pii` and `max-request-body-size` from `se…
adinauer Jul 2, 2024
a62056e
Support spans that are split into multiple batches (#3539)
adinauer Jul 2, 2024
afff380
POTEL 29 - Partially fix bootstrap class loading (#3543)
adinauer Jul 3, 2024
49cc6bb
POTEL 30 - `span.startChild` now uses `.makeCurrent()` by default (#3…
adinauer Jul 3, 2024
ed7a8a5
release: 8.0.0-alpha.3
getsentry-bot Jul 3, 2024
56f3bd9
Merge branch 'release/8.0.0-alpha.3' into 8.x.x
Jul 3, 2024
db61a7b
removed user segment (#3512)
stefanosiano Jul 5, 2024
30fd3cf
POTEL 31 - Use span id of remote parent (#3548)
adinauer Jul 5, 2024
46d0f03
POTEL 32 - Attach active span to scope when using OpenTelemetry (#3549)
adinauer Jul 5, 2024
a31a59e
POTEL 33 - Record dropped spans when sampling OpenTelemetry spans (#3…
adinauer Jul 5, 2024
34c47d4
POTEL 34 - Retrieve the correct current span from `Scope`/`Scopes` (#…
adinauer Jul 5, 2024
a7f4ccf
release: 8.0.0-alpha.4
getsentry-bot Jul 5, 2024
2537a27
Merge branch 'release/8.0.0-alpha.4' into 8.x.x
Jul 8, 2024
aaf7418
POTEL 35 - Use OtelSpan name as fallback for transaction name (#3557)
lbloder Jul 11, 2024
3740e7e
Change OkHttp sub-spans to span attributes (#3556)
stefanosiano Jul 17, 2024
5583fa5
throw when calling Sentry.init on Android (#3596)
stefanosiano Jul 23, 2024
7bd86f0
POTEL 37 add otel attributes to span data (#3593)
lbloder Sep 2, 2024
7ad44b4
POTEL 37b - No longer selectively copy OTel span attributes (#3663)
adinauer Sep 3, 2024
49c9395
POETL 37c - Skip `PROCESS_COMMAND_ARGS` attribute (#3664)
adinauer Sep 3, 2024
e5f1ac5
POTEL 37d - Bump OpenTelemetry versions (#3668)
adinauer Sep 3, 2024
2b67fff
POTEL 39 - Use RECORD_ONLY sampling decision if performance is disabl…
adinauer Sep 3, 2024
c58587b
POTEL 40 - Init Priority settings (#3674)
adinauer Sep 16, 2024
9b2603b
POTEL 41 - Set InitPriority for Android, Manifest option for forceIni…
adinauer Sep 16, 2024
85814d7
POTEL 42 - Set init priority for backend integrations (#3676)
adinauer Sep 16, 2024
a438373
Fix Multi Init Merge and Tests (#3694)
adinauer Sep 17, 2024
327cc51
Merge `main` into `8.x.x` including Session Replay changes (#3696)
adinauer Sep 19, 2024
68d0338
POTEL 43 - No longer set Instrumenter to `OTEL` for the new Java Agen…
adinauer Sep 23, 2024
846baeb
POTEL 44 - Restore multi init tests (#3701)
adinauer Sep 23, 2024
e34b8a2
POTEL 45 - Set span origin in `ActivityLifecycleIntegration` on span …
adinauer Sep 23, 2024
cc78f7a
POTEL 46 - Restore gesture listener tracing test (#3703)
adinauer Sep 23, 2024
42a340e
POTEL 47 - Honor ignored span origins in `SentryTracer.startChild` (#…
adinauer Sep 23, 2024
6926168
POTEL 48 - Cleanup POTel TODOs (#3705)
adinauer Sep 23, 2024
8bab428
POTEL 49 - Add `enable-spotlight` and `spotlight-connection-url` to e…
adinauer Sep 23, 2024
61a31d5
Replace Android thread id with kernel thread id in span data (#3706)
stefanosiano Sep 23, 2024
f1b7116
Replace `synchronized` with`ReentrantLock` (#3715)
adinauer Sep 30, 2024
6101b73
Remove `reportFullDisplayed` (#3717)
adinauer Sep 30, 2024
c2cad45
Remove `traceHeaders` method (#3718)
adinauer Sep 30, 2024
c3534db
changelog
adinauer Sep 30, 2024
5eb786a
Mark trace context `@NotNull` on `Contexts.setTrace` (#3721)
adinauer Sep 30, 2024
356b5ce
Remove internal annotation on `SpanOptions` (#3722)
adinauer Sep 30, 2024
e017698
Make `SentryLogbackInitializer` public (#3723)
adinauer Sep 30, 2024
cfc5405
comment out tests for now
adinauer Sep 30, 2024
4e23b92
Attach request body for `application/x-www-form-urlencoded` requests …
adinauer Oct 4, 2024
18da8f8
Add support for v22 of `graphql-java` via `sentry-graphql-22` (#3740)
adinauer Oct 7, 2024
093ebc6
Replace `GraphQlSourceBuilderCustomizer` with directly providing a `S…
adinauer Oct 7, 2024
2065d35
Support `graphql-java` v22 in Sentry Spring (Boot) integrations (#3745)
adinauer Oct 7, 2024
8c90f98
Close `Scopes` before replacing options on global `Scope` (#3750)
adinauer Oct 9, 2024
2b34468
Remove metrics (#3774)
adinauer Oct 9, 2024
93ee8ee
Remove `enableTracing` option in v8 (#3776)
adinauer Oct 10, 2024
1eb8476
Remove deprecations (#3780)
adinauer Oct 10, 2024
2a08014
Feat/breadcrumb level from http status (#3771)
lbloder Oct 10, 2024
281a621
Merge `main` into `8.x.x` again (#3789)
adinauer Oct 15, 2024
5d921a5
Add data from transaction root span to contexts.trace.data (#3735)
lbloder Oct 15, 2024
f237379
Remove enable tracing from android sample manifest (#3792)
lbloder Oct 15, 2024
c52a7cf
release: 8.0.0-beta.1
getsentry-bot Oct 16, 2024
6b638b0
Merge branch 'release/8.0.0-beta.1' into 8.x.x
Oct 16, 2024
5b8c172
Add `globalHubMode` to options (#3805)
adinauer Oct 21, 2024
83e1bd2
Update CodeQL for sentry-java 8.x (#3819)
markushi Oct 24, 2024
d590d3e
(Android) Enable Performance V2 by default (#3824)
stefanosiano Oct 28, 2024
57b2da5
ActivityLifecycleIntegration now sets cold or warm start type if not …
stefanosiano Oct 29, 2024
d2c4d5e
Lazy uuid generation for SentryId and SpanId (#3770)
lbloder Oct 29, 2024
c682d68
Extend backend e2e tests (#3828)
adinauer Oct 30, 2024
254787a
Support 16kb page size for Android 15 (8.x.x) (#3851)
markushi Nov 6, 2024
f11d784
Bump Android minSdkVersion to 21 (#3852)
markushi Nov 7, 2024
e5e4336
Merge `main` into `8.x.x` with most recent release being `7.16.0` (#3…
adinauer Nov 8, 2024
741807a
Faster ID generation (#3818)
lbloder Nov 11, 2024
ac12613
SessionID as string (#3834)
lbloder Nov 11, 2024
2aa37fe
Make SentryTransaction non-internal (#3870)
romtsn Nov 11, 2024
ab7e6fd
POTEL 50 - Auto config for Spring Boot combined with OTel but without…
adinauer Nov 11, 2024
f6257e3
POTEL 51 - Cleanup OTel class loading (#3848)
adinauer Nov 11, 2024
ca3da4b
POTEL 52 - Do not ignore certain span origins for OTel without Agent …
adinauer Nov 11, 2024
b795cb4
POTEL 53 - Automatically set span factory based on presence of OpenTe…
adinauer Nov 11, 2024
a619788
POTEL 54 - Cleanup (#3861)
adinauer Nov 11, 2024
73d19e1
POTEL 55 - Fix `startChild` for span that is not in current OTel `Con…
adinauer Nov 11, 2024
f028e77
All status codes below 400 are now mapped to `SpanStatus.OK` (#3869)
adinauer Nov 11, 2024
f3c4ab7
Add `ignoredTransactions` option to filter out transactions by name (…
adinauer Nov 12, 2024
fe2c403
POTEL 56 - Port Spring Boot 3 OpenTelemetry changes to Spring Boot 2 …
adinauer Nov 12, 2024
161184c
POTEL 57 - Spring Boot 2 OTel samples (#3879)
adinauer Nov 13, 2024
2a8a365
Merge `main` into `8.x.x` (latest release `7.17.0`) (#3883)
adinauer Nov 13, 2024
40235f5
re-enable flaky test (#3884)
adinauer Nov 13, 2024
05acc78
release: 8.0.0-beta.2
getsentry-bot Nov 13, 2024
5c3a5c6
Merge branch 'release/8.0.0-beta.2' into 8.x.x
Nov 13, 2024
19c10ca
Extend CheckInUtils with check-in for a specific environment (#3889)
maxhov Nov 19, 2024
e8b532f
Add gradle task to start spring boot samples with agent (#3885)
lbloder Nov 19, 2024
b283b32
Send `otel.kind` to Sentry (#3907)
adinauer Nov 20, 2024
64bb185
fix e2e test run script (#3908)
adinauer Nov 20, 2024
92518a2
Do not replace `op` with auto generated content for OpenTelemetry spa…
adinauer Nov 21, 2024
dc2af27
Re-apply NDK init performance improvements for 8.x.x (#3914)
markushi Nov 21, 2024
159a367
Mark hint flushed when rate limited (#3892)
adinauer Nov 21, 2024
e1b0b23
Send file name and path only if isSendDefaultPii is true (#3919)
stefanosiano Nov 21, 2024
f4948b2
Merge `main` into `8.x.x` with `7.18.0` being latest release (#3920)
adinauer Nov 22, 2024
2f5410a
release: 8.0.0-beta.3
getsentry-bot Nov 22, 2024
6de95f1
Merge branch 'release/8.0.0-beta.3' into 8.x.x
Nov 22, 2024
7c61b46
POTEL 58 - Extract OpenTelemetry `URL_PATH` span attribute into descr…
adinauer Nov 27, 2024
7345b18
POTEL 59 - Bump OpenTelemetry (#3935)
adinauer Nov 29, 2024
8a31bb4
POTEL 60 - Replace OTel `ContextStorage` wrapper with `ContextStorage…
adinauer Nov 29, 2024
58c7edb
release: 8.0.0-rc.1
getsentry-bot Nov 29, 2024
429a4da
Merge branch 'release/8.0.0-rc.1' into 8.x.x
Nov 29, 2024
6c080ab
Cherry-pick all changes since 7.18.0 (#3944)
markushi Dec 2, 2024
06f9e9c
Bump Spring Boot to `3.4.0` (#3939)
adinauer Dec 2, 2024
254461b
Fix incoming defer sampling decision sentry-trace header (#3942)
adinauer Dec 2, 2024
53bf61a
POTEL 61 - Tracing without Performance defer sampling decision (#3945)
adinauer Dec 2, 2024
e08357c
DisabledQueue.isEmpty now returns true (#3927)
stefanosiano Dec 3, 2024
339b7e0
POTEL 62 - Build `PropagationContext` from sampling decision (#3947)
adinauer Dec 5, 2024
a2fc547
POTEL 63 - Let OpenTelemetry handle extracting and injecting tracing …
adinauer Dec 5, 2024
76c3754
release: 8.0.0-rc.2
getsentry-bot Dec 5, 2024
4361e86
Merge branch 'release/8.0.0-rc.2' into 8.x.x
Dec 5, 2024
30f169f
POTEL 64 - `sentry-opentelemetry-agentless` module (#3961)
adinauer Dec 17, 2024
eac1c49
graphql 22 update instrumentation (#3974)
lbloder Dec 17, 2024
67b8f19
Lazily cache request body for Spring requests instead of eagerly cach…
lee-jinhwan Dec 17, 2024
09fce1c
POTEL 65 - Replace bool with enum for `OpenTelemetryUtil` mode (#3988)
adinauer Dec 17, 2024
b0e4add
POTEL 66 - Move `OpenTelemetryUtil` into core sentry (#3990)
adinauer Dec 17, 2024
a56b3bc
Speed up tests by reducing `shutdownTimeout` (#3999)
adinauer Dec 19, 2024
710f5dd
POTEL 67 - Add `openTelemetryMode` option (#3994)
adinauer Dec 20, 2024
5a15f74
POTEL 68 - Add `SentryOpenTelemetryMode.OFF` (#3995)
adinauer Dec 20, 2024
d91b2d7
POTEL 69 - Hold a strong reference to OpenTelemetry span if created v…
adinauer Dec 20, 2024
0e41f35
POTEL 70 - Add `sentry-opentelemetry-agentless-spring` module (#4000)
adinauer Dec 20, 2024
78415f3
Close backpressure monitor on SDK shutdown (#3998)
adinauer Dec 20, 2024
f4e2d80
POTEL 71 - Add `scopeBindingMode` to `SpanOptions` (#4004)
adinauer Dec 20, 2024
e02c690
POTEL 72 - Change api to implementation for dependency of agentless m…
adinauer Dec 20, 2024
35af39a
Improve ignored check performance (#3992)
lbloder Dec 20, 2024
d99bb79
release: 8.0.0-rc.3
getsentry-bot Dec 20, 2024
94a1eb0
Merge branch 'release/8.0.0-rc.3' into 8.x.x
Dec 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,20 @@ targets:
maven:io.sentry:sentry-android-core:
maven:io.sentry:sentry-android-ndk:
maven:io.sentry:sentry-android-timber:
maven:io.sentry:sentry-android-okhttp:
maven:io.sentry:sentry-kotlin-extensions:
maven:io.sentry:sentry-android-fragment:
maven:io.sentry:sentry-bom:
maven:io.sentry:sentry-openfeign:
maven:io.sentry:sentry-opentelemetry-agent:
maven:io.sentry:sentry-opentelemetry-agentcustomization:
maven:io.sentry:sentry-opentelemetry-core:
# maven:io.sentry:sentry-opentelemetry-agentless:
# maven:io.sentry:sentry-opentelemetry-agentless-spring:
maven:io.sentry:sentry-apollo:
maven:io.sentry:sentry-jdbc:
maven:io.sentry:sentry-graphql:
# maven:io.sentry:sentry-graphql-core:
# maven:io.sentry:sentry-graphql-22:
maven:io.sentry:sentry-quartz:
maven:io.sentry:sentry-okhttp:
maven:io.sentry:sentry-android-navigation:
Expand All @@ -56,3 +59,4 @@ targets:
maven:io.sentry:sentry-compose-desktop:
maven:io.sentry:sentry-apollo-3:
maven:io.sentry:sentry-android-sqlite:
maven:io.sentry:sentry-android-replay:
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ body:
options:
- sentry-android
- sentry-android-ndk
- sentry-android-okhttp
- sentry-android-timber
- sentry-android-fragment
- sentry-android-sqlite
- sentry-apollo
- sentry-compose
- sentry-apollo-3
- sentry-compose
- sentry-okhttp
- other
validations:
required: true
Expand Down
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report_java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ body:
- sentry-apollo-3
- sentry-kotlin-extensions
- sentry-opentelemetry-agent
- sentry-opentelemetry-agentless
- sentry-opentelemetry-agentless-spring
- sentry-opentelemetry-core
- sentry-servlet
- sentry-servlet-jakarta
Expand All @@ -27,6 +29,7 @@ body:
- sentry-logback
- sentry-log4j2
- sentry-graphql
- sentry-graphql-22
- sentry-quartz
- sentry-openfeign
- sentry-apache-http-client-5
Expand Down
12 changes: 12 additions & 0 deletions .github/file-filters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This is used by the action https://github.com/dorny/paths-filter

high_risk_code: &high_risk_code
# Transport classes
- "sentry/src/main/java/io/sentry/transport/AsyncHttpTransport.java"
- "sentry/src/main/java/io/sentry/transport/HttpConnection.java"
- "sentry/src/main/java/io/sentry/transport/QueuedThreadPoolExecutor.java"
- "sentry/src/main/java/io/sentry/transport/RateLimiter.java"
- "sentry-apache-http-client-5/src/main/java/io/sentry/transport/apache/ApacheHttpClientTransport.java"

# Class used by hybrid SDKs
- "sentry-android-core/src/main/java/io/sentry/android/core/InternalSentrySdk.java"
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
## :pencil: Checklist
<!--- Put an `x` in the boxes that apply -->

- [ ] I reviewed the submitted code.
- [ ] I added tests to verify the changes.
- [ ] No new PII added or SDK only sends newly added PII if `sendDefaultPII` is enabled.
- [ ] I updated the docs if needed.
- [ ] I updated the wizard if needed.
- [ ] Review from the native team if needed.
- [ ] No breaking change or entry added to the changelog.
- [ ] No breaking change for hybrid SDKs or communicated to hybrid SDKs.
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/agp-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

Expand All @@ -59,7 +59,7 @@ jobs:

# We tried to use the cache action to cache gradle stuff, but it made tests slower and timeout
- name: Run instrumentation tests
uses: reactivecircus/android-emulator-runner@6b0df4b0efb23bb0ec63d881db79aefbc976e4b2 # pin@v2
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d # pin@v2
with:
api-level: 30
force-avd-creation: false
Expand All @@ -69,6 +69,7 @@ jobs:
target: 'aosp_atd'
arch: x86
channel: canary # Necessary for ATDs
disk-size: 4096M
script: ./gradlew sentry-android-integration-tests:sentry-uitest-android:connectedReleaseAndroidTest -DtestBuildType=release --daemon

- name: Upload test results
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

- name: Run Tests with coverage and Lint
run: make preMerge

- name: Upload coverage to Codecov
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # pin@v4
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # pin@v4
with:
name: sentry-java
fail_ci_if_error: false
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/changes-in-high-risk-code.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Changes In High Risk Code
on:
pull_request:

# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
files-changed:
name: Detect changed files
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
high_risk_code: ${{ steps.changes.outputs.high_risk_code }}
high_risk_code_files: ${{ steps.changes.outputs.high_risk_code_files }}
steps:
- uses: actions/checkout@v4
- name: Get changed files
id: changes
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
token: ${{ github.token }}
filters: .github/file-filters.yml

# Enable listing of files matching each filter.
# Paths to files will be available in `${FILTER_NAME}_files` output variable.
list-files: csv

validate-high-risk-code:
if: needs.files-changed.outputs.high_risk_code == 'true'
needs: files-changed
runs-on: ubuntu-latest
steps:
- name: Comment on PR to notify of changes in high risk files
uses: actions/github-script@v7
env:
high_risk_code: ${{ needs.files-changed.outputs.high_risk_code_files }}
with:
script: |
const highRiskFiles = process.env.high_risk_code;
const fileList = highRiskFiles.split(',').map(file => `- [ ] ${file}`).join('\n');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `### 🚨 Detected changes in high risk code 🚨 \n High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:\n ${fileList}`
})
15 changes: 4 additions & 11 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ jobs:

strategy:
fail-fast: false
matrix:
language: ['cpp', 'java']

steps:
- name: Checkout Repo
Expand All @@ -36,23 +34,18 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

- name: Initialize CodeQL
uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # pin@v2
uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # pin@v2
with:
languages: ${{ matrix.language }}

- if: matrix.language == 'cpp'
name: Build Cpp
run: |
./gradlew sentry-android-ndk:buildCMakeRelWithDebInfo
- if: matrix.language == 'java'
name: Build Java
- name: Build Java
run: |
./gradlew buildForCodeQL

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # pin@v2
uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # pin@v2
2 changes: 1 addition & 1 deletion .github/workflows/enforce-license-compliance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/generate-javadocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

- name: Generate Aggregate Javadocs
run: |
./gradlew aggregateJavadocs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@65b5dfd4f5bcd3a7403bbc2959c144256167464e # pin@4.5.0
uses: JamesIves/github-pages-deploy-action@62fec3add6773ec5dbbf18d2ee4260911aa35cf4 # pin@4.6.9
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142 # pin@v1
- uses: gradle/wrapper-validation-action@f9c9c575b8b21b6485636a91ffecd10e558c62f6 # pin@v1
4 changes: 2 additions & 2 deletions .github/workflows/integration-tests-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@2cd2a6e951bd0b53f55a08e4e4c6f2586f3a36b9 # pin@v3
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

Expand Down
128 changes: 128 additions & 0 deletions .github/workflows/integration-tests-ui-critical.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: UI Tests Critical

on:
push:
branches:
- main
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
BASE_PATH: "sentry-android-integration-tests/sentry-uitest-android-critical"
BUILD_PATH: "build/outputs/apk/release"
APK_NAME: "sentry-uitest-android-critical-release.apk"
APK_ARTIFACT_NAME: "sentry-uitest-android-critical-release"
MAESTRO_VERSION: "1.39.0"

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@4ba34e96c5f6493e99d0696180a9a8d431577ba9 # pin@v3
with:
gradle-home-cache-cleanup: true

- name: Build debug APK
run: make assembleUiTestCriticalRelease

- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: ${{env.APK_ARTIFACT_NAME}}
path: "${{env.BASE_PATH}}/${{env.BUILD_PATH}}/${{env.APK_NAME}}"
retention-days: 1

run-maestro-tests:
name: Run Tests for API Level ${{ matrix.api-level }}
needs: build
runs-on: ubuntu-latest
strategy:
# we want that the matrix keeps running, default is to cancel them if it fails.
fail-fast: false
matrix:
include:
- api-level: 30 # Android 11
target: aosp_atd
channel: canary # Necessary for ATDs
arch: x86_64
- api-level: 31 # Android 12
target: aosp_atd
channel: canary # Necessary for ATDs
arch: x86_64
- api-level: 33 # Android 13
target: aosp_atd
channel: canary # Necessary for ATDs
arch: x86_64
- api-level: 34 # Android 14
target: aosp_atd
channel: canary # Necessary for ATDs
arch: x86_64
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup KVM
shell: bash
run: |
# check if virtualization is supported...
sudo apt install -y --no-install-recommends cpu-checker coreutils && echo "CPUs=$(nproc --all)" && kvm-ok
# allow access to KVM to run the emulator
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Download APK artifact
uses: actions/download-artifact@v4
with:
name: ${{env.APK_ARTIFACT_NAME}}

- name: Install Maestro
uses: dniHze/maestro-test-action@bda8a93211c86d0a05b7a4597c5ad134566fbde4 # [email protected]
with:
version: ${{env.MAESTRO_VERSION}}

- name: Run tests
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d # [email protected]
with:
api-level: ${{ matrix.api-level }}
force-avd-creation: false
disable-animations: true
disable-spellchecker: true
target: ${{ matrix.target }}
channel: ${{ matrix.channel }}
arch: ${{ matrix.arch }}
emulator-options: >
-no-window
-no-snapshot-save
-gpu swiftshader_indirect
-noaudio
-no-boot-anim
-camera-back none
-camera-front none
-timezone US/Pacific
script: |
adb install -r -d "${{env.APK_NAME}}"
maestro test "${{env.BASE_PATH}}/maestro" --debug-output "${{env.BASE_PATH}}/maestro-logs"

- name: Upload Maestro test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: maestro-logs
path: "${{env.BASE_PATH}}/maestro-logs"
retention-days: 1
Loading