flutterfire icon indicating copy to clipboard operation
flutterfire copied to clipboard

[performance]: Requests from Transistor SDK are not been automatically intercepted

Open danielgomezrico opened this issue 2 months ago • 2 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues.

Which plugins are affected?

Performance

Which platforms are affected?

Android, iOS

Description

Hi

I'm using a library to monitor GPS locations called transistor. This library has a native implementation on Android and iOS from which does HTTP requests on the native side every x time.

I'm reporting this because the transistor SDK requests are not been caught by Firebase performance:

  • I spoke with the library owner, and he says he is using Ok HTTP: https://github.com/transistorsoft/flutter_background_geolocation/issues/1243
  • The network debugger on android studio does see the requests. I can see they are being done on the native side of android.

The only way I found is listening to the HTTP request events done by the transistor SDK, but| I lose the request time and payload size with that.

I already spoke with Firebase Support with someone named Amuel, and told me that its better to open an issue so that this issue is been taken this way and not via support, not sure why

Expected

I want to track this requests with Firebase performance because GPS tracking is a central feature of my app, and I am not able to do it.

I don't understand what is happening since the Firebase performance is already listening to other requests I do on the flutter side but not those done by the transistor SDK.

Reproducing the issue

Take a look at this project: https://github.com/danielgomezrico/transistor-sdk-and-firebase-performance-error-example

It uses:

  • transistor SDK
  • firebase performance monitoring
    • It is able to track the requests been done in the native android side, I wrote an activity that does requests, but the ones done by the transistor SDK are not.

Firebase Core version

2.27.1

Flutter Version

3.16.4

Relevant Log Output

No response

Flutter dependencies

Expand Flutter dependencies snippet
Dart SDK 3.2.3
Flutter SDK 3.16.4
transistorsdk_and_firebase_performance 1.0.0+1

dependencies:
- cupertino_icons 1.0.6
- firebase_core 2.26.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_performance 0.9.3+16 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math web sky_engine]
- flutter_background_geolocation 4.14.0 [flutter collection background_fetch]

dev dependencies:
- flutter_lints 2.0.3 [lints]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math async boolean_selector characters collection material_color_utilities meta source_span stream_channel string_scanner term_glyph web]

transitive dependencies:
- _flutterfire_internals 1.3.24 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.11.0 [collection meta]
- background_fetch 1.2.4 [flutter]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.3.0
- clock 1.1.1
- collection 1.18.0
- fake_async 1.3.1 [clock collection]
- firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.11.5 [firebase_core_platform_interface flutter flutter_web_plugins js meta web]
- firebase_performance_platform_interface 0.1.4+24 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.4+24 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math web]
- js 0.6.7 [meta]
- lints 2.1.1
- matcher 0.12.16 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.5.0 [collection]
- meta 1.10.0
- path 1.8.3
- plugin_platform_interface 2.1.8 [meta]
- sky_engine 0.0.99
- source_span 1.10.0 [collection path term_glyph]
- stack_trace 1.11.1 [path]
- stream_channel 2.1.2 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.6.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph]
- vector_math 2.1.4
- web 0.3.0

Additional context and comments

I hope you could help me with this, It's pretty frustrating to have a core part of your app without a proper monitoring tool checking it.

danielgomezrico avatar Apr 16 '24 15:04 danielgomezrico