From 8c17f0bbdd8db4bef5feb786fd2e3a1a8b57ff6b Mon Sep 17 00:00:00 2001 From: Luke Belton <58511679+luke-belton@users.noreply.github.com> Date: Fri, 24 May 2024 08:22:01 +0100 Subject: [PATCH 1/9] Correct links to BugSnag docs --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8ccaf29..4553d7a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

Performance monitoring for Flutter

-[![Documentation](https://img.shields.io/badge/documentation-latest-blue.svg)](https://docs.bugsnag.com/performance/flutter/) +[![Documentation](https://img.shields.io/badge/documentation-latest-blue.svg)](https://docs.bugsnag.com/performance/integration-guides/flutter/) [![Build status](https://badge.buildkite.com/700ab6c9d7b51c72fa52459ad023b503692bde8bf5337b93a0.svg?branch=main)](https://buildkite.com/bugsnag/bugsnag-flutter-performance) Monitor the start-up, navigation and network requests of Flutter apps running on iOS and Android and see the results in your [BugSnag](https://www.bugsnag.com) dashboard. @@ -21,14 +21,14 @@ Monitor the start-up, navigation and network requests of Flutter apps running on ## Getting started -For integration instructions, see our online docs: [docs.bugsnag.com/performance/flutter](https://docs.bugsnag.com/performance/flutter/) +For integration instructions, see our online docs: [docs.bugsnag.com/performance/integration-guides/flutter/](https://docs.bugsnag.com/performance/integration-guides/flutter/) ## Support -* [Read the integration guide](https://docs.bugsnag.com/performance/flutter/) +* [Read the integration guide](https://docs.bugsnag.com/performance/integration-guides/flutter/) * [Search open and closed issues](https://github.com/bugsnag/bugsnag-flutter-performance/issues?utf8=✓&q=is%3Aissue) for similar problems * [Report a bug or request a feature](https://github.com/bugsnag/bugsnag-flutter-performance/issues/new) ## License -The BugSnag Flutter Performance SDK is free software released under the MIT License. See the [LICENSE](./LICENSE) for details. \ No newline at end of file +The BugSnag Flutter Performance SDK is free software released under the MIT License. See the [LICENSE](./LICENSE) for details. From 96c4ac484329efb75913c6b37f5b8e286474e4cc Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 11 Nov 2024 09:24:58 +0000 Subject: [PATCH 2/9] change flutter_bin to flutter_version --- .buildkite/pipeline.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index ff37de0..e41d8a5 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -6,14 +6,14 @@ steps: - label: ":test_tube: 3.10.0" timeout_in_minutes: 10 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" commands: - make test - label: ":lint-roller: 3.10.0" timeout_in_minutes: 10 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" commands: - make lint @@ -24,7 +24,7 @@ steps: key: "ios-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" commands: - bundle install - pod repo update trunk @@ -39,7 +39,7 @@ steps: depends_on: "ios-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" agents: queue: opensource plugins: @@ -75,7 +75,7 @@ steps: key: "android-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" JAVA_VERSION: "11" commands: - bundle install @@ -90,7 +90,7 @@ steps: depends_on: "android-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_VERSION: "3.10.0" agents: queue: opensource plugins: From 97f7c30fbfb065dce71928fbba3456eb4609e025 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 11 Nov 2024 10:06:12 +0000 Subject: [PATCH 3/9] move to macos-14 --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index e41d8a5..ec35f73 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,5 +1,5 @@ agents: - queue: macos-12-arm + queue: macos-14 steps: From 9413a03ed7922be2f0d7c7ecdc0bfc2dbf22ca41 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 11 Nov 2024 10:12:22 +0000 Subject: [PATCH 4/9] update submodule url --- .gitmodules | 2 +- packages/bugsnag-flutter-common | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 0a81b63..9892340 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "packages/bugsnag-flutter-common"] path = packages/bugsnag-flutter-common - url = git@github.com:bugsnag/bugsnag-flutter-common.git + url = https://github.com/bugsnag/bugsnag-flutter-common diff --git a/packages/bugsnag-flutter-common b/packages/bugsnag-flutter-common index 17e166d..7004112 160000 --- a/packages/bugsnag-flutter-common +++ b/packages/bugsnag-flutter-common @@ -1 +1 @@ -Subproject commit 17e166d592ba914fd32a8f9a3c9e076056206111 +Subproject commit 70041129b1f67443bf309786ee45ac6d1f79c5fb From e07da5ba29194078865c4083423bd38eb04670be Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 11 Nov 2024 11:21:34 +0000 Subject: [PATCH 5/9] put 3.10.0 ios build on macos 12 --- .buildkite/pipeline.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index ec35f73..20ef716 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -23,6 +23,8 @@ steps: - label: Build iOS Test Fixture key: "ios-fixture-3-10-0" timeout_in_minutes: 20 + agents: + queue: macos-12-arm env: FLUTTER_VERSION: "3.10.0" commands: From 53957badb802d3cf03e8ab5e6aea614ee0ed27f4 Mon Sep 17 00:00:00 2001 From: Steve Kirkland Date: Sun, 1 Dec 2024 19:05:53 +0000 Subject: [PATCH 6/9] Use macOs 14 build queue for iOS test fixture --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 20ef716..7499b47 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -24,7 +24,7 @@ steps: key: "ios-fixture-3-10-0" timeout_in_minutes: 20 agents: - queue: macos-12-arm + queue: macos-14 env: FLUTTER_VERSION: "3.10.0" commands: From 5129a87c1e56b430577c414e74b5932b547eee85 Mon Sep 17 00:00:00 2001 From: robert-smartbear <126675445+robert-smartbear@users.noreply.github.com> Date: Tue, 14 Jan 2025 14:08:10 +0100 Subject: [PATCH 7/9] Bumped `connectivity_plus` version (#94) * Bumped `connectivity_plus` version * Replaced a deprecated package_info dependency with package_info_plus --------- Co-authored-by: Robert --- .buildkite/pipeline.yml | 20 +++++++++---------- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- .../bugsnag_performance_example/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 8 ++++---- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/AppDelegate.swift | 2 +- .../bugsnag_performance_example/pubspec.yaml | 2 +- .../lib/src/device_id_manager.dart | 2 +- .../src/extensions/resource_attributes.dart | 12 +++++------ .../lib/src/util/random.dart | 2 +- .../bugsnag_flutter_performance/pubspec.yaml | 8 ++++---- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 7499b47..aa0a177 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -3,17 +3,17 @@ agents: steps: - - label: ":test_tube: 3.10.0" + - label: ":test_tube: 3.19.0" timeout_in_minutes: 10 env: - FLUTTER_VERSION: "3.10.0" + FLUTTER_VERSION: "3.19.0" commands: - make test - - label: ":lint-roller: 3.10.0" + - label: ":lint-roller: 3.19.0" timeout_in_minutes: 10 env: - FLUTTER_VERSION: "3.10.0" + FLUTTER_VERSION: "3.19.0" commands: - make lint @@ -26,7 +26,7 @@ steps: agents: queue: macos-14 env: - FLUTTER_VERSION: "3.10.0" + FLUTTER_VERSION: "3.19.0" commands: - bundle install - pod repo update trunk @@ -41,7 +41,7 @@ steps: depends_on: "ios-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_VERSION: "3.10.0" + FLUTTER_VERSION: "3.19.0" agents: queue: opensource plugins: @@ -77,8 +77,8 @@ steps: key: "android-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_VERSION: "3.10.0" - JAVA_VERSION: "11" + FLUTTER_VERSION: "3.19.0" + JAVA_VERSION: "17" commands: - bundle install - features/scripts/generate_fixture.sh @@ -88,11 +88,11 @@ steps: upload: - "features/fixtures/mazerunner/build/app/outputs/flutter-apk/app-release.apk" - - label: ':bitbar: Android 12 end-to-end tests 3.10.0' + - label: ':bitbar: Android 12 end-to-end tests 3.19.0' depends_on: "android-fixture-3-10-0" timeout_in_minutes: 20 env: - FLUTTER_VERSION: "3.10.0" + FLUTTER_VERSION: "3.19.0" agents: queue: opensource plugins: diff --git a/example/bugsnag_performance_example/ios/Flutter/AppFrameworkInfo.plist b/example/bugsnag_performance_example/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/example/bugsnag_performance_example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/bugsnag_performance_example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/example/bugsnag_performance_example/ios/Podfile b/example/bugsnag_performance_example/ios/Podfile index fdcc671..d97f17e 100644 --- a/example/bugsnag_performance_example/ios/Podfile +++ b/example/bugsnag_performance_example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/example/bugsnag_performance_example/ios/Runner.xcodeproj/project.pbxproj b/example/bugsnag_performance_example/ios/Runner.xcodeproj/project.pbxproj index a07cf1b..3770a6a 100644 --- a/example/bugsnag_performance_example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/bugsnag_performance_example/ios/Runner.xcodeproj/project.pbxproj @@ -215,7 +215,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -452,7 +452,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -580,7 +580,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -629,7 +629,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/example/bugsnag_performance_example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/bugsnag_performance_example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 87131a0..8e3ca5d 100644 --- a/example/bugsnag_performance_example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/bugsnag_performance_example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ _addNetworkStatus() async { - var status = "unavailable"; + var status = 'unavailable'; final connectivityResult = await (Connectivity().checkConnectivity()); - if (connectivityResult == ConnectivityResult.mobile) { - status = "cell"; - } else if (connectivityResult == ConnectivityResult.wifi) { - status = "wifi"; + if (connectivityResult.contains(ConnectivityResult.wifi)) { + status = 'wifi'; + } else if (connectivityResult.contains(ConnectivityResult.mobile)) { + status = 'cell'; } Map networkStatusAttribute = { diff --git a/packages/bugsnag_flutter_performance/lib/src/util/random.dart b/packages/bugsnag_flutter_performance/lib/src/util/random.dart index ca8d0ab..fc0feec 100644 --- a/packages/bugsnag_flutter_performance/lib/src/util/random.dart +++ b/packages/bugsnag_flutter_performance/lib/src/util/random.dart @@ -36,7 +36,7 @@ class _Random { int nextInt(int max) { try { if (_secureRandom != null) { - return _secureRandom!.nextInt(max); + return _secureRandom.nextInt(max); } } catch (_) { // When the system runs out of entropy, we fall back on a less secure random number source diff --git a/packages/bugsnag_flutter_performance/pubspec.yaml b/packages/bugsnag_flutter_performance/pubspec.yaml index ceece08..d4dee5a 100644 --- a/packages/bugsnag_flutter_performance/pubspec.yaml +++ b/packages/bugsnag_flutter_performance/pubspec.yaml @@ -7,8 +7,8 @@ repository: https://github.com/bugsnag/bugsnag-flutter-performance issue_tracker: https://github.com/bugsnag/bugsnag-flutter-performance/issues environment: - sdk: '>=3.0.0 <4.0.0' - flutter: ">=3.10.0" + sdk: '>=3.3.0 <4.0.0' + flutter: ">=3.19.0" dependencies: crypto: ^3.0.3 @@ -16,10 +16,10 @@ dependencies: sdk: flutter plugin_platform_interface: ^2.0.2 device_info_plus: ^9.1.0 - package_info: ^2.0.2 + package_info_plus: ^8.0.0 path_provider: ^2.0.2 uuid: ^4.0.0 - connectivity_plus: ^5.0.2 + connectivity_plus: ^6.0.5 bugsnag_bridge: ^2.0.0 dev_dependencies: From 631975b8afbea6218231d500de30bd0ddd4abf0f Mon Sep 17 00:00:00 2001 From: robert-smartbear <126675445+robert-smartbear@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:55:53 +0100 Subject: [PATCH 8/9] Updated view load instrumentation loading phase name (#67) * Updated view load instrumentation loading phase name * Fixed an E2E test --------- Co-authored-by: Robert --- features/automatic_spans.feature | 28 ++++++++++--------- .../view_load/view_load_instrumentation.dart | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/features/automatic_spans.feature b/features/automatic_spans.feature index fb34978..9d2ad08 100644 --- a/features/automatic_spans.feature +++ b/features/automatic_spans.feature @@ -169,7 +169,7 @@ Feature: Automatic instrumentation spans * a span string attribute "bugsnag.phase" equals "building" * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicScenarioWidget/appearing" * a span string attribute "bugsnag.phase" equals "appearing" - * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicScenarioWidget/loading" exists + * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicScenarioWidget/loading content" exists * every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$" * every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$" * every span field "startTimeUnixNano" matches the regex "^[0-9]+$" @@ -190,12 +190,13 @@ Feature: Automatic instrumentation spans * a span string attribute "bugsnag.phase" equals "appearing" * a span string attribute "bugsnag.span.category" equals "view_load_phase" * no span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" exists - * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading" exists + * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading content" exists And I invoke "step2" And I wait for 4 spans * a span field "name" equals "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" * a span string attribute "bugsnag.span.category" equals "view_load" - * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading" + * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading content" + * a span string attribute "bugsnag.phase" equals "loading content" * every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$" * every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$" * every span field "startTimeUnixNano" matches the regex "^[0-9]+$" @@ -203,7 +204,7 @@ Feature: Automatic instrumentation spans * every span bool attribute "bugsnag.span.first_class" does not exist * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/building" * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/appearing" - * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading" + * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadBasicDeferScenarioWidget/loading content" Scenario: AutoInstrumentViewLoadNestedScenario Given I run "AutoInstrumentViewLoadNestedScenario" @@ -219,16 +220,17 @@ Feature: Automatic instrumentation spans * a span string attribute "bugsnag.phase" equals "appearing" * a span string attribute "bugsnag.span.category" equals "view_load_phase" * no span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" exists - * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading" exists + * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading content" exists * no span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" exists - * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading" exists + * no span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading content" exists And I invoke "step2" And I wait for 8 spans * a span field "name" equals "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" * a span field "name" equals "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" * a span string attribute "bugsnag.span.category" equals "view_load" - * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading" - * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading" + * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading content" + * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading content" + * a span string attribute "bugsnag.phase" equals "loading content" * every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$" * every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$" * every span field "startTimeUnixNano" matches the regex "^[0-9]+$" @@ -236,10 +238,10 @@ Feature: Automatic instrumentation spans * every span bool attribute "bugsnag.span.first_class" does not exist * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/building" * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/appearing" - * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading" + * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioWidget/loading content" * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/building" * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/appearing" - * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading" + * the span named "[ViewLoad]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentViewLoadNestedScenarioChildWidget/loading content" Scenario: AutoInstrumentNavigationWithViewLoadScenario Given I run "AutoInstrumentNavigationWithViewLoadScenario" @@ -268,8 +270,8 @@ Feature: Automatic instrumentation spans * a span string attribute "bugsnag.phase" equals "building" * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/appearing" * a span string attribute "bugsnag.phase" equals "appearing" - * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/loading" - * a span string attribute "bugsnag.phase" equals "loading" + * a span field "name" equals "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/loading content" + * a span string attribute "bugsnag.phase" equals "loading content" * a span string attribute "bugsnag.span.category" equals "view_load_phase" * a span field "name" equals "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" * a span string attribute "bugsnag.span.category" equals "view_load" @@ -280,5 +282,5 @@ Feature: Automatic instrumentation spans * every span bool attribute "bugsnag.span.first_class" does not exist * the span named "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/building" * the span named "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/appearing" - * the span named "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/loading" + * the span named "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" is the parent of the span named "[ViewLoadPhase]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget/loading content" * the span named "[Navigation]navigation_view_load_scenario" is the parent of the span named "[ViewLoad]FlutterWidget/AutoInstrumentNavigationWithViewLoadWidget" \ No newline at end of file diff --git a/packages/bugsnag_flutter_performance/lib/src/instrumentation/view_load/view_load_instrumentation.dart b/packages/bugsnag_flutter_performance/lib/src/instrumentation/view_load/view_load_instrumentation.dart index 78cc150..494981e 100644 --- a/packages/bugsnag_flutter_performance/lib/src/instrumentation/view_load/view_load_instrumentation.dart +++ b/packages/bugsnag_flutter_performance/lib/src/instrumentation/view_load/view_load_instrumentation.dart @@ -79,7 +79,7 @@ class ViewLoadInstrumentationImpl implements ViewLoadInstrumentation { if (node.isLoading()) { state.loadingSpan = client.startViewLoadPhaseSpan( viewName: state.name, - phase: 'loading', + phase: 'loading content', parentContext: viewLoadSpan, ); node.addDidFinishLoadingCallback(() { From 4eb2586d283f1765df8ce864b4e563233d1764d0 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 17 Jan 2025 16:57:29 +0100 Subject: [PATCH 9/9] Release v1.4.0 --- CHANGELOG.md | 16 ++++++++++++++++ VERSION | 2 +- .../lib/src/extensions/resource_attributes.dart | 2 +- .../bugsnag_flutter_performance/pubspec.yaml | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7423fb0..06a3d22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,22 @@ Changelog ========= +## 1.4.0 (2025-01-17) + +### Changes + +* Bumped min Dart SDK version to 3.3.0 and min Flutter SDK version to 3.19.0 [94](https://github.com/bugsnag/bugsnag-flutter-performance/pull/94) + +### Enhancements + +* Upgraded the `connectivity_plus` dependency version to 6.0.5 [94](https://github.com/bugsnag/bugsnag-flutter-performance/pull/94) + +* Replaced the dependency on `package_info` with the new `package_info_plus` package [94](https://github.com/bugsnag/bugsnag-flutter-performance/pull/94) + +### Bug fixes + +* Changed `loading` view load phase name to `loading content` [67](https://github.com/bugsnag/bugsnag-flutter-performance/pull/67) + ## 1.3.0 (2024-09-30) ### Enhancements diff --git a/VERSION b/VERSION index f0bb29e..88c5fb8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.0 +1.4.0 diff --git a/packages/bugsnag_flutter_performance/lib/src/extensions/resource_attributes.dart b/packages/bugsnag_flutter_performance/lib/src/extensions/resource_attributes.dart index 972b6b3..6d022e9 100644 --- a/packages/bugsnag_flutter_performance/lib/src/extensions/resource_attributes.dart +++ b/packages/bugsnag_flutter_performance/lib/src/extensions/resource_attributes.dart @@ -196,5 +196,5 @@ class ResourceAttributesProviderImpl implements ResourceAttributesProvider { return "Unknown"; } - static String get _getSDKVersion => '1.3.0'; + static String get _getSDKVersion => '1.4.0'; } diff --git a/packages/bugsnag_flutter_performance/pubspec.yaml b/packages/bugsnag_flutter_performance/pubspec.yaml index d4dee5a..2fce493 100644 --- a/packages/bugsnag_flutter_performance/pubspec.yaml +++ b/packages/bugsnag_flutter_performance/pubspec.yaml @@ -1,6 +1,6 @@ name: bugsnag_flutter_performance description: BugSnag performance monitoring tool for Flutter apps -version: 1.3.0 +version: 1.4.0 homepage: https://www.bugsnag.com/ documentation: https://docs.bugsnag.com/performance/flutter/ repository: https://github.com/bugsnag/bugsnag-flutter-performance