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
-[](https://docs.bugsnag.com/performance/flutter/)
+[](https://docs.bugsnag.com/performance/integration-guides/flutter/)
[](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