Skip to content

Conversation

@adinauer
Copy link
Member

@adinauer adinauer commented Apr 16, 2024

Please do not merge main in here before PRs have been merged to avoid merge conflicts.

Draft PR so we can keep up with 8.0.0 and main diff.

The idea is to merge this branch into main once we GA.

#skip-changelog

TODOs:

  • Add ScopesTest (copied and adapted from HubTest)
  • Changelog
  • Migration guide
  • Docs

@adinauer adinauer changed the base branch from feat/potel-poc to main April 16, 2024 13:25
adinauer added 28 commits April 16, 2024 16:37
* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core
…3299)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core
…ations (#3300)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations
…tions (#3301)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations
…tion (#3302)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration
…ation (#3303)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration
…ations (#3304)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations
…ons (#3305)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations
…ion (#3306)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration
…ring Boot 2 integrations (#3308)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations
…ring Boot 3 integrations (#3309)

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations
* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage
…pe (#3318)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes
…cope` for `Scopes` (#3321)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope
…global scope (#3344)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes
… uses (#3345)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses
…3346)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API

* Use new API in servlet integrations
…apper (#3351)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API

* Use new API in servlet integrations

* Use new API for kotlin coroutines and wrapers for Supplier/Callable
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API

* Use new API in servlet integrations

* Use new API for kotlin coroutines and wrapers for Supplier/Callable

* Discussion TODOs
* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API

* Use new API in servlet integrations

* Use new API for kotlin coroutines and wrapers for Supplier/Callable

* Discussion TODOs

* Fix breadcrumb ordering
…HSM] (#3356)

* replace hub with scopes

* Add Scopes

* Introduce `IScopes` interface.

* Replace `IHub` with `IScopes` in core

* Replace `IHub` with `IScopes` in android core

* Replace `IHub` with `IScopes` in android integrations

* Replace `IHub` with `IScopes` in apollo integrations

* Replace `IHub` with `IScopes` in okhttp integration

* Replace `IHub` with `IScopes` in graphql integration

* Replace `IHub` with `IScopes` in logging integrations

* Replace `IHub` with `IScopes` in more integrations

* Replace `IHub` with `IScopes` in OTel integration

* Replace `IHub` with `IScopes` in Spring 5 / Spring Boot 2 integrations

* Replace `IHub` with `IScopes` in Spring 6 / Spring Boot 3 integrations

* Replace `IHub` with `IScopes` in samples

* gitscopes -> github

* Replace ThreadLocal with ScopesStorage

* Move client and throwable to span map to scope

* Add global scope

* use global scope in Scopes

* Implement pushScope popScope and withScope for Scopes

* Add pushIsolationScope; add fork methods to ISCope

* Use separate scopes for current, isolation and global scope; rename mainScopes to rootScopes

* Allow controlling which scope configureScope uses

* Combine scopes

* Use new API for CRONS integrations

* Add lifecycle helper

* Change spring integrations to use new API

* Use new API in servlet integrations

* Use new API for kotlin coroutines and wrapers for Supplier/Callable

* Discussion TODOs

* Fix breadcrumb ordering

* Mark TODOS with [HSM]
getsentry-bot and others added 19 commits December 5, 2024 10:18
* add agentless module for OpenTelemetry setup without any agent

* convert to api dep

* changelog
* replace deprecated SimpleInstrumentation with SimplePerformantInstrumentation

* dump api

* add readme
…ing it (#3641)

* Lazily cache request body for Spring requests instead of eagerly caching it

* remove unused CachedBodyServletInputStream, fix RequestPayloadExtractor to use inputStream and fallback to cached content if inputStream is finished

* rework using new SentryContentCachingRequestWrapper that always returns a readable inputstream

* remove SentryContentCachingRequestWrapper, add additional pii check in RequestBodyExtractingEventProcessor

* add changelog

---------

Co-authored-by: Alexander Dinauer <[email protected]>
Co-authored-by: Lukas Bloder <[email protected]>
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* changelog
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* fix build

* changelog

* remove otel mode in customizer provider
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* Add SentryOpenTelemetryMode.OFF

* fix HubAdapter and ScopeAdapter tests by calling Sentry.init so that the ScopesStorage is initialized

* fix build

* changelog

* fix agentless due to late call to SpanFactoryFactory

* Format code

* changelog

* fix order of scope storage close vs scopes close

* use initForTest

* remove unused suppress annotation

---------

Co-authored-by: Lukas Bloder <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
…ia Sentry API (#3997)

* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* Add SentryOpenTelemetryMode.OFF

* fix HubAdapter and ScopeAdapter tests by calling Sentry.init so that the ScopesStorage is initialized

* Hold a strong reference to OTel span if created via Sentry API

* fix tests

* fix build

* changelog

* fix agentless due to late call to SpanFactoryFactory

* Format code

* changelog

* fix order of scope storage close vs scopes close

* changelog

* use initForTest

* use initForTest

* Update sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java

Co-authored-by: Lukas Bloder <[email protected]>

---------

Co-authored-by: Lukas Bloder <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* Add SentryOpenTelemetryMode.OFF

* fix HubAdapter and ScopeAdapter tests by calling Sentry.init so that the ScopesStorage is initialized

* Hold a strong reference to OTel span if created via Sentry API

* add sentry-opentelemetry-agentless-spring module

* fix tests

* fix build

* changelog

* fix agentless due to late call to SpanFactoryFactory

* Format code

* changelog

* fix order of scope storage close vs scopes close

* changelog

* add PR link to changelog

* use initForTest

* use initForTest

---------

Co-authored-by: Lukas Bloder <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* Add SentryOpenTelemetryMode.OFF

* fix HubAdapter and ScopeAdapter tests by calling Sentry.init so that the ScopesStorage is initialized

* Hold a strong reference to OTel span if created via Sentry API

* Close backpressure monitor on SDK shutdown

* fix tests

* fix build

* changelog

* fix agentless due to late call to SpanFactoryFactory

* Format code

* changelog

* fix order of scope storage close vs scopes close

* changelog

* changelog

* use initForTest

* use initForTest

---------

Co-authored-by: Lukas Bloder <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
* add agentless module for OpenTelemetry setup without any agent

* Replace bool with enum for OpenTelemetryUtil mode

* Move OpenTelemetryUtil into core sentry

* Add openTelemetryMode option

* Add SentryOpenTelemetryMode.OFF

* fix HubAdapter and ScopeAdapter tests by calling Sentry.init so that the ScopesStorage is initialized

* Hold a strong reference to OTel span if created via Sentry API

* add sentry-opentelemetry-agentless-spring module

* fix tests

* fix build

* changelog

* fix agentless due to late call to SpanFactoryFactory

* Format code

* changelog

* fix order of scope storage close vs scopes close

* changelog

* add PR link to changelog

* use initForTest

* use initForTest

* add scopeBindingMode to SpanOptions

* changelog

---------

Co-authored-by: Lukas Bloder <[email protected]>
Co-authored-by: Sentry Github Bot <[email protected]>
* add FilterString, use FilterString when adding ignoredSpanOrigins

* add test, setIgnoredSpanOrigins as List of String

* add cache map for SpanUtils, use precompiled pattern and equals first approach for CheckInUtils and TracingUtils

* adapt tests to use the new setIgnored* methods

* add changelog

* Format code

* Update sentry/src/main/java/io/sentry/FilterString.java

Co-authored-by: Alexander Dinauer <[email protected]>

* add tests for multiple invocations

* Format code

---------

Co-authored-by: Sentry Github Bot <[email protected]>
Co-authored-by: Alexander Dinauer <[email protected]>
)

* Enable ThreadLocalAccessor for Spring Boot 3 WebFlux by default

* changelog
Copy link
Member

@stefanosiano stefanosiano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you have my trust! 😄

* Merge main into 8.x.x

* Remove redundant thread factory

* Add RRWebOptionsEventSerializationTest

* updated lost changes

* updated tests

* updated replay tests

---------

Co-authored-by: Roman Zavarnitsyn <[email protected]>
Co-authored-by: stefanosiano <[email protected]>
@adinauer adinauer marked this pull request as ready for review January 9, 2025 14:45
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2025

🚨 Detected changes in high risk code 🚨

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:

  • sentry-android-core/src/main/java/io/sentry/android/core/InternalSentrySdk.java
  • sentry/src/main/java/io/sentry/transport/RateLimiter.java

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2025

🚨 Detected changes in high risk code 🚨

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:

  • sentry-android-core/src/main/java/io/sentry/android/core/InternalSentrySdk.java
  • sentry/src/main/java/io/sentry/transport/RateLimiter.java

@adinauer adinauer merged commit bfbaf37 into main Jan 9, 2025
34 of 37 checks passed
@adinauer adinauer deleted the 8.x.x branch January 9, 2025 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants