Giter Club home page Giter Club logo

dd-sdk-flutter's Introduction

dd-sdk-flutter's People

Contributors

0xnm avatar 4rthurmonteiro avatar alai97 avatar clairedavis avatar dballance avatar fuzzybinary avatar jakeyankovich avatar jamesblasco avatar jeremy-lq avatar karlchow92 avatar mariusc83 avatar ncreated avatar plousada avatar priyanshi-gupta avatar ronnnnn avatar rtrieu avatar wrbl606 avatar xgouchet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dd-sdk-flutter's Issues

Support reporting which attributes fail serialization

When passing large sets of objects as attributes in calls to logs and other RUM events, properties that fail to serialize to Fluttter's StandardMethodCodec (or from there to JSON) will throw an error. Currently, the error is not helpful, for example:

flutter: [Datadog ๐Ÿถโš ๏ธ ] ArgumentError when calling logs.info: parameter null could not be properly converted to a supported native type.

Instead it would be nice if the SDK could warn what attribute failed serialization, and what type it is. For example, and object like this:

final attributes = {
  'item1': 'string',
  'item2': {
    'innerItem1': SimpleObject('data'),
    'innerItem2': 5,
  }, 
};

Should produce a log similar to:

ArgumentError when calling logs.info: attribute 'item2.innerItem1' (of type SimpleObject) could not be properly converted to a supported native type.

This was requested in feedback when diagnosing #142

Cancelled (Dio) HTTP requests show as errors in RUM

Describe what happened

My application uses the Dio library to make HTTP requests. This allows for requests to be cancelled, which is useful when performing a typeahead search to cancel a previously dispatched API call when the search input changes.

It appears that when a Dio-dispatched request is cancelled, that datadog_tracking_http_client records an error in RUM, which adds unwanted noise.

Steps to reproduce the issue:

Here is an example using Riverpod, whereby a search for staff members is dispatched when search input changes, with the request automatically being cancelled when the provider is no longer watched, which happens when the search input changes.

  ...
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    ...
    final searchProvider = staffMemberSearchFamily(searchText.value);
    final matches = ref.watch(searchPod);
    ...
  }
  ...
final staffMemberSearchFamily = FutureProvider.family.autoDispose<List<PersonData>, String?>(
  (ref, searchText) async {
    // Dispatch a cancellable HTTP request, meaning that we instruct the HTTP
    // client to ignore the response.
    final cancelToken = CancelToken();
    ref.onDispose(cancelToken.cancel);

    return ref.watch(personApiPod).internalPersonSearch(
          searchText: searchText,
          cancelToken: cancelToken,
        );
  },
);

Describe what you expected:

I expected that programmatically-cancelled HTTP requests would not appear in RUM as errors.

Additional context

  • Dart/Flutter version: 2.17.6/3.0.5
  • Datadog SDK version: 1.0.0-beta.3
  • datadog_tracking_http_client version: 1.0.1-beta.1
  • Versions of any other relevant dependencies: Dio 4.0.6

Unable to setup new application / send data

Describe what happened
I am trying to add a new Flutter application in Datadog, and I am following this guide:

I have created an app in Datadog , created the configuration object and initialized the Datadog RUM instance using the first method shown in the documentation. However, I am still not able to send any data to Datadog and stuck on "Verify your installation" step which waits for data to arrive. I have also tried the second method to initialize the library without any luck.

I am trying to use Navigation Observer for automatic screen tracking.

Just a disclaimer I am still new to Flutter and Datadog, so it is possible I am missing some step.

Steps to reproduce the issue:
Create new application in Datadog RUM dashboard, follow the steps from the official guide to add the plugin into your Flutter app

Describe what you expected:
I was expecting the "verify your installation" step to complete, but it is stuck on "Waiting for data..."

Additional context

  • Dart/Flutter version: Dart SDK version: 2.18.4 (stable)/Flutter (Channel stable, 3.3.7)
  • Android/iOS OS version: Android, iOS
  • Device Model: Android Emulator Pixel 5 API 31, iOS Simulator
  • Datadog SDK version: 1.0.1
  • Versions of any other relevant dependencies: N/A

Semantic Versioning Violation - 1.2.0 causes unexpected build failures

Describe what happened
Builds are broken when running pub upgrade. This should not happen. Pub dependencies should follow Semantic Versioning strictly to avoid unexpected breakages. See https://semver.org/

The specific problem here is that a breaking API change was introduced on 1.2.0 but only the minor version number changed. Here are the rules:

  1. MAJOR - required for any public API change (like the one introduced by 1.2.0)
  2. MINOR - required for any backward compatible changes
  3. PATCH - required for any internal bug fixes

This library introduced a breaking API change which should have required the version to change to 2.0.0 at least. If you don't want to bump the MAJOR version you have to allow for a backward compatible API.

In order to fix this issue you need to publish a new MINOR version which provides a backward compatible interface that will allow any version < 2.0.0 to compile. Then you will need to publish a 2.0.0 version with the extra backward compatible interface removed (as it is now).

Steps to reproduce the issue:

  • Write code against 1.0.1 (exact constrain version)
  • Loosen version constraints to ^1.0.1
  • Run pub upgrade
  • Try to build the app

Describe what you expected:
The app should build without requiring code changes. Pub follows SemVer. Please see this for more dart-package specific information: https://dart.dev/tools/pub/versioning#semantic-versions. It's very important to follow these conventions.

Additional context

  • Dart/Flutter version: any
  • Android/iOS OS version: any
  • Device Model: any
  • Datadog SDK version: migrating to 1.0.1 (or 1.1.0) -> 1.2.0
  • Versions of any other relevant dependencies: none

[ios] Datadog SDK usage error: `Datadog.initialize()` must be called prior to `Logger.builder.build()`.

Thanks for taking the time for reporting an issue!

Describe what happened
Upgraded Flutter from 3.3.10 to 3.7.0 after which upgraded datadog_flutter_plugin: ^1.2.1 and ran our app. Android version runs fine, ios version throws the following exception

Datadog SDK usage error: `Datadog.initialize()` must be called prior to `Logger.builder.build()`.

Steps to reproduce the issue:
I think just using latest flutter 3.7.0 and latest datadog version 1.2.1 should be able to reproduce the exception shown above.

Describe what you expected:
Luckily its a non app boot blocker, but ideally no exception would be thrown so that the logger can send the logs over to datadog servers.

Additional context

  • Dart/Flutter version: 3.7.0
  • Android/iOS OS version: io16
  • Device Model: iphone 14 pro
  • Datadog SDK version: 1.2.1

Allow nested objects to be used in logging context data

Is your feature request related to a problem? Please describe.
It does not appear to be possible to log a data object if that object contains Dart enum values. For example, I have a data object where the class has been generated by the popular Freezed package, which includes attributes that are enum values. If I try to log such an object then I get an error:

flutter: [Datadog ๐Ÿถโš ๏ธ ] ArgumentError when calling logs.info: parameter null could not be properly converted to a supported native type.

Here is a simplified example.

enum PlaceName {
  organisation,
  reception,
}

@freezed
class HomeSettings with _$HomeSettings {
  const factory HomeSettings({
    @Default(PlaceName.organisation) PlaceName placeName,
  }) = _HomeSettings;

  const HomeSettings._();

  factory HomeSettings.fromJson(Map<String, dynamic> json) =>
      _$HomeSettingsFromJson(json);
}
final settings = HomeSettings(placeName: PlaceName.reception);

// This won't work as the settings object contains a enum value
DatadogSdk.instance.logs?.info(
  'example', 
  {
    'settings': settings.toJson(),
  },
);

Describe the solution you'd like
Add support for logging of values that can be encoded as JSON.

RUM events sometimes missing in Datadog

It would be useful to be able to force more frequent flushes of data to Datadog. It's not clear to me what actions I can take to trigger the upload, as sometimes when running locally it seems like it can take a long time for actions to appear in Datadog โ€“ if at all.

I have the upload frequency set to UploadFrequency.frequent in DdSdkConfiguration.

Datadog deobfuscation for logs

My team is planning to obfuscate our flutter application but read in this thread that this is not possible? If not, could we add this to the feature roadmap.

SDK is already initialised

Describe what happened
An error message "Datadog SDK usage error: SDK is already initialized." appears when the app is restarted following hot reload. Whilst this can be ignored, it seems to me that it would be better suppressed given that it is such a commonality.

flutter: ๐Ÿ”ฅ Datadog SDK usage error: SDK is already initialized.
flutter: ๐Ÿ”ฅ Datadog SDK usage error: The `Tracer` instance was already created. Use existing `Global.sharedTracer` instead of initializing the `Tracer` another time.
flutter: ๐Ÿ”ฅ Datadog SDK usage error: The `RUMMonitor` instance was already created. Use existing `Global.rum` instead of initializing the `RUMMonitor` another time.

Additional context

  • Dart/Flutter version: Dart 2.17.1 / Flutter 3.0
  • Datadog SDK version: datadog_flutter_plugin: ^1.0.0-beta.2

iOS: Tracing feature is enabled, but no `Tracer` is registered. The Tracing integration with Logging will not work.

I'm seeing the warning, Tracing feature is enabled, but no 'Tracer' is registered. The Tracing integration with Logging will not work. when debugging an iOS application with the logging verbosity set to verbose. We are not seeing this warning on Android.

I found a reference to this warning in a react native ticket which may offer a little more insight: https://github.com/datadog/dd-sdk-reactnative/issues/135?ref=https://coder.social

What is the cause of this warning and how can it be resolved? Any help is greatly appreciated. Thank you for all of your help so far!

flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:41:51.800 โš ๏ธ Tracing feature is enabled, but no `Tracer` is registered. The Tracing integration with Logging will not work.
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:13.822 NTP time synchronization completed.
Server time will be used for signing events (0.024s difference with device time).
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:17.204 ๐Ÿ’ก (tracing) No upload. Batch to upload: NO, System conditions: โœ…
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:17.208 โณ (RUM) Uploading batch...
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:17.209 โณ (logging) Uploading batch...
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:17.363    โ†’ (RUM) accepted, won't be retransmitted: [response code: 202 (accepted), request ID: 0C937F77-FEE4-4C05-B993-6F49F486CFE7]
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:17.374    โ†’ (logging) accepted, won't be retransmitted: [response code: 202 (accepted), request ID: CCB6AE3A-3974-4810-A4E5-9C5694250C5B]
flutter: [DATADOG SDK] ๐Ÿถ โ†’ 11:42:41.202 ๐Ÿ’ก (RUM) No upload. Batch to upload: NO, System conditions: โœ…

Our DataDog initialization use case is the following:

class InitializeDatadog extends CommandUseCase<void> {
  static final _protocolRegex = RegExp('http(s)*:\\/\\/');

  final DatadogConfig _datadogConfig;
  final ProxyConfig _proxyConfig;
  final List<String> _firstPartyHosts;

  InitializeDatadog(
    this._datadogConfig,
    this._proxyConfig,
    this._firstPartyHosts,
  );

  @override
  Future<void> invoke() async {
    if (!kReleaseMode) {
      DatadogSdk.instance.sdkVerbosity = Verbosity.verbose;
    }

    final hostsWithoutProtocol = _firstPartyHosts.map((host) => host.replaceAll(_protocolRegex, '')).toList();

    final datadogConfig = DdSdkConfiguration(
      clientToken: _datadogConfig.clientToken,
      env: _datadogConfig.environment,
      serviceName: _datadogConfig.serviceName,
      site: DatadogSite.us1,
      trackingConsent: TrackingConsent.granted,
      nativeCrashReportEnabled: true,
      firstPartyHosts: hostsWithoutProtocol,
      loggingConfiguration: LoggingConfiguration(
        sendLogsToDatadog: true,
        sendNetworkInfo: true,
      ),
      rumConfiguration: RumConfiguration(applicationId: _datadogConfig.rumApplicationId),
    );

    // Only enable HTTP tracking when the proxy is disabled as doing so will override the HTTP overrides in place by our
    // proxy.
    if (!_proxyConfig.isProxyEnabled) {
      datadogConfig.enableHttpTracking();
    }

    await DatadogSdk.instance.initialize(datadogConfig);
  }
}

We're also using the DatadogNavigationObserver within our MaterialApp configuration and our InitializeDataDog use case is invoked before the MaterialApp widget is built.

        return MaterialApp(
          debugShowCheckedModeBanner: false,
          localizationsDelegates: const [
            S.delegate,
            GlobalMaterialLocalizations.delegate,
            GlobalWidgetsLocalizations.delegate,
            GlobalCupertinoLocalizations.delegate,
          ],
          theme: themeLight(context),
          darkTheme: themeDark(context),
          themeMode: themeMode,
          supportedLocales: S.delegate.supportedLocales,
          navigatorKey: widget._navigatorKey,
          initialRoute: widget._isUserAuthenticated ? Routes.dashboard : Routes.onBoarding,
          onGenerateInitialRoutes: (initialRoute) => _onGenerateInitialRoutes(initialRoute, isUserPinSet),
          navigatorObservers: [
            DatadogNavigationObserver(datadogSdk: DatadogSdk.instance),
          ],
          routes: Routes.routeMap,
        );

Describe what you expected:

I'm not expecting to avoid seeing a warning that tracing will not work.

Additional context

  • Dart/Flutter version: Flutter 3.3.7
  • Android/iOS OS version: iOS
  • Device Model: iPhone 13 simulator
  • Datadog SDK version: 1.1.1
  • Versions of any other relevant dependencies: datadog_tracking_http_client: ^1.1.0

Could not find module 'Datadog' for target 'arm64-apple-ios-simulator'

Describe what happened
Our company is implementing Datadog and we decided to try out the Flutter plug-in but it seems that it doesn't support compilation for iOS Simulators.

Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code

Swift Compiler Error (Xcode): Could not find module 'Datadog' for target 'arm64-apple-ios-simulator'; found: x86_64-apple-ios-simulator, at: $PROJET_ROOT/build/ios/Debug-dev-iphonesimulator/DatadogSDK/Datadog.framework/Modules/Datadog.swiftmodule
/private/var/lib/flutter/.pub-cache/hosted/pub.dartlang.org/datadog_flutter_plugin-1.0.0-beta.2/ios/Classes/DatadogFlutterModels.swift:5:7

Could not build the application for the simulator.

Since it's an installed Flutter plugin I don't think there's an easy way to control if it should be included or not if the target is a Simulator, making it impossible to run the project on an iOS Simulator.

Steps to reproduce the issue:

  • Add datadog_flutter_plugin: 1.0.0-beta.2 to your pubspec.yaml
  • Run flutter pub get and pod install
  • Try to execute the project targeting any iOS Simulator

Describe what you expected:
Project be compiled without any error.

Additional context

  • Dart/Flutter version: Dart 2.17.1, Flutter 3.0.1
  • Android/iOS OS version: iOS 15
  • Device Model: iPhone 13 Simulator
  • Datadog SDK version: 1.0.1-beta.2
  • Versions of any other relevant dependencies: datadog_tracking_http_client: 1.0.1-beta.1

Building APK fails with version 1.1.0

Describe what happened
After upgrading to 1.1.0 the Android build no longer work

Steps to reproduce the issue:

using datadog_flutter_plugin: ^1.1.0 in pubspec yaml creates this error after building for Android

Build file '/Users/runner/hostedtoolcache/Flutter/3.3.7/macos/flutter/.pub-cache/hosted/pub.dartlang.org/datadog_flutter_plugin-1.1.0/android/build.gradle' line: 63
[        ] * What went wrong:
[        ] A problem occurred evaluating project ':datadog_flutter_plugin'.
[        ] > Could not get unknown property 'libs' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
[        ]

Describe what you expected:
Going back to a lower version fixes the problem (1.0.1) and builds the apk in debug / release

Additional context
[โœ“] Flutter (Channel stable, 3.3.7, on macOS 12.4 21F79 darwin-arm, locale es-419)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[โœ“] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[โœ—] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[โœ“] Android Studio (version 2021.1)
[โœ“] VS Code (version 1.73.0)
[โœ“] Connected device (2 available)
[โœ“] HTTP Host Availability

Gradle

/// dependency in android/build.gradle

classpath 'com.android.tools.build:gradle:7.1.2'

/// distribution in wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

Error build apk with datadog-flutter

`Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:preDebugBuild'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform dd-sdk-android-ndk-1.14.0-beta1.aar (com.datadoghq:dd-sdk-android-ndk:1.14.0-beta1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for JetifyTransform: /Users/alexandre/.gradle/caches/modules-2/files-2.1/com.datadoghq/dd-sdk-android-ndk/1.14.0-beta1/b138be7dc36a4a7bb50e18b45e55c6f409e3cb82/dd-sdk-android-ndk-1.14.0-beta1.aar.
> Failed to transform '/Users/alexandre/.gradle/caches/modules-2/files-2.1/com.datadoghq/dd-sdk-android-ndk/1.14.0-beta1/b138be7dc36a4a7bb50e18b45e55c6f409e3cb82/dd-sdk-android-ndk-1.14.0-beta1.aar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
Failed to transform dd-sdk-android-1.14.0-beta1.aar (com.datadoghq:dd-sdk-android:1.14.0-beta1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for JetifyTransform: /Users/alexandre/.gradle/caches/modules-2/files-2.1/com.datadoghq/dd-sdk-android/1.14.0-beta1/ba7639415633b5514f175553eed947fd732f4370/dd-sdk-android-1.14.0-beta1.aar.
> Failed to transform '/Users/alexandre/.gradle/caches/modules-2/files-2.1/com.datadoghq/dd-sdk-android/1.14.0-beta1/ba7639415633b5514f175553eed947fd732f4370/dd-sdk-android-1.14.0-beta1.aar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)`

Since integration of datadog-flutter-sdk , i can't lunch my app on Android device but it works on Flutter Web
Can you help me ?

[โœ“] Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-arm, locale fr-FR)
โ€ข Flutter version 3.0.5 at /Users/alexandre/Documents/Flutter/flutter
โ€ข Upstream repository https://github.com/flutter/flutter.git
โ€ข Framework revision f1875d570e (6 weeks ago), 2022-07-13 11:24:16 -0700
โ€ข Engine revision e85ea0e79c
โ€ข Dart version 2.17.6
โ€ข DevTools version 2.12.2

[โœ“] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
โ€ข Android SDK at /Users/alexandre/Library/Android/sdk
โ€ข Platform android-31, build-tools 32.0.0
โ€ข Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
โ€ข Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
โ€ข All Android licenses accepted.

Service name not respected

Thanks for taking the time for reporting an issue!

Describe what happened
We're noticing that the service name passed to the DdSdkConfiguration constructor is not respected, and the resulting service name ends up being the application's package name.

Steps to reproduce the issue:

Build an app using the plugin on Android and pass serviceName as foo to the aforementioned constructor, and initialize the SDK. When querying in Datadog, this service name does not show up but the application id (e.g com.application) does.

    final datadogConfiguration = DdSdkConfiguration(
      clientToken: _clientToken,
      serviceName: 'mobile', // This ends up being application ID on backend
      env: appConfiguration.environmentString,
      trackingConsent: TrackingConsent.granted,
      site: DatadogSite.us1,
    )..additionalConfig.addAll(additionalConfig);

    await _datadogSdk.initialize(datadogConfiguration);

Describe what you expected:

The serviceName passed to the constructor should be respected/persisted on the underlying native SDK.

Additional context

  • Dart/Flutter version: Flutter (Channel stable, 2.10.4, on macOS 12.4 21F79 darwin-arm, locale en-US), Dart version 2.16.2
  • Android/iOS OS version: Android 9
  • Device Model: Moto X4
  • Datadog SDK version: 1.0.0-beta.2
  • Versions of any other relevant dependencies: N/A

iOS Crash DataDog Version 1.2.1

Describe what happened

After upgrading to version 1.2.1 we're seeing the following crash on iOS while the application is in the background:

Incident Identifier: C8A5F9BD-AA07-4AE0-A35F-2DF5A7F3FD47
Hardware Model:      iPhone13,4
Process:             Runner [594]
Path:                /private/var/containers/Bundle/Application/71687089-D449-4B79-A09D-EB34A6C6C667/Runner.app/Runner
Identifier:          com.XXXXX.XXXXX
Version:             2.0.5 (4411)
AppStoreTools:       14C17
AppVariant:          1:iPhone13,4:15
Code Type:           ARM-64 (Native)
Role:                Background
Parent Process:      launchd [1]
Coalition:           com.XXXXX.XXXXX [627]

Date/Time:           2023-02-12 02:44:00.7301 -0600
Launch Time:         2023-02-11 21:02:13.5850 -0600
OS Version:          iPhone OS 15.6.1 (19G82)
Release Type:        User
Baseband Version:    2.70.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  19

Last Exception Backtrace:
0   CoreFoundation                	0x1c82b9288 __exceptionPreprocess + 220 (NSException.m:200)
1   libobjc.A.dylib               	0x1e0fe9744 objc_exception_throw + 60 (objc-exception.mm:565)
2   Foundation                    	0x1c9b4a340 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 204 (NSException.m:242)
3   Flutter                       	0x10749ccf4 0x107488000 + 85236
4   Runner                        	0x103886414 closure #1 in SwiftDatadogSdkPlugin.handle(_:result:) + 88 (SwiftDatadogSdkPlugin.swift:69)
5   Runner                        	0x103886414 partial apply for closure #1 in SwiftDatadogSdkPlugin.handle(_:result:) + 116 (<compiler-generated>:0)
6   Datadog                       	0x104df9d34 InternalLogger.print(message:error:emoji:) + 20 (InternalLogger.swift:54)
7   Datadog                       	0x104df9d34 InternalLogger.log(_:message:error:) + 20 (InternalLogger.swift:42)
8   Datadog                       	0x104df9d34 protocol witness for CoreLogger.log(_:message:error:) in conformance InternalLogger + 20 (<compiler-generated>:37)
9   Datadog                       	0x104df9d34 specialized CoreLogger.warn(_:error:) + 20 (CoreLogger.swift:93)
10  Datadog                       	0x104df9d34 RUMSessionScope.process(command:context:writer:) + 2572 (RUMSessionScope.swift:160)
11  Datadog                       	0x104d7f164 protocol witness for RUMScope.process(command:context:writer:) in conformance RUMSessionScope + 20 (RUMScope.swift:21)
12  Datadog                       	0x104d7f164 specialized RUMScope.scope(byPropagating:context:writer:) + 20 (<compiler-generated>:0)
13  Datadog                       	0x104d7f164 RUMApplicationScope.process(command:context:writer:) + 212
14  Datadog                       	0x104decf68 closure #1 in closure #1 in RUMMonitor.process(command:) + 196 (RUMMonitor.swift:614)
15  Datadog                       	0x104d2356c thunk for @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
16  Datadog                       	0x104d2358c thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
17  libdispatch.dylib             	0x1c7f20a30 _dispatch_client_callout + 20 (object.m:560)
18  libdispatch.dylib             	0x1c7f2fc90 _dispatch_lane_barrier_sync_invoke_and_complete + 56 (queue.c:1028)
19  Datadog                       	0x104dece40 closure #1 in RUMMonitor.process(command:) + 420 (RUMMonitor.swift:611)
20  Datadog                       	0x104d1c568 closure #1 in DatadogCoreFeatureScope.eventWriteContext(bypassConsent:_:) + 144 (DatadogCore.swift:407)
21  Datadog                       	0x104d18d00 closure #1 in DatadogContextProvider.read(block:) + 296 (DatadogContextProvider.swift:108)
22  Datadog                       	0x104de86e0 thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
23  libdispatch.dylib             	0x1c7f1ee6c _dispatch_call_block_and_release + 32 (init.c:1517)
24  libdispatch.dylib             	0x1c7f20a30 _dispatch_client_callout + 20 (object.m:560)
25  libdispatch.dylib             	0x1c7f28124 _dispatch_lane_serial_drain + 668 (inline_internal.h:2622)
26  libdispatch.dylib             	0x1c7f28c80 _dispatch_lane_invoke + 392 (queue.c:3944)
27  libdispatch.dylib             	0x1c7f33500 _dispatch_workloop_worker_thread + 648 (queue.c:6732)
28  libsystem_pthread.dylib       	0x239c1d0bc _pthread_wqthread + 288 (pthread.c:2599)
29  libsystem_pthread.dylib       	0x239c1ce5c start_wqthread + 8 (:-1)

Thread 0 name:
Thread 0:
0   libsystem_kernel.dylib        	0x00000001ffeb0138 __ulock_wait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c1fb88 _pthread_join + 444 (pthread_cancelable.c:290)
2   Flutter                       	0x00000001074eaab4 0x107488000 + 404148
3   Flutter                       	0x000000010749f40c 0x107488000 + 95244
4   Flutter                       	0x00000001078710e0 0x107488000 + 4100320
5   Flutter                       	0x0000000107499488 0x107488000 + 70792
6   CoreFoundation                	0x00000001c824a834 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28 (CFNotificationCenter.c:652)
7   CoreFoundation                	0x00000001c82e6fd4 ___CFXRegistrationPost_block_invoke + 52 (CFNotificationCenter.c:173)
8   CoreFoundation                	0x00000001c82ba1d0 _CFXRegistrationPost + 456 (CFNotificationCenter.c:199)
9   CoreFoundation                	0x00000001c82608ac _CFXNotificationPost + 728 (CFNotificationCenter.c:1147)
10  Foundation                    	0x00000001c9a33734 -[NSNotificationCenter postNotificationName:object:userInfo:] + 96 (NSNotification.m:560)
11  UIKitCore                     	0x00000001cb5f9de4 -[UIApplication _terminateWithStatus:] + 300 (UIApplication.m:6950)
12  UIKitCore                     	0x00000001cacd49d4 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 128 (_UISceneLifecycleMultiplexer.m:806)
13  UIKitCore                     	0x00000001caeca834 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 224 (_UISceneLifecycleMultiplexer.m:480)
14  UIKitCore                     	0x00000001cb5f6128 -[UIApplication workspaceShouldExit:withTransitionContext:] + 224 (UIApplication.m:3846)
15  FrontBoardServices            	0x00000001da50efec __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke_2 + 80 (FBSWorkspaceScenesClient.m:331)
16  FrontBoardServices            	0x00000001da4ca308 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 240 (FBSWorkspace.m:352)
17  FrontBoardServices            	0x00000001da50ef84 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 132 (FBSWorkspaceScenesClient.m:328)
18  libdispatch.dylib             	0x00000001c7f20a30 _dispatch_client_callout + 20 (object.m:560)
19  libdispatch.dylib             	0x00000001c7f244e0 _dispatch_block_invoke_direct + 264 (queue.c:501)
20  FrontBoardServices            	0x00000001da4cbc70 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48 (FBSSerialQueue.m:157)
21  FrontBoardServices            	0x00000001da4cb040 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 220 (FBSSerialQueue.m:181)
22  FrontBoardServices            	0x00000001da4cf700 -[FBSSerialQueue _performNextFromRunLoopSource] + 28 (FBSSerialQueue.m:194)
23  CoreFoundation                	0x00000001c82db414 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1972)
24  CoreFoundation                	0x00000001c82ec1a0 __CFRunLoopDoSource0 + 208 (CFRunLoop.c:2016)
25  CoreFoundation                	0x00000001c8225694 __CFRunLoopDoSources0 + 268 (CFRunLoop.c:2053)
26  CoreFoundation                	0x00000001c822b05c __CFRunLoopRun + 828 (CFRunLoop.c:2951)
27  CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
28  GraphicsServices              	0x00000001e43aa374 GSEventRunModal + 164 (GSEvent.c:2200)
29  UIKitCore                     	0x00000001cabb2b58 -[UIApplication _run] + 1100 (UIApplication.m:3511)
30  UIKitCore                     	0x00000001ca934090 UIApplicationMain + 364 (UIApplication.m:5064)
31  Runner                        	0x0000000102a9a5e0 main + 68 (AppDelegate.swift:11)
32  dyld                          	0x0000000104535da4 start + 520 (dyldMain.cpp:879)

Thread 1:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                	0x00000001c8226d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                	0x00000001c822b1bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   Foundation                    	0x00000001c9a31444 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 236 (NSRunLoop.m:373)
6   Foundation                    	0x00000001c9a72e0c -[NSRunLoop(NSRunLoop) runUntilDate:] + 92 (NSRunLoop.m:420)
7   UIKitCore                     	0x00000001cab2ccc4 -[UIEventFetcher threadMain] + 524 (UIEventFetcher.m:1167)
8   Foundation                    	0x00000001c9a8141c __NSThread__start__ + 808 (NSThread.m:972)
9   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
10  libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 4:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 5 name:
Thread 5:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                	0x00000001c8226d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                	0x00000001c822b1bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   Flutter                       	0x0000000107761f2c 0x107488000 + 2989868
6   Flutter                       	0x0000000107761a1c 0x107488000 + 2988572
7   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 6 name:
Thread 6:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                	0x00000001c8226d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                	0x00000001c822b1bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   Flutter                       	0x0000000107761f2c 0x107488000 + 2989868
6   Flutter                       	0x0000000107761a1c 0x107488000 + 2988572
7   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   IOKit                         	0x00000001d5575248 io_connect_method + 512 (:-1)
3   IOKit                         	0x00000001d55745b4 IOConnectCallMethod + 176 (IOKitLib.c:2270)
4   IOGPU                         	0x00000002292fab20 ioGPUResourceFinalize + 136 (IOGPUResourceRef.c:58)
5   CoreFoundation                	0x00000001c823402c _CFRelease + 232 (CFRuntime.c:2134)
6   IOGPU                         	0x00000002292fa7a0 -[IOGPUMetalResource dealloc] + 212 (IOGPUMetalResource.m:497)
7   IOGPU                         	0x00000002293011f0 -[IOGPUMetalResourcePool purgeWithLock] + 112 (IOGPUMetalResourcePool.m:105)
8   IOGPU                         	0x0000000229301290 -[IOGPUMetalResourcePool purge] + 48 (IOGPUMetalResourcePool.m:123)
9   IOGPU                         	0x00000002292fe0d8 -[IOGPUMetalDevice _purgeDevice] + 192 (IOGPUMetalDevice.m:476)
10  AGXMetalA14                   	0x000000023b4ee8b4 -[AGXA14FamilyDevice _purgeDevice] + 496 (agxa_device_objc.mm:665)
11  AGXMetalA14                   	0x000000023b4ee918 -[AGXA14FamilyDevice _decrementCommandQueueCount] + 52 (agxa_device_objc.mm:653)
12  Metal                         	0x00000001e2cd2734 -[_MTLCommandQueue dealloc] + 228 (MTLCommandQueue.m:320)
13  IOGPU                         	0x00000002292fe150 -[IOGPUMetalCommandQueue dealloc] + 84 (IOGPUMetalCommandQueue.m:80)
14  AGXMetalA14                   	0x000000023b215440 -[AGXA14FamilyCommandQueue dealloc] + 100 (agxa_command_queue_objc.mm:210)
15  Flutter                       	0x00000001076ec864 0x107488000 + 2508900
16  Flutter                       	0x00000001076ec8b0 0x107488000 + 2508976
17  Flutter                       	0x00000001076e634c 0x107488000 + 2483020
18  Flutter                       	0x0000000107641e40 0x107488000 + 1809984
19  Flutter                       	0x00000001076409c0 0x107488000 + 1804736
20  Flutter                       	0x000000010784b158 0x107488000 + 3944792
21  Flutter                       	0x000000010790c034 0x107488000 + 4735028
22  Flutter                       	0x00000001077609ec 0x107488000 + 2984428
23  Flutter                       	0x0000000107760aa0 0x107488000 + 2984608
24  Flutter                       	0x0000000107760890 0x107488000 + 2984080
25  Flutter                       	0x0000000107761a54 0x107488000 + 2988628
26  libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
27  libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 8 name:
Thread 8:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 9 name:
Thread 9:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 10 name:
Thread 10:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 11 name:
Thread 11:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 12 name:
Thread 12:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 13 name:
Thread 13:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c24298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   Flutter                       	0x00000001074d0534 0x107488000 + 296244
3   Flutter                       	0x000000010775c134 0x107488000 + 2965812
4   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 14 name:
Thread 14:
0   libsystem_kernel.dylib        	0x00000001ffeb0e18 kevent + 8 (:-1)
1   Flutter                       	0x000000010794bde8 0x107488000 + 4996584
2   Flutter                       	0x000000010797c0a0 0x107488000 + 5193888
3   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
4   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 15:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 16 name:
Thread 16:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c242c4 _pthread_cond_wait + 1280 (pthread_cond.c:640)
2   Flutter                       	0x0000000107ac12ac 0x107488000 + 6525612
3   Flutter                       	0x0000000107afedc8 0x107488000 + 6778312
4   Flutter                       	0x0000000107ac0c78 0x107488000 + 6524024
5   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
6   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 17 name:
Thread 17:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                	0x00000001c8226d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                	0x00000001c822b1bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   CFNetwork                     	0x00000001c8cbb1dc +[__CFN_CoreSchedulingSetRunnable _run:] + 472 (CoreSchedulingSet.mm:1372)
6   Foundation                    	0x00000001c9a8141c __NSThread__start__ + 808 (NSThread.m:972)
7   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 18:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   Instabug                      	0x0000000105eea89c exception_server_thread + 188
3   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
4   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 19 name:
Thread 19 Crashed:
0   libsystem_kernel.dylib        	0x00000001ffeb5b38 __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c233bc pthread_kill + 268 (pthread.c:1668)
2   libsystem_c.dylib             	0x00000001d33cb524 abort + 168 (abort.c:118)
3   Runner                        	0x00000001038aaf80 uncaught_exception_handler.cold.1 + 28 (PLCrashReporter.m:369)
4   Runner                        	0x0000000102ae9b90 uncaught_exception_handler + 44 (PLCrashReporter.m:366)
5   CoreFoundation                	0x00000001c833a570 __handleUncaughtException + 712 (NSException.m:271)
6   libobjc.A.dylib               	0x00000001e0fefc5c _objc_terminate() + 132 (objc-exception.mm:700)
7   libc++abi.dylib               	0x00000001e10f3f18 std::__terminate(void (*)()) + 20 (cxa_handlers.cpp:59)
8   libc++abi.dylib               	0x00000001e10f3eb4 std::terminate() + 64 (cxa_handlers.cpp:88)
9   libdispatch.dylib             	0x00000001c7f20a44 _dispatch_client_callout + 40 (object.m:563)
10  libdispatch.dylib             	0x00000001c7f2fc90 _dispatch_lane_barrier_sync_invoke_and_complete + 56 (queue.c:1028)
11  Datadog                       	0x0000000104dece40 closure #1 in RUMMonitor.process(command:) + 420 (RUMMonitor.swift:611)
12  Datadog                       	0x0000000104d1c568 closure #1 in DatadogCoreFeatureScope.eventWriteContext(bypassConsent:_:) + 144 (DatadogCore.swift:407)
13  Datadog                       	0x0000000104d18d00 closure #1 in DatadogContextProvider.read(block:) + 296 (DatadogContextProvider.swift:108)
14  Datadog                       	0x0000000104de86e0 thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
15  libdispatch.dylib             	0x00000001c7f1ee6c _dispatch_call_block_and_release + 32 (init.c:1517)
16  libdispatch.dylib             	0x00000001c7f20a30 _dispatch_client_callout + 20 (object.m:560)
17  libdispatch.dylib             	0x00000001c7f28124 _dispatch_lane_serial_drain + 668 (inline_internal.h:2622)
18  libdispatch.dylib             	0x00000001c7f28c80 _dispatch_lane_invoke + 392 (queue.c:3944)
19  libdispatch.dylib             	0x00000001c7f33500 _dispatch_workloop_worker_thread + 648 (queue.c:6732)
20  libsystem_pthread.dylib       	0x0000000239c1d0bc _pthread_wqthread + 288 (pthread.c:2599)
21  libsystem_pthread.dylib       	0x0000000239c1ce5c start_wqthread + 8 (:-1)

Thread 20:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 21:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 22 name:
Thread 22:
0   libsystem_malloc.dylib        	0x00000001da570274 tiny_malloc_from_free_list + 328 (magazine_tiny.c:2075)
1   libsystem_malloc.dylib        	0x00000001da570c84 tiny_malloc_should_clear + 220 (magazine_tiny.c:2260)
2   libsystem_malloc.dylib        	0x00000001da573e24 szone_malloc_should_clear + 80 (magazine_malloc.c:244)
3   libsystem_malloc.dylib        	0x00000001da573024 _malloc_zone_malloc + 156 (malloc.c:1608)
4   libboringssl.dylib            	0x00000001e28b83bc OPENSSL_malloc + 52 (mem.c:157)
5   libboringssl.dylib            	0x00000001e2846250 bssl::SSL3_STATE* bssl::New<bssl::SSL3_STATE>() + 20 (internal.h:195)
6   libboringssl.dylib            	0x00000001e2845fa4 bssl::tls_new(ssl_st*) + 28 (internal.h:227)
7   libboringssl.dylib            	0x00000001e2884b34 SSL_new + 968 (ssl_lib.cc:679)
8   libboringssl.dylib            	0x00000001e2837cf8 boringssl_session_create + 88 (boringssl_session.m:471)
9   libboringssl.dylib            	0x00000001e28424dc nw_protocol_boringssl_connected + 592 (protocol_boringssl.m:411)
10  libusrtcp.dylib               	0x00000001cc3c58b8 nw_protocol_tcp_wake_connected + 432 (protocol_tcp.c:364)
11  libusrtcp.dylib               	0x00000001cc3fa958 tcp_input_available + 804 (user_north.c:40)
12  libusrtcp.dylib               	0x00000001cc3c7374 nw_protocol_tcp_input_available + 288 (protocol_tcp.c:1898)
13  libnetwork.dylib              	0x00000001c9419698 nw_channel_add_input_frames + 9236 (channel.c:1362)
14  libnetwork.dylib              	0x00000001c9417198 nw_channel_update_input_source + 328 (channel.c:1462)
15  libnetwork.dylib              	0x00000001c94163a4 __nw_channel_create_block_invoke.29 + 72 (channel.c:2387)
16  libdispatch.dylib             	0x00000001c7f20a30 _dispatch_client_callout + 20 (object.m:560)
17  libdispatch.dylib             	0x00000001c7f23eec _dispatch_continuation_pop + 500 (inline_internal.h:2622)
18  libdispatch.dylib             	0x00000001c7f3713c _dispatch_source_invoke + 1596 (source.c:596)
19  libdispatch.dylib             	0x00000001c7f29f80 _dispatch_workloop_invoke + 1784 (inline_internal.h:0)
20  libdispatch.dylib             	0x00000001c7f33500 _dispatch_workloop_worker_thread + 648 (queue.c:6732)
21  libsystem_pthread.dylib       	0x0000000239c1d0bc _pthread_wqthread + 288 (pthread.c:2599)
22  libsystem_pthread.dylib       	0x0000000239c1ce5c start_wqthread + 8 (:-1)

Thread 23:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)

Thread 24 name:
Thread 24:
0   libsystem_kernel.dylib        	0x00000001ffeb0164 select$DARWIN_EXTSN + 8 (:-1)
1   CoreFoundation                	0x00000001c82cab68 __CFSocketManager + 644 (CFSocket.c:1343)
2   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
3   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 25 name:
Thread 25:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c242c4 _pthread_cond_wait + 1280 (pthread_cond.c:640)
2   Flutter                       	0x0000000107ac12ac 0x107488000 + 6525612
3   Flutter                       	0x0000000107afedc8 0x107488000 + 6778312
4   Flutter                       	0x0000000107ac0c78 0x107488000 + 6524024
5   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
6   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 26 name:
Thread 26:
0   libsystem_kernel.dylib        	0x00000001ffeaf4a0 mach_msg_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001ffeafae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                	0x00000001c8226d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                	0x00000001c822b1bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                	0x00000001c823ebc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   CFNetwork                     	0x00000001c8cbb1dc +[__CFN_CoreSchedulingSetRunnable _run:] + 472 (CoreSchedulingSet.mm:1372)
6   Foundation                    	0x00000001c9a8141c __NSThread__start__ + 808 (NSThread.m:972)
7   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 27 name:
Thread 27:
0   libsystem_kernel.dylib        	0x00000001ffeaff24 __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x0000000239c242c4 _pthread_cond_wait + 1280 (pthread_cond.c:640)
2   Flutter                       	0x0000000107ac12ac 0x107488000 + 6525612
3   Flutter                       	0x0000000107afedc8 0x107488000 + 6778312
4   Flutter                       	0x0000000107ac0c78 0x107488000 + 6524024
5   libsystem_pthread.dylib       	0x0000000239c1d9ac _pthread_start + 148 (pthread.c:891)
6   libsystem_pthread.dylib       	0x0000000239c1ce68 thread_start + 8 (:-1)

Thread 28:
0   libsystem_pthread.dylib       	0x0000000239c1ce54 start_wqthread + 0 (:-1)


Thread 19 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000010   x5: 0x000000016152fc20   x6: 0x0000000000000000   x7: 0x0000000000000900
    x8: 0xc1ada3234d6cdb1c   x9: 0xc1ada3222365ab1c  x10: 0x0300000221a70ea1  x11: 0x0400000221a70ea1
   x12: 0x000000000000005d  x13: 0x00000001628215c0  x14: 0x0000000000000004  x15: 0x0000000221a7bb10
   x16: 0x0000000000000148  x17: 0x000000016e097000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x000000000000bf03  x21: 0x000000016e0970e0  x22: 0x00000001615280e0  x23: 0x0000000222a901b8
   x24: 0x0000000000000017  x25: 0x00000002126f59b0  x26: 0x0000000213006948  x27: 0x00000001c85da4b3
   x28: 0x000000021ec619f8   fp: 0x000000016e0960d0   lr: 0x0000000239c233bc
    sp: 0x000000016e0960b0   pc: 0x00000001ffeb5b38 cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
0x102a6c000 - 0x103cc7fff Runner arm64  <25f135e2754637f28e1f6f3baaf3b871> /private/var/containers/Bundle/Application/71687089-D449-4B79-A09D-EB34A6C6C667/Runner.app/Runner
0x10451c000 - 0x104573fff dyld arm64e  <66e1fb2668f8379ba052eb8b8291b5e1> /usr/lib/dyld
0x104cbc000 - 0x104ea7fff Datadog arm64  <fb55f315fb943a37b0fa6ffc471229ce> /private/var/containers/Bundle/Application/71687089-D449-4B79-A09D-EB34A6C6C667/Runner.app/Frameworks/Datadog.framework/Datadog
0x105bb4000 - 0x105fdbfff Instabug arm64  <599d764ae5e93c53a9f69b270e206e82> /private/var/containers/Bundle/Application/71687089-D449-4B79-A09D-EB34A6C6C667/Runner.app/Frameworks/Instabug.framework/Instabug
0x107488000 - 0x107c9bfff Flutter arm64  <4c4c44ce55553144a17ad3d6a31a0c5c> /private/var/containers/Bundle/Application/71687089-D449-4B79-A09D-EB34A6C6C667/Runner.app/Frameworks/Flutter.framework/Flutter
0x1c7f1d000 - 0x1c7f62fff libdispatch.dylib arm64e  <e3ea4f635d11342aaf199f58dbc8e259> /usr/lib/system/libdispatch.dylib
0x1c8220000 - 0x1c8675fff CoreFoundation arm64e  <6b22dd8135853be6bc77ba19810ec0f2> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x1c8a43000 - 0x1c8f04fff CFNetwork arm64e  <106410ffdd4f3527ad531980fe8b0ddd> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x1c8f05000 - 0x1c9999fff libnetwork.dylib arm64e  <0dbe8d5848823c66b0310239c020ee4c> /usr/lib/libnetwork.dylib
0x1c9a18000 - 0x1c9d22fff Foundation arm64e  <ee1abaf23d7137fb906715aa79528619> /System/Library/Frameworks/Foundation.framework/Foundation
0x1ca69e000 - 0x1cbf3bfff UIKitCore arm64e  <137a95aada6d332cbc01e13bb9b6e317> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x1cc3a9000 - 0x1cc411fff libusrtcp.dylib arm64e  <4968ed2b776c312b874f80fc60378bb7> /usr/lib/libusrtcp.dylib
0x1d33ab000 - 0x1d342afff libsystem_c.dylib arm64e  <86a1a24ace353769ba6960f28353281e> /usr/lib/system/libsystem_c.dylib
0x1d5571000 - 0x1d5628fff IOKit arm64e  <7987edd1e89e34b6aeb426baba611255> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x1da4c0000 - 0x1da56cfff FrontBoardServices arm64e  <a314664d1369370ab222a180669b4f11> /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices
0x1da56d000 - 0x1da58efff libsystem_malloc.dylib arm64e  <2a5621a9337e32c3a42966d35f417b14> /usr/lib/system/libsystem_malloc.dylib
0x1e0fd3000 - 0x1e100ffff libobjc.A.dylib arm64e  <f6368be9109b3405b282624040529afd> /usr/lib/libobjc.A.dylib
0x1e10e3000 - 0x1e10fafff libc++abi.dylib arm64e  <d00067b20a7a3cb9b4d407b160da261b> /usr/lib/libc++abi.dylib
0x1e2832000 - 0x1e28f3fff libboringssl.dylib arm64e  <d912c7bbbb13308cab0130c67ab254c9> /usr/lib/libboringssl.dylib
0x1e2cb5000 - 0x1e2de9fff Metal arm64e  <9c456c50c0d8333ab79d5209a3bd3326> /System/Library/Frameworks/Metal.framework/Metal
0x1e43a9000 - 0x1e43b1fff GraphicsServices arm64e  <a094e7b51d4037c5902756d86988ec4b> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1ffeae000 - 0x1ffee3fff libsystem_kernel.dylib arm64e  <1fb39303587b320eaeb8e51a54c8a4a9> /usr/lib/system/libsystem_kernel.dylib
0x2292f5000 - 0x22931ffff IOGPU arm64e  <3a2b6547415035f985e9c1a76427f7e5> /System/Library/PrivateFrameworks/IOGPU.framework/IOGPU
0x239c1c000 - 0x239c27fff libsystem_pthread.dylib arm64e  <adc41700002e3a2bb4a1eb5fbf575770> /usr/lib/system/libsystem_pthread.dylib
0x23b022000 - 0x23b552fff AGXMetalA14 arm64e  <dfd25946ebf73369b23f994222bce8c4> /System/Library/Extensions/AGXMetalA14.bundle/AGXMetalA14

EOF

Steps to reproduce the issue:

n/a

Describe what you expected:

Additional context

  • Dart/Flutter version: 3.7.3
  • Android/iOS OS version: Multiple
  • Device Model: iOS
  • Datadog SDK version: 1.2.1
  • Versions of any other relevant dependencies: datadog_tracking_http_client ^1.2.0

Closing HTTP Client Results in Exception

Describe what happened

When invoking close() on an HTTP client the following exception is thrown:

#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      _DatadogTrackingHttpResponse.listen.<anonymous closure> (package:datadog_tracking_http_client/src/tracking_http_client.dart:482:18)
#3      _HttpClientResponse.listen.<anonymous closure> (dart:_http/http_impl.dart:707:16)
#4      _RootZone.runBinaryGuarded (dart:async/zone.dart:1605:10)
#5      _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:358:15)
#6      _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:376:7)
#7      _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:280:7)
#8      _ForwardingStreamSubscription._addError (dart:async/stream_pipe.dart:128:11)
#9      _addErrorWithReplacement (dart:async/stream_pipe.dart:176:8)
#10     _HandleErrorStream._handleError (dart:async/stream_pipe.dart:274:11)
#11     _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:157:13)
#12     _RootZone.runBinaryGuarded (dart:async/zone.dart:1605:10)
#13     _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:358:15)
#14     _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:376:7)
#15     _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:280:7)
#16     _SyncStreamControllerDispatch._sendError (dart:async/stream_controller.dart:778:19)
#17     _StreamController._addError (dart:async/stream_controller.dart:656:7)
#18     _StreamController.addError (dart:async/stream_controller.dart:610:5)
#19     _HttpParser._reportBodyError (dart:_http/http_parser.dart:1176:22)
#20     _HttpParser._onDone (dart:_http/http_parser.dart:885:9)
#21     _RootZone.runGuarded (dart:async/zone.dart:1581:10)
#22     _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:392:13)
#23     _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:402:7)
#24     _BufferingStreamSubscription._close (dart:async/stream_impl.dart:291:7)
#25     _SyncStreamControllerDispatch._sendDone (dart:async/stream_controller.dart:782:19)
#26     _StreamController._closeUnchecked (dart:async/stream_controller.dart:637:7)
#27     _StreamController.close (dart:async/stream_controller.dart:630:5)
#28     _Socket._onDone (dart:io-patch/socket_patch.dart:2370:19)
#29     _RootZone.runGuarded (dart:async/zone.dart:1581:10)
#30     _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:392:13)
#31     _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:402:7)
#32     _BufferingStreamSubscription._close (dart:async/stream_impl.dart:291:7)
#33     _SyncStreamControllerDispatch._sendDone (dart:async/stream_controller.dart:782:19)
#34     _StreamController._closeUnchecked (dart:async/stream_controller.dart:637:7)
#35     _StreamController.close (dart:async/stream_controller.dart:630:5)
#36     _RawSecureSocket._close (dart:io/secure_socket.dart:725:17)
#37     _RawSecureSocket.shutdown (dart:io/secure_socket.dart:747:9)
#38     _RawSecureSocket.close (dart:io/secure_socket.dart:703:5)
#39     _Socket._closeRawSocket (dart:io-patch/socket_patch.dart:2327:9)
#40     _Socket.destroy (dart:io-patch/socket_patch.dart:2253:5)
#41     _HttpClientConnection.destroyFromExternal (dart:_http/http_impl.dart:2251:13)
#42     _ConnectionTarget.close (dart:_http/http_impl.dart:2419:11)
#43     _HttpClient._closeConnections (dart:_http/http_impl.dart:2878:24)
#44     _HttpClient.close (dart:_http/http_impl.dart:2639:5)
#45     DatadogTrackingHttpClient.close (package:datadog_tracking_http_client/src/tracking_http_client.dart:206:17)
#46     IOClient.close (package:http/src/io_client.dart:101:15)
#47     EventSourceRepositoryImpl.disconnect (package:CoinMe/data/repositories/event_source_repository_impl.dart:101:28)
#48     Logout.invoke (package:CoinMe/common/usecases/logout.dart:17:34)
<asynchronous suspension>
#49     CommandUseCase.call (package:CoinMe/common/usecases/contracts/command_use_case.dart:9:29)
<asynchronous suspension>
#50     AccountProvider.logOut (package:CoinMe/features/account/account_provider.dart:135:34)
<asynchronous suspension>
#51     AccountScreenState._onLogoutTapped (package:CoinMe/features/account/account_screen.dart:39:7)
<asynchronous suspension>
#52     AccountScreenState.build.<anonymous closure> (package:CoinMe/features/account/account_screen.dart:172:36)
<asynchronous suspension>

Steps to reproduce the issue:

Install the datadog_tracking_http_client version 1.2.0 and enable HTTP tracking on the DdSdkConfiguration by invoking enableHttpTracking() on the configuration. Create an HTTP client instance and invoke close() on the client after the connection has been established. In my use case, the HTTP client being closed is the client being used in package featurehub_sse_client and is closed on logout to stop receiving server-sent-events.

Describe what you expected:

I would expect an exception not to be thrown.

Additional context

  • Dart/Flutter version: Dart 2.19.2/Flutter 3.7.3
  • Android/iOS OS version: Android API 31
  • Device Model: Android Emulator
  • Datadog SDK version: datadog_flutter_plugin version 1.2.2 and datadog_tracking_http_client version 1.2.0
  • Versions of any other relevant dependencies: n/a

Ability to start a new RUM session within a kiosk app

When developing kiosk apps, where a single device is used, often anonymously, by many people over time, it would be useful to be able to manually force the start of a new RUM session, even though the app itself is not restarting.

CocoaPods referencing incorrect DatadogSDKCrashReporting version (DataDog_Flutter_Plugin 1.1.1)

Describe what happened
DataDog Flutter Plugin fails build for iOS version of Flutter app. The DatadogSDK seems to be trying to use an incompatible or missing version of the DatadogSDKCrashReporting dependency (see below image). Podfile references DatadogSDKCrashReporting 1.12.0 but the Datadog Flutter Plugin is trying to use version 1.13z.0 (can't find reference to the z in version number on GitHub. Typo?). Android version of app works fine. Any assistance would be appreciated!
image

Steps to reproduce the issue:
Try to Build iOS version of flutter app using DataDog Flutter Plugin 1.1.1 (see error stack trace below).
Screen Shot 2022-12-08 at 10 21 13 AM

Describe what you expected:
I expected Podfile to reference DatadogSDKCrashReporting 1.13.0 since it is the latest version in this repo. 1.13z.0 may be a typo.

Additional context

  • Dart/Flutter version: Flutter version 3.3.9
  • Android/iOS OS version: iOS 16
  • Device Model: iPhone 14 Pro Max (simulator).
  • Datadog SDK version: 1.12.0
  • Versions of any other relevant dependencies: DataDog_Fluttter_Plugin 1.1.1

DEBUG-level logs are not being sent to DataDog

Thanks for taking the time for reporting an issue!

Describe what happened
debug log messages are not being sent through to DataDog

Steps to reproduce the issue:

  1. Initialize SDK
  2. Call the debug method:
DatadogSdk.instance.logs?.debug("A debug message.")
  1. Observe that the log is not coming through to DataDog:

image

Describe what you expected:
debug-level logs should be sent to datadog

Additional context

  • Dart/Flutter version: 2.17.6/3.0.5
  • Android/iOS OS version:
  • Device Model:
  • Datadog SDK version: 1.0.0-rc3
  • Versions of any other relevant dependencies:

`Client Token documentation` hyperlink in `datadog_flutter_plugin`'s README directs to the wrong page

Thanks for taking the time for reporting an issue!

Describe what happened
The link to Client Token documentation in README of datadog_flutter_plugin links to https://github.com/DataDog/dd-sdk-flutter/blob/main/CONTRIBUTING.md instead of the actual documentation.

Steps to reproduce the issue:

  1. Go to https://github.com/DataDog/dd-sdk-flutter/tree/develop/packages/datadog_flutter_plugin#specify-application-details-in-the-ui
  2. Click on the hyperlink with the text: Client Token documentation

Describe what you expected:
I'm not sure which is the correct page this link should direct, but I suspect that this is the intended documentation: https://docs.datadoghq.com/account_management/api-app-keys/#client-tokens

Additional context

  • git branch: develop
  • Dart/Flutter version: n/a
  • Android/iOS OS version: n/a
  • Device Model: n/a
  • Datadog SDK version: n/a
  • Versions of any other relevant dependencies: n/a

Version doesn't working on Flutter web

Hi, I have no feedback on the version of the application.

Steps to reproduce the issue:

I use package info plus to get the version of pubspec.yaml. (I also tried with a static version with a String type '1.0.0').
The information doesn't come up on the platform side.

Additional context

Dart/Flutter version: Flutter 3.7.0, Dart 2.19.0
Flutter web
Browser: All browser
Datadog SDK version: 1.2.1

Thanks

Desktop support

I think you know what I mean. ๐Ÿ˜Ž

The great thing about Flutter is that it's multiplatform.

Documentation inconsistency: DdRum.setUserInfo not supported

Describe what happened
This ticket may straddle the line between a feature request and a bug report. We are exploring adding Datadog RUM to our Flutter application and found an error in the documentation. According to the documentation, the way to set user info is through DdRum.setUserInfo example:

DatadogSdk.instance.setUserInfo("1234", "John Doe", "[email protected]");

However, this method is not currently implemented in the Flutter library. See DdRum class.

How should user info be added to a session? Would we need to set custom attributes using DdRum.addAttribute?

Support anonymization data before send

Are you requesting automatic instrumentation for a framework or library? Please describe.

Framework or library name : datadog_flutter_plugin
Library type: monitoring
Library version: 1.1.1
Is your feature request related to a problem? Please describe.

Hi,

As part of a professional project dealing with sensitive data, I would like to be able to anonymize personal data before sending it to the Datadog platform please.

This function is already available for Javascript.

documentation : https://docs.datadoghq.com/real_user_monitoring/browser/modifying_data_and_context/?tab=npm

Thanks

setUserInfo should not overwrite previous usage

Hi there. I'd like to discuss if this is the expected behavior.

Describe what happened
When you use "setUserInfo" method in order to set User RUM information more than once, only what you have set in the latest usage appear in RUM logs. It seems to clear all user information you have set even if you are setting only additional info.

Steps to reproduce the issue:
Call "setUserInfo" with only id, name and email.
Afterward, call "setUserinfo" with only "extraInfo" map.
In RUM log, you only see the extraInfo propertities you have set.

Describe what you expected:
In my opinion, it should compose userInfo instead of overwriting it. In RUM logs, I should see all the basic user info (id, name and email) added by the extraInfo I have set separeteley.

Additional context

  • Datadog SDK version: 1.0.1

Inconsistency in RUM error tracking between iOS and Android

It appears as though on Android only, if the view prior to the current unnamed view had a name (because perhaps the current route's name property is null) then an error reported in the current unnamed view will not surface in RUM's error tracking tool. On iOS, however, the last known view name is used to show the error. I'm uncertain as to what the correct behavior should be, but there is an inconsistency in how the two platforms behave.

Steps to reproduce the issue:

  1. In a MaterialApp which has been instrumented with the Datadog Flutter SDK with RUM enabled, define two routes, the first with a name, and the second without a name.
  2. In the unnamed route, which should only be accessible from the named route, throw an Exception, say in a build method of a widget.
  3. Navigate from the named route to the unnamed route to trigger the Exception.

Describe what you expected:
Both Android and iOS behave the same way for reporting the error to RUM.

Additional context

  • Dart/Flutter version: Flutter 3.3.0, Dart 2.18.0
  • Android/iOS OS version: Android SDK version 30.0.3, Xcode 13.2.1
  • Device Model: Tested on iPhone 8 and Samsung Galaxy S10
  • Datadog SDK version: 1.1.1

WidgetBinding analyzer noise for Flutter >=3

Change introduced in this commit:
a6a6630

results in noisy analyzer when running from CLI:

./../../../.pub-cache/hosted/pub.dartlang.org/datadog_flutter_plugin-1.0.0-rc.2/lib/src/rum/rum_long_task_observer.dart:44:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../Utils/flutterSdk/flutterStable/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addObserver(this);

This makes tests output hard to read.

Duplicate errors on console

Why is presentError invoked explicitly? It should already be called by

Because of this I am seeing duplicate exceptions printed to my console during development. If I remove the call to presentError I no longer see duplicates.

Wrong view name on navigation for user action

Describe what happened
When registering a user action and immediately opening a new route the event is logged for the new route instead of the one that triggered the action.

Steps to reproduce the issue:

  1. Open route A
  2. Call addUserAction and navigates to route B.
  3. Route B is opened.
  4. In the console the event is registered on Route B

Describe what you expected:

The event should be registered on route A

Additional context

  • Dart/Flutter version: 3.0.1
  • Android/iOS OS version: any
  • Device Model: any
  • Datadog SDK version: 1.0.0-beta.3
  • Versions of any other relevant dependencies:

Allow optional overriding of named route

Are you requesting automatic instrumentation for a framework or library? Please describe.
No

Is your feature request related to a problem? Please describe.
My app is set up in such a way that most screens are accessed on the "home" route ("/"). Because of this, even when using DatadogRouteAwareMixin and overriding RumViewInfo I can't get any actual screen names to appear. This makes it harder to get useful data.

Describe the solution you'd like
Given that I'm overriding RumViewInfo it seems reasonable to assume I want to see the name I'm providing. Would it be possible to allow, possibly through an additional override, this name to be used instead of the named route name?

Describe alternatives you've considered
I have considered re-working the app to use routes everywhere, but this is a pretty big change and would prevent us from getting use from RUM for a while.

Additional context
Add any other context or screenshots about the feature request here.

Add the option to send logs with other log status levels

Is your feature request related to a problem? Please describe.
As far as I have found, the log status levels offered by this plugin are restricted to ['debug', 'info', 'warn', 'error']. However, in the documentation of log configuration (https://docs.datadoghq.com/logs/log_configuration/processors/?tab=ui#log-status-remapper), it shows that datadog allows for more log status levels (0-7 if is an integer or other levels it it is a string).

Describe the solution you'd like
I think adding more method calls allowing to send logs with other levels (alert, critical, etc.) or, preferably, a method that can be customized with any log status level would be a perfect solution to add more flexibility to the users of the plugin and allow to send logs with status level other than the 4 predefined by the plugin.

Additional context
For example, the javascript library @datadog/datadog-api-client to submit logs through the API allows to submit a log with any log status level using the additional properties

can collect request headers and response

Data dog can collect request headers and response๏ผŸ๏ผŒI use flutter sdk and I also want to see the request headers and response,but not find them in the rum or apm

Question: Correct way to record outcome for analysis

Sometimes we want to record outcomes to Datadog in our app to help inform future design choices. For example, we have a search capability and we'd like to know how often users find no match, a single match or multiple matches.

What is the recommended way to record such outcomes? At the moment we are using a custom action as that seems to report on than logging.

Not collecting data for Android, but works on iOS

Describe what happened
I configured datadog rum for my application, but it's only working for iOS. I couldn't identify any errors, in the debug console there is a info that the SDK has been initialized.

Steps to reproduce the issue:

  • follow setup instructions
  • after adding the plugin, I had to add the following configuration in the build.gradle file:
  • run app on ios and android emulator
  • run app on physical device ios and android
  • only ios devices appear on the dashboard
// android/app/build.gradle

configurations {
    all {
        exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    }
}

Captura de Tela 2022-10-10 aฬ€s 09 27 49

Describe what you expected:

  • collect data for both ios and android

Additional context

  • Dart/Flutter version:
    • Flutter v3.3
  • Android/iOS OS version:
    • Tested on android api v30, v31 and v32
  • Device Model:
    • Android Emulator, Samsung S20FE, Motorola One
  • Datadog SDK version:
    • datadog_flutter_plugin:1.0.1
  • Versions of any other relevant dependencies:
    • firebase_crashlytics:2.8.13, firebase_crashlytics_platform_interface:3.2.19

After update can no longer build to iOS Simulator (Intel Mac)

Using latest from pub.dev, I am no longer able to launch my app on Simulator. I am getting the following error, I know there was another ticket that was for M1 mac but mine is on Intel.

I do have the line in my podfile to exclude arm64 because another library needs it to run.

Flutter SDK 3.3.0
datadog_flutter_plugin-1.0.0-rc.2

    import Datadog
           ^
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order

    Result bundle written to path:
    	/var/folders/ly/jm6ykbqn1m9dy924kw9t7p640000gq/T/flutter_tools.asSNrm/flutter_ios_build_temp_dirF39kdX/temporary_xcresult_bundle


Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code

Swift Compiler Error (Xcode): Could not find module 'Datadog' for target 'arm64-apple-ios-simulator'; found: x86_64-apple-ios-simulator, at: /Users/bhawkins/Flutter Apps/core-flutter/build/ios/Debug-dev-iphonesimulator/DatadogSDK/Datadog.framework/Modules/Datadog.swiftmodule
/Users/bhawkins/FlutterSDK/flutter/.pub-cache/hosted/pub.dartlang.org/datadog_flutter_plugin-1.0.0-rc.2/ios/Classes/DatadogFlutterModels.swift:5:7

Could not build the application for the simulator.
Error launching application on iPhone SE (3rd generation).

Using different US site location on DdSdkConfiguration causes undescriptive error

Creating a DdSdkConfiguration and setting the site to DatadogSite.us1 while your account is in DatadogSite.us5. The SDK fails with this error:

Batch 792f844c-d9ee-40eb-b2b2-ef5ef7f53bd6 [2519 bytes] (RumOkHttpUploaderV2) failed because of a processing error or invalid data; the batch was dropped.

Changing it to us5 fixes it and setting it back to us1 reproduces the error.

Steps to reproduce the issue:
Create new flutter project with the wizard from android studio and add tracking to the button:
DatadogSdk.instance.rum!.addUserAction(RumUserActionType.tap, "foo");

Expectation
To work for all US sites since it is not mentioned in the docs that this setting must correspond.

Additional context

  • Dart/Flutter version: 2.10.5
  • Android/iOS OS version: API29
  • Device Model: emulator
  • Datadog SDK version: 1.0.0-beta.1

Not Seeing Stack Traces Logged with addErrorInfo

Not seeing stack traces logged along with error under Trace tab within DataDog when invoking DatadogSdk.instance.rum?.addErrorInfo.

void _onGuardedZoneError(Object error, StackTrace stackTrace) {
  // Report crash to Instabug
  CrashReporting.reportCrash(error, stackTrace);

  // Report crash to DataDog
  DatadogSdk.instance.rum?.addErrorInfo(
    error.toString(),
    RumErrorSource.source,
    stackTrace: stackTrace,
  );
}

image

Steps to reproduce the issue:

See above method definition.

Describe what you expected:

Expected stack-trace to appear on Trace tab of logged error.

Additional context

  • Dart/Flutter version: 3.3.6
  • Android/iOS OS version: Android
  • Device Model: All
  • Datadog SDK version: 1.0.1
  • Versions of any other relevant dependencies: n/a

Document endpoints

It would be useful for the package documentation to be updated to include the Datadog ports and endpoints that an app will send requests to.

This is particularly useful for Flutter apps that will be run on a locked-down enterprise network, where endpoints are explicitly added to an allow list.

Support Datadog Distributed Tracing with gRPC

I am trying to add tracing manually, following the approach used in DatadogTrackingHttpOverrides.

I start a trace:

final tracingSpan = tracer.startSpan(
          'grpc.client',
          resourceName: method.path,
          tags: {
            'grpc.path': method.path,
          },
        );

After the GRPC call finished I finish the span:

tracingSpan.finish();

But I don't see any of the events showing up in the UI:
Screen Shot 2022-04-07 at 1 48 33 PM

I'm using version 1.0.0-alpha.1

Build Failure: ignore_sr_snapshots.gradle' as it does not exist.

Describe what happened
Unable to build using latest version 1.2.0. Receiving the following error:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/jt/.pub-cache/hosted/pub.dev/datadog_flutter_plugin-1.2.0/android/build.gradle' line: 70

* What went wrong:
A problem occurred evaluating project ':datadog_flutter_plugin'.
> Could not read script '/Users/jt/.pub-cache/hosted/ignore_sr_snapshots.gradle' as it does not exist.

Steps to reproduce the issue:

Building project after upgrading to 1.2.0.

Describe what you expected:

The project to build successfully.

Additional context

  • Dart/Flutter version: 3.7
  • Android/iOS OS version: Android API 31
  • Device Model: Emulator
  • Datadog SDK version: 1.2.0
  • Versions of any other relevant dependencies: n/a

Clarification: Differential from datadog_flutter

Hi there Datadog! great to see there is now an 'official' library - as a user of the datadog community implementation package, could someone please describe the practical differences between this package and that one? Is it worth switching right now?

Additionally, are there are any regressions at the moment between that library and this one? And, what is on the roadmap for this particular package? I haven't seen any package updates in... 34 days now.

Crash on iOS

Seeing crashes reported from the DataDog Flutter plugin on iOS.

Include any error message or stack trace if available.

We are seeing the following stack-trace in production. Xcode is reporting this crash has occurred on 30 devices. Looking at our Instabug reports it appears the majority of occurences have occured while the application was backgrounded (144 backgrounded; 9 foregrounded).

Incident Identifier: EB3CA146-E3CE-4B0E-A7F7-67562EAFB3BB
Hardware Model:      iPhone14,3
Process:             Runner [909]
Path:                /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Runner
Identifier:          com.foo.bar
Version:             2.0.2 (3889)
AppStoreTools:       14B44
AppVariant:          1:iPhone14,3:15
Code Type:           ARM-64 (Native)
Role:                Non UI
Parent Process:      launchd [1]
Coalition:           com.foo.bar [711]

Date/Time:           2022-11-03 21:37:03.9209 -0700
Launch Time:         2022-11-02 19:08:04.8568 -0700
OS Version:          iPhone OS 16.0 (20A362)
Release Type:        User
Baseband Version:    2.09.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  18

Last Exception Backtrace:
0   CoreFoundation                	0x18b062248 __exceptionPreprocess + 164 (NSException.m:202)
1   libobjc.A.dylib               	0x184427a68 objc_exception_throw + 60 (objc-exception.mm:356)
2   Foundation                    	0x1859e681c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 188 (NSException.m:242)
3   Flutter                       	0x10842afe0 -[FlutterEngine sendOnChannel:message:binaryReply:] + 776
4   Runner                        	0x1056bee28 closure #1 in SwiftDatadogSdkPlugin.handle(_:result:) + 88 (SwiftDatadogSdkPlugin.swift:54)
5   Runner                        	0x1056bee28 partial apply for closure #1 in SwiftDatadogSdkPlugin.handle(_:result:) + 116 (<compiler-generated>:0)
6   Datadog                       	0x106300f40 InternalLogger.print(message:error:emoji:) + 16 (InternalLogger.swift:54)
7   Datadog                       	0x106300f40 InternalLogger.log(_:message:error:) + 16 (InternalLogger.swift:42)
8   Datadog                       	0x106300f40 protocol witness for CoreLogger.log(_:message:error:) in conformance InternalLogger + 16 (<compiler-generated>:37)
9   Datadog                       	0x106300f40 specialized CoreLogger.debug(_:error:) + 16 (CoreLogger.swift:81)
10  Datadog                       	0x106300f40 closure #1 in DataUploadWorker.init(queue:fileReader:dataUploader:uploadConditions:delay:featureName:) + 2680 (DataUploadWorker.swift:85)
11  Datadog                       	0x1063ae6b8 thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
12  libdispatch.dylib             	0x1924ed114 _dispatch_block_async_invoke2 + 148 (queue.c:555)
13  libdispatch.dylib             	0x1924ddfdc _dispatch_client_callout + 20 (object.m:560)
14  libdispatch.dylib             	0x1924e146c _dispatch_continuation_pop + 504 (inline_internal.h:2632)
15  libdispatch.dylib             	0x1924f4a58 _dispatch_source_invoke + 1588 (source.c:596)
16  libdispatch.dylib             	0x1924e556c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
17  libdispatch.dylib             	0x1924e61e0 _dispatch_lane_invoke + 384 (queue.c:3940)
18  libdispatch.dylib             	0x1924f0e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
19  libsystem_pthread.dylib       	0x1d7980df8 _pthread_wqthread + 288 (pthread.c:2618)
20  libsystem_pthread.dylib       	0x1d7980b98 start_wqthread + 8 (:-1)

Thread 0 name:
Thread 0:
0   CoreFoundation                	0x000000018b0d6cdc _CFRelease + 248 (CFRuntime.c:2088)
1   Flutter                       	0x000000010845f3c8 flutter::IOSContextMetalSkia::~IOSContextMetalSkia() + 40
2   Flutter                       	0x000000010845f250 flutter::IOSContextMetalSkia::~IOSContextMetalSkia() + 12 (:-1)
3   Flutter                       	0x000000010842cbe8 std::__1::shared_ptr<flutter::IOSContext>::~shared_ptr() + 64 (:-1)
4   Flutter                       	0x000000010845fba0 flutter::IOSSurfaceMetalSkia::~IOSSurfaceMetalSkia() + 64
5   Flutter                       	0x000000010845e434 flutter::PlatformViewIOS::~PlatformViewIOS() + 240 (:-1)
6   Flutter                       	0x000000010845d00c flutter::PlatformViewIOS::~PlatformViewIOS() + 12
7   Flutter                       	0x00000001087f2a94 std::__1::__function::__func<fml::internal::CopyableLambda<flutter::Shell::~Shell()::$_6>, std::__1::allocator<fml::internal::CopyableLambda<flutter::Shell::~Shell()::$_6> >, void ()>::operator()() + 40 (:-1)
8   Flutter                       	0x00000001087f23ec flutter::Shell::~Shell() + 1592
9   Flutter                       	0x000000010842c858 std::__1::unique_ptr<flutter::Shell, std::__1::default_delete<flutter::Shell> >::reset(flutter::Shell*) + 28 (:-1)
10  Flutter                       	0x00000001084283c4 -[FlutterEngine destroyContext] + 60 (:-1)
11  CoreFoundation                	0x000000018b08f7c4 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148 (CFNotificationCenter.c:661)
12  CoreFoundation                	0x000000018b13675c ___CFXRegistrationPost_block_invoke + 88 (CFNotificationCenter.c:175)
13  CoreFoundation                	0x000000018b119a34 _CFXRegistrationPost + 440 (CFNotificationCenter.c:201)
14  CoreFoundation                	0x000000018b0a3dc8 _CFXNotificationPost + 704 (CFNotificationCenter.c:1193)
15  Foundation                    	0x00000001854fc4dc -[NSNotificationCenter postNotificationName:object:userInfo:] + 92 (NSNotification.m:512)
16  UIKitCore                     	0x000000018df14c0c -[UIApplication _terminateWithStatus:] + 232 (UIApplication.m:7346)
17  UIKitCore                     	0x000000018d4774b4 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 112 (_UISceneLifecycleMultiplexer.m:811)
18  UIKitCore                     	0x000000018d88c71c -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 164 (_UISceneLifecycleMultiplexer.m:481)
19  UIKitCore                     	0x000000018df1107c -[UIApplication workspaceShouldExit:withTransitionContext:] + 176 (UIApplication.m:4061)
20  FrontBoardServices            	0x00000001a0a0c680 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke_2 + 72 (FBSWorkspaceScenesClient.m:328)
21  FrontBoardServices            	0x00000001a09d1ae4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168 (FBSWorkspace.m:359)
22  FrontBoardServices            	0x00000001a0a0c620 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 128 (FBSWorkspaceScenesClient.m:325)
23  libdispatch.dylib             	0x00000001924ddfdc _dispatch_client_callout + 20 (object.m:560)
24  libdispatch.dylib             	0x00000001924e1a5c _dispatch_block_invoke_direct + 264 (queue.c:496)
25  FrontBoardServices            	0x00000001a09dbf2c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52 (FBSSerialQueue.m:157)
26  FrontBoardServices            	0x00000001a09dbac8 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 220 (FBSSerialQueue.m:181)
27  FrontBoardServices            	0x00000001a09de2a8 -[FBSSerialQueue _performNextFromRunLoopSource] + 28 (FBSSerialQueue.m:194)
28  CoreFoundation                	0x000000018b12e22c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1974)
29  CoreFoundation                	0x000000018b13a614 __CFRunLoopDoSource0 + 176 (CFRunLoop.c:2018)
30  CoreFoundation                	0x000000018b0be57c __CFRunLoopDoSources0 + 340 (CFRunLoop.c:2063)
31  CoreFoundation                	0x000000018b0d3eb8 __CFRunLoopRun + 836 (CFRunLoop.c:2970)
32  CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
33  GraphicsServices              	0x00000001c3ef9368 GSEventRunModal + 164 (GSEvent.c:2196)
34  UIKitCore                     	0x000000018d588d88 -[UIApplication _run] + 888 (UIApplication.m:3726)
35  UIKitCore                     	0x000000018d5889ec UIApplicationMain + 340 (UIApplication.m:5316)
36  Runner                        	0x000000010498e100 main + 68 (AppDelegate.swift:11)
37  dyld                          	0x00000001a93fd948 start + 2504 (dyldMain.cpp:1168)

Thread 1:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib        	0x00000001c774a200 __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d79871ac pthread_kill + 268 (pthread.c:1670)
2   libsystem_c.dylib             	0x0000000192541ca0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001d78c9b8c abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001d78b9a80 demangling_terminate_handler() + 336 (cxa_default_handlers.cpp:71)
5   libobjc.A.dylib               	0x000000018442deec _objc_terminate() + 144 (objc-exception.mm:498)
6   libc++abi.dylib               	0x00000001d78c8f28 std::__terminate(void (*)()) + 20 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001d78c8ec4 std::terminate() + 56 (cxa_handlers.cpp:88)
8   libdispatch.dylib             	0x00000001924ddff0 _dispatch_client_callout + 40 (object.m:563)
9   libdispatch.dylib             	0x00000001924e146c _dispatch_continuation_pop + 504 (inline_internal.h:2632)
10  libdispatch.dylib             	0x00000001924f4a58 _dispatch_source_invoke + 1588 (source.c:596)
11  libdispatch.dylib             	0x00000001924e556c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
12  libdispatch.dylib             	0x00000001924e61e0 _dispatch_lane_invoke + 384 (queue.c:3940)
13  libdispatch.dylib             	0x00000001924f0e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
14  libsystem_pthread.dylib       	0x00000001d7980df8 _pthread_wqthread + 288 (pthread.c:2618)
15  libsystem_pthread.dylib       	0x00000001d7980b98 start_wqthread + 8 (:-1)

Thread 4 name:
Thread 4:
0   libsystem_kernel.dylib        	0x00000001c7745394 __open + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7745778 open + 40 (open-base.c:101)
2   Instabug                      	0x0000000106e63d70 plcrash_write_report + 80
3   Instabug                      	0x0000000106e62870 signal_handler_callback + 232
4   Instabug                      	0x0000000106e5de40 internal_callback_iterator(int, __siginfo*, __darwin_ucontext*, void*) + 124
5   Instabug                      	0x0000000106e5dda4 IBGplcrash_signal_handler + 24
6   libsystem_platform.dylib      	0x00000001d78eda90 _sigtramp + 56 (sigtramp.c:116)
7   libsystem_pthread.dylib       	0x00000001d79871ac pthread_kill + 268 (pthread.c:1670)
8   libsystem_c.dylib             	0x0000000192541ca0 abort + 180 (abort.c:118)
9   Instabug                      	0x0000000106e63e54 uncaught_exception_handler.cold.1 + 28
10  Instabug                      	0x0000000106e61c14 uncaught_exception_handler + 44
11  CoreFoundation                	0x000000018b16d020 __handleUncaughtException + 636 (NSException.m:273)
12  libobjc.A.dylib               	0x000000018442dee0 _objc_terminate() + 132 (objc-exception.mm:497)
13  libc++abi.dylib               	0x00000001d78c8f28 std::__terminate(void (*)()) + 20 (cxa_handlers.cpp:59)
14  libc++abi.dylib               	0x00000001d78c8ec4 std::terminate() + 56 (cxa_handlers.cpp:88)
15  libdispatch.dylib             	0x00000001924ddff0 _dispatch_client_callout + 40 (object.m:563)
16  libdispatch.dylib             	0x00000001924e146c _dispatch_continuation_pop + 504 (inline_internal.h:2632)
17  libdispatch.dylib             	0x00000001924f4a58 _dispatch_source_invoke + 1588 (source.c:596)
18  libdispatch.dylib             	0x00000001924e556c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
19  libdispatch.dylib             	0x00000001924e61e0 _dispatch_lane_invoke + 384 (queue.c:3940)
20  libdispatch.dylib             	0x00000001924f0e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
21  libsystem_pthread.dylib       	0x00000001d7980df8 _pthread_wqthread + 288 (pthread.c:2618)
22  libsystem_pthread.dylib       	0x00000001d7980b98 start_wqthread + 8 (:-1)

Thread 5 name:
Thread 5:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018b0d2e00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5   CoreFoundation                	0x000000018b0d4044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6   CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7   Foundation                    	0x00000001854e1818 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x00000001854e1700 -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x000000018d6bd88c -[UIEventFetcher threadMain] + 436 (UIEventFetcher.m:1212)
10  Foundation                    	0x00000001854face8 __NSThread__start__ + 716 (NSThread.m:968)
11  libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
12  libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 6 name:
Thread 6:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018b0d2e00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5   CoreFoundation                	0x000000018b0d4044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6   CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7   Flutter                       	0x00000001087111c0 fml::MessageLoopDarwin::Run() + 88 (:-1)
8   Flutter                       	0x0000000108710bc0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::function<void (fm... + 208 (:-1)
9   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
10  libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018b0d2e00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5   CoreFoundation                	0x000000018b0d4044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6   CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7   Flutter                       	0x00000001087111c0 fml::MessageLoopDarwin::Run() + 88 (:-1)
8   Flutter                       	0x0000000108710bc0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::function<void (fm... + 208 (:-1)
9   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
10  libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 8 name:
Thread 8:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018b0d2e00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5   CoreFoundation                	0x000000018b0d4044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6   CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7   Flutter                       	0x00000001087111c0 fml::MessageLoopDarwin::Run() + 88 (:-1)
8   Flutter                       	0x0000000108710bc0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::function<void (fm... + 208 (:-1)
9   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
10  libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 9 name:
Thread 9:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 10 name:
Thread 10:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 11 name:
Thread 11:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 12 name:
Thread 12:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 13 name:
Thread 13:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 14 name:
Thread 14:
0   libsystem_kernel.dylib        	0x00000001c774441c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d798806c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2   libc++.1.dylib                	0x0000000199402acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3   Flutter                       	0x000000010870b934 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::ConcurrentMessageLoop::ConcurrentMessageLo... + 296 (:-1)
4   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
5   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 15 name:
Thread 15:
0   libsystem_kernel.dylib        	0x00000001c7745480 kevent + 8 (:-1)
1   Flutter                       	0x00000001088fc45c dart::bin::EventHandlerImplementation::EventHandlerEntry(unsigned long) + 444 (:-1)
2   Flutter                       	0x000000010892b544 dart::bin::ThreadStart(void*) + 44 (:-1)
3   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
4   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 16 name:
Thread 16:
0   connectivity_plus             	0x0000000107d77e34 implicit closure #2 in implicit closure #1 in PathMonitorConnectivityProvider.ensurePathMonitor()partial apply + 0
1   libswiftNetwork.dylib         	0x00000001a5f2528c closure #1 in NWPathMonitor.init(requiredInterfaceType:) + 272 (NWPath.swift:492)
2   libswiftNetwork.dylib         	0x00000001a5ef0470 thunk for @escaping @callee_guaranteed (@guaranteed OS_nw_path) -> () + 52 (<compiler-generated>:0)
3   Network                       	0x000000018bd5d9d4 __nw_path_necp_update_evaluator_block_invoke + 456 (path_evaluation.m:1108)
4   libdispatch.dylib             	0x00000001924dc4b4 _dispatch_call_block_and_release + 32 (init.c:1518)
5   libdispatch.dylib             	0x00000001924ddfdc _dispatch_client_callout + 20 (object.m:560)
6   libdispatch.dylib             	0x00000001924efb8c _dispatch_root_queue_drain + 684 (inline_internal.h:2632)
7   libdispatch.dylib             	0x00000001924f0284 _dispatch_worker_thread2 + 164 (queue.c:7052)
8   libsystem_pthread.dylib       	0x00000001d7980dbc _pthread_wqthread + 228 (pthread.c:2631)
9   libsystem_pthread.dylib       	0x00000001d7980b98 start_wqthread + 8 (:-1)

Thread 17:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)

Thread 18 name:
Thread 18 Crashed:
0   libsystem_kernel.dylib        	0x00000001c774a200 __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001d79871ac pthread_kill + 268 (pthread.c:1670)
2   libsystem_c.dylib             	0x0000000192541ca0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001d78c9b8c abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001d78b9a80 demangling_terminate_handler() + 336 (cxa_default_handlers.cpp:71)
5   libobjc.A.dylib               	0x000000018442deec _objc_terminate() + 144 (objc-exception.mm:498)
6   libc++abi.dylib               	0x00000001d78c8f28 std::__terminate(void (*)()) + 20 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001d78c8ec4 std::terminate() + 56 (cxa_handlers.cpp:88)
8   libdispatch.dylib             	0x00000001924ddff0 _dispatch_client_callout + 40 (object.m:563)
9   libdispatch.dylib             	0x00000001924e146c _dispatch_continuation_pop + 504 (inline_internal.h:2632)
10  libdispatch.dylib             	0x00000001924f4a58 _dispatch_source_invoke + 1588 (source.c:596)
11  libdispatch.dylib             	0x00000001924e556c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
12  libdispatch.dylib             	0x00000001924e61e0 _dispatch_lane_invoke + 384 (queue.c:3940)
13  libdispatch.dylib             	0x00000001924f0e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
14  libsystem_pthread.dylib       	0x00000001d7980df8 _pthread_wqthread + 288 (pthread.c:2618)
15  libsystem_pthread.dylib       	0x00000001d7980b98 start_wqthread + 8 (:-1)

Thread 19 name:
Thread 19:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018b0d2e00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5   CoreFoundation                	0x000000018b0d4044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6   CoreFoundation                	0x000000018b0d91e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7   CFNetwork                     	0x000000018c427bac +[__CFN_CoreSchedulingSetRunnable _run:] + 392 (CoreSchedulingSet.mm:1372)
8   Foundation                    	0x00000001854face8 __NSThread__start__ + 716 (NSThread.m:968)
9   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
10  libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 20:
0   libsystem_kernel.dylib        	0x00000001c7743b48 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001c7756008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001c7756248 mach_msg_overwrite + 388 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001c774408c mach_msg + 24 (mach_msg.c:323)
4   Instabug                      	0x0000000106e7289c exception_server_thread + 188
5   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
6   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 21 name:
Thread 21:
0   libsystem_kernel.dylib        	0x00000001c77446ac select$DARWIN_EXTSN + 8 (:-1)
1   CoreFoundation                	0x000000018b1239d4 __CFSocketManager + 636 (CFSocket.c:1340)
2   libsystem_pthread.dylib       	0x00000001d79816cc _pthread_start + 148 (pthread.c:893)
3   libsystem_pthread.dylib       	0x00000001d7980ba4 thread_start + 8 (:-1)

Thread 22:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)

Thread 23 name:
Thread 23:
0   libsystem_kernel.dylib        	0x00000001c7744c5c pread + 8 (:-1)
1   libsqlite3.dylib              	0x00000001aea23d40 seekAndRead + 76 (sqlite3.c:41605)
2   libsqlite3.dylib              	0x00000001ae974b10 unixRead + 208 (sqlite3.c:41697)
3   libsqlite3.dylib              	0x00000001ae992cb4 sqlite3PagerSharedLock + 2332 (sqlite3.c:25498)
4   libsqlite3.dylib              	0x00000001ae991e94 sqlite3BtreeBeginTrans + 1444 (sqlite3.c:76890)
5   libsqlite3.dylib              	0x00000001ae9b257c sqlite3VdbeExec + 2920 (sqlite3.c:99570)
6   libsqlite3.dylib              	0x00000001ae9b0f18 sqlite3_step + 1300 (sqlite3.c:93922)
7   Runner                        	0x0000000104a75f34 -[APMSqliteStore numberForQuery:parameterValues:error:] + 180
8   Runner                        	0x0000000104a68890 -[APMRemoteConfig lastRemoteConfigUpdateTimestamp] + 140
9   Runner                        	0x0000000104a68678 -[APMRemoteConfig isExpired] + 176
10  Runner                        	0x0000000104a17b74 -[APMMeasurement uploadData] + 236
11  Runner                        	0x0000000104a17504 __32-[APMMeasurement updateSchedule]_block_invoke_2 + 36
12  Runner                        	0x0000000104a6b7c0 __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 44
13  libdispatch.dylib             	0x00000001924dc4b4 _dispatch_call_block_and_release + 32 (init.c:1518)
14  libdispatch.dylib             	0x00000001924ddfdc _dispatch_client_callout + 20 (object.m:560)
15  libdispatch.dylib             	0x00000001924e5694 _dispatch_lane_serial_drain + 672 (inline_internal.h:2632)
16  libdispatch.dylib             	0x00000001924e61e0 _dispatch_lane_invoke + 384 (queue.c:3940)
17  libdispatch.dylib             	0x00000001924f0e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
18  libsystem_pthread.dylib       	0x00000001d7980df8 _pthread_wqthread + 288 (pthread.c:2618)
19  libsystem_pthread.dylib       	0x00000001d7980b98 start_wqthread + 8 (:-1)

Thread 24:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)

Thread 25:
0   libsystem_pthread.dylib       	0x00000001d7980b90 start_wqthread + 0 (:-1)


Thread 18 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x00000001d78cd0f5   x5: 0x000000016bf7e300   x6: 0x000000000000006e   x7: 0xffffffff00000800
    x8: 0xcfccee1808c28da1   x9: 0xcfccee1963357da1  x10: 0x0000000000000200  x11: 0x000000000000000b
   x12: 0x000000000000000b  x13: 0x0000000000000000  x14: 0x0000000000000000  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x000000016bf7f000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000014627  x21: 0x000000016bf7f0e0  x22: 0x0000000000000130  x23: 0x0000000000000000
   x24: 0x0000000000000000  x25: 0x000000016bf7f0e0  x26: 0x0000000000010008  x27: 0x000000028311be00
   x28: 0x00000001e1235b00   fp: 0x000000016bf7e270   lr: 0x00000001d79871ac
    sp: 0x000000016bf7e250   pc: 0x00000001c774a200 cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
0x104960000 - 0x105aeffff Runner arm64  <16ee3949398c39e59c9e847beb7b66dc> /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Runner
0x1062b0000 - 0x106453fff Datadog arm64  <618b7c2fa5c13d66916f66f14ab46e12> /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Frameworks/Datadog.framework/Datadog
0x106b3c000 - 0x106f63fff Instabug arm64  <599d764ae5e93c53a9f69b270e206e82> /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Frameworks/Instabug.framework/Instabug
0x107d70000 - 0x107d7bfff connectivity_plus arm64  <f7e1e3060a413e83abcde1230b70c003> /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Frameworks/connectivity_plus.framework/connectivity_plus
0x108418000 - 0x108c03fff Flutter arm64  <8737ebfeefcd30f784da3fdc268b8534> /private/var/containers/Bundle/Application/5BC3F1D7-72F1-4B03-8099-F78B3368B52B/Runner.app/Frameworks/Flutter.framework/Flutter
0x184410000 - 0x184453c3f libobjc.A.dylib arm64e  <b3a78098c0fb3dcdb1ac0712762510db> /usr/lib/libobjc.A.dylib
0x1854a0000 - 0x185deafff Foundation arm64e  <aa92cd58561a341492f4b4120298b39a> /System/Library/Frameworks/Foundation.framework/Foundation
0x18b058000 - 0x18b43cfff CoreFoundation arm64e  <42c5c91704473995b50fde4d132c2435> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x18b43d000 - 0x18c1d2fff Network arm64e  <f9e2a76557703360af20ca5b923fcbf2> /System/Library/Frameworks/Network.framework/Network
0x18c1d3000 - 0x18c598fff CFNetwork arm64e  <35605de33723335a83d96f35f2989935> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x18d1e6000 - 0x18e9acfff UIKitCore arm64e  <7b942fa4cb7633759972f58c14492fb4> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x1924da000 - 0x192520fff libdispatch.dylib arm64e  <c663d847b94f3fb0925432edbc55315e> /usr/lib/system/libdispatch.dylib
0x192521000 - 0x1925a0fff libsystem_c.dylib arm64e  <82c0f938e2773165a61470151c651798> /usr/lib/system/libsystem_c.dylib
0x1993f6000 - 0x19945cff3 libc++.1.dylib arm64e  <36bf5e0c2d4036faa0752476613f6d3f> /usr/lib/libc++.1.dylib
0x1a09cb000 - 0x1a0a70fff FrontBoardServices arm64e  <8e15b35ea6143142b34d2c3cbbc13a8b> /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices
0x1a5eee000 - 0x1a5f6dffe libswiftNetwork.dylib arm64e  <d8ad232c4db23bc0855b0b8181974b1f> /usr/lib/swift/libswiftNetwork.dylib
0x1a93e8000 - 0x1a946ae4f dyld arm64e  <341bbf646034357e8aa6e1e4b988e03c> /usr/lib/dyld
0x1ae96d000 - 0x1aeb0bff7 libsqlite3.dylib arm64e  <110cd7ec982d3425932dc9dddd8a571a> /usr/lib/libsqlite3.dylib
0x1c3ef8000 - 0x1c3f00fff GraphicsServices arm64e  <03732ba5113235b4b09d8dd49807d246> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1c7743000 - 0x1c7779ffb libsystem_kernel.dylib arm64e  <a5d3b72578c33e19a765cceb22355093> /usr/lib/system/libsystem_kernel.dylib
0x1d78b8000 - 0x1d78cfffb libc++abi.dylib arm64e  <e0dbf9459cc5305db096abc1cda9c8ca> /usr/lib/libc++abi.dylib
0x1d78ec000 - 0x1d78f2ff3 libsystem_platform.dylib arm64e  <dcc11feb32493ba38eda0469417b75e5> /usr/lib/system/libsystem_platform.dylib
0x1d7980000 - 0x1d798bfff libsystem_pthread.dylib arm64e  <b89b9a5b55d93e84b6d3c3da93c1cd39> /usr/lib/system/libsystem_pthread.dylib

EOF

Describe what you expected:

I expect DataDog not to crash.

Additional context

  • Dart/Flutter version: 3.3.6
  • Android/iOS OS version: iOS iPhone 14,3
  • Device Model: n/a
  • Datadog SDK version: ^1.0.1
  • Versions of any other relevant dependencies:

[`datadog_tracking_http_client`] Reduce dart dependency version

Is your feature request related to a problem? Please describe.
When I include datadog_tracking_http_client 1.0.1-beta.1 in my pubspec it fails because of:

Because client depends on datadog_tracking_http_client >=1.0.1-beta.1 which requires SDK version >=2.17.0-0 <3.0.0, version solving failed.
pub get failed (1; Because client depends on datadog_tracking_http_client >=1.0.1-beta.1 which requires SDK version >=2.17.0-0 <3.0.0, version solving failed.)

Describe the solution you'd like
Reduce the min version of dart required by this package

Additional context
This version of dart is required for flutter 3.0 but not for flutter 2, so currently this is only usable from flutter 3

Expose DdLogs publicly

Are you requesting automatic instrumentation for a framework or library? Please describe.

  • Framework or library name : datadog_flutter_plugin
  • Library type: client
  • Library version: 1.0.0-beta.1

Is your feature request related to a problem? Please describe.

We utilize a class to store our loggers, and we cannot use the DdLogs type when specifying a field of the class.

Describe the solution you'd like

DdLogs is a publicly exposed class in an export.

Describe alternatives you've considered

Importing a /src/ file, although this is not considered effective Dart.

Change dynamic map in RUM methods to avoid lint error

Is your feature request related to a problem? Please describe.
The signatures of logging methods, such as DdLogs.info, specify the optional context parameter as a Map<String, Object?>, whereas the signatures of RUM methods, such as DdRum.addUserAction, specify the optional attributes parameter as a Map<String, dynamic>.

Since many linting configurations seek to avoid "implicit dynamic", with such linting in place, this produces a Dart analysis message "error: Missing type arguments for map literal. (implicit_dynamic_map_literal at ...)".

DatadogSdk.instance.rum?.addUserAction(
  RumUserActionType.custom,
  'some_action',
  {}, // <== IDE shows syntax error highlighting here
);

Describe the solution you'd like
Whilst this can be addressed by explicitly typing the map, it would be nicer if the signatures of the RUM methods were changed to have the attributes parameter as Map<String, Object?>, which avoids the problem altogether and is consistent with the logging methods.

It might also make sense to rename the context parameter on logging methods to attributes for consistency, especially given that this is where they appear to end up in Datadog. I appreciate that this doesn't affect our code since these are positional parameters.

Support for pretty print console logs

Adding support for colored logs when enabling printLogsToConsole. It can be set statically (since I don't think devs are changed log colors on every instance) or passed down the logger configuration and wired into the InternalLogger.

Thinking something exposed on the top level sdk to give modify access to the internal logger similar to verbosity ex:

Verbosity get sdkVerbosity => internalLogger.sdkVerbosity;

Here is an example of how another SDK supports it, https://github.com/simc/logger/blob/047c410928cf8d39f819458ce48bd8c45a38b65b/lib/src/printers/pretty_printer.dart#L27

And it looks like your code might also be close to supporting it (

) but opted to keep some of the configuration hidden from outside consumers.

Get more informations with iOS

Are you requesting automatic instrumentation for a framework or library? Please describe.

  • Framework or library name : datadog_flutter_plugin
  • Library type: monitoring
  • Library version: 1.0.0-beta.1

Is your feature request related to a problem? Please describe.

Hi, Currently I only receive name: iPhone, model: iPhone on Datadog dashboard RUM.

Describe the solution you'd like
I would like to know if it was possible to further develop the information received on the RUM Dashboard of Datadog. I explain, is it possible to have in a future version the detail of the models of phones on iOS example: iPhone 8, iPhone X, etc.?

Maybe allow to send additional information as well. I saw that there was a property defined in Configuration but impossible to access because not defined in the manufacturer.

I haven't tested it on Android yet, maybe that's the case too.

Thanks

Cancel an in-progress user action

Is your feature request related to a problem? Please describe.
I wanted to record taps on the BottomNavigationBar. This is difficult to address currently; the DD SDK does pick up on the underlying GestureDetector but of course the name is "unknown". I'd like to handle this by just writing my own user events when the tap occurs, but this fails if the BottomNavigationBar is under the RumUserActionDetector, because the SDK is already in progress on the GestureDetector tap event. My current solution is to not put the BottomNavigationBar in the RumUserActionDetector; but this necessitates having multiple RumUserActionDetector to handle detection across the app, as opposed to just wrapping the MaterialApp.

Describe the solution you'd like
Ideally the SDK would be able to pick up on BottomNavigationBar taps, but I suspect this may be difficult, since the actual tap is known about by some other stateful widget above the nav. A solution that I think could be useful would be the ability to cancel the in-progress event so that I can write my own (or, perhaps, to opt a specific sub-portion of the tree out of automatic detection).

Describe alternatives you've considered
I looked into adding BottomNavigationBar as a supported type in the RumUserActionDetector, but the widget itself knows about its current state, not the tap. I also tried wrapping a few relevant widgets in RumUserActionAnnotation but so far can only get the current index, not the tapped index.

Question: Why is tracing deprecated?

I noticed that DatadogSdk.traces is deprecated and wondered why that is? I see that we can add RUM timings, however, these seem relative to the start time of the view, which might not be the desired starting point.

I don't have a current need for this, was just curious.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.