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

Add support for integration with native Android and Cocoa Performance SDKs #573

Merged
merged 58 commits into from
Jan 23, 2025

Conversation

yousif-bugsnag
Copy link
Contributor

Goal

Merge down the RN native integration branch to next ready for release.

yousif-bugsnag and others added 30 commits October 24, 2024 13:53
Sync integration branch with next
…dependencies
Add support for attaching to native performance SDKs
# Conflicts:
#	test/react-native/features/fixtures/scenario-launcher/android/build.gradle
Sync integration branch with next
* feat(react-native): support for starting native spans on android

* refactor(react-native): add ReactNativeSpanContext class

* refactor(react-native): use constants for hex radix and trace id midpoint values

* fix(react-native): update `isNativePerformanceAvailable` runtime check
feat(react-native): support for starting native spans on ios
feat(react-native): support ending native android spans
feat(react-native): support ending native ios spans
yousif-bugsnag and others added 24 commits December 19, 2024 14:18
…tory

Add ReactNativeSpanFactory class
React Native platform extensions improvements
Support discarding native spans in Turbo Module
…ached (#556)

* feat(react-native): add turbo module initialise method

avoid repeated calls to the native module by calling initialise once on module load and getting all of the native settings at once

* feat(react-native): delegate first class spans to native SDK

* feat(react-native): run onSpanEnd callbacks when processing native spans

* test(react-native): add span factory unit tests

* refactor: move onSpanEndCallback logic out of batch processor

* revert: undo initialise method

This partially reverts commit 0820748.

* test(react-native): update native integration e2e test

* fix(react-native): preserve sampling attribute for native Android spans

* refactor(core): configure span factory as early as possible and move early spans logic into span factory

* test(react-native): test custom attributes on native spans

* refactor(react-native): always use discard end time when discarding spans

* fix(react-native): fix platform check
…ering-metrics

Do not delegate automatic navigation spans to native SDK
…for more than one hour (#560)

* feat(react-native): periodically clean up native spans that are open for more than one hour

* refactor(react-native): use a main-thread handler for android cleanup task

* refactor(react-native): move span end logic out of synchronized block
# Conflicts:
#	packages/platforms/react-native/__mocks__/react-native.ts
#	packages/platforms/react-native/android/src/main/java/com/bugsnag/android/performance/NativeBugsnagPerformanceImpl.java
#	packages/platforms/react-native/android/src/newarch/java/com/bugsnag/android/performance/BugsnagReactNativePerformance.java
#	packages/platforms/react-native/android/src/oldarch/java/com/bugsnag/android/performance/BugsnagReactNativePerformance.java
#	packages/platforms/react-native/ios/BugsnagReactNativePerformance.mm
#	packages/platforms/react-native/lib/NativeBugsnagPerformance.ts
#	packages/platforms/react-native/lib/client.ts
Sync integration branch with next
Sync integration branch with next
Add Native integration tests to full CI pipeline
Throw errors from attach when native SDK is not available
@yousif-bugsnag yousif-bugsnag merged commit 7016887 into next Jan 23, 2025
40 checks passed
@yousif-bugsnag yousif-bugsnag deleted the integration/rn-native-integration branch January 23, 2025 09:27
@yousif-bugsnag yousif-bugsnag changed the title Merge integration branch to next Add support for integration with native Android and Cocoa Performance SDKs Jan 23, 2025
@yousif-bugsnag yousif-bugsnag mentioned this pull request Jan 23, 2025
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.

None yet

2 participants