This issue tracks integration of https://github.com/mapbox/mapbox-events-android/pull/318 in the maps sdk. @chloekraw @zugaldia, which performance events should we track?
which performance events should we track?
I'd like to start with two: tile loading latency and tile downloading failure. However, I'd like to keep the implementation flexible enough to support any performance event we decide to add in the future.
In terms of implementation, we'd like to take advantage of the MapboxTelemetry.push() API. To do that we'd need to do the following things:
TelemetryImpl and TelemetryDefinition for events of type Type.NO_OP where event.name == performance.trace.PerformanceEvent that extends Event (note that we do not need to implement the logic for Parcelable because that is being deprecated).@osana @langsmith Do you have the bandwidth to team up on this one?
cc: @andrlee in case you want to provide any additional guidance.
Here is a first take on adding generic PerformanceEvent to mapbox-events-android
https://github.com/mapbox/mapbox-events-android/pull/332
@osana and I chatted this morning about this. As she linked above, creating a PerformanceEvent in the telem sdk is the first step. Then we'll tackle the TelemetryImpl/ TelemetryDefinition implementation and then finish up with testing.
Building gl-native in my Android Studio is an absolute dumpster fire right now, so it's been impossible for me to look through the Maps SDK to work on things myself. Working on fixing things....
folks, it looks like there's a confusion about plans around perf event. we've made changes on our end to enable event creation outside of telem sdk and the guideline going forward would be to keep events outside of sdk. this will drastically accelerate our development cycles. does that make sense? could you please sync with @zugaldia regarding implementation details of the event?
Ok, will do @andrlee
Moved PerformanceEvent to gl-native in Android.
Here is a first cut of it: https://github.com/mapbox/mapbox-gl-native/pull/13795
This landed in https://github.com/mapbox/mapbox-gl-native/pull/13795
Most helpful comment
I'd like to start with two: tile loading latency and tile downloading failure. However, I'd like to keep the implementation flexible enough to support any performance event we decide to add in the future.
In terms of implementation, we'd like to take advantage of the
MapboxTelemetry.push()API. To do that we'd need to do the following things:TelemetryImplandTelemetryDefinitionfor events of typeType.NO_OPwhereevent.name==performance.trace.PerformanceEventthat extendsEvent(note that we do not need to implement the logic forParcelablebecause that is being deprecated).@osana @langsmith Do you have the bandwidth to team up on this one?
cc: @andrlee in case you want to provide any additional guidance.