# Mobile Instrumentation
## Things To Instrument
* SDK API Usages
* How is the start function being called?
* What parameters are being used?
* How is the set function being called?
* Payment Button Usage?
* How many merchants are using our buttons vs. their own?
* Callback Usage?
* CreateOrder Usage?
* How many merchants are using client side?
* How many merchants are using server side?
* Billing Agreement usage vs. Single time payment.
* OnApprove Usage?
* Capture vs. Authorize?
* Patch order usage? (iOS only currently)
* OnCancel Usage?
* OnError Usage?
* OnShippingChange Usage?
* Patch order usage?
* Accept/Reject usage?
* Exit Survey Visibility?
* How many merchants opt-out of exit survey?
* Braintree vs. Natively?
* Can we keep track of how many mechants are using this through Braintree vs. Natively?
* Could be an additional configuration field? Maybe in SettingsConfig for Android.
* How much money are the SDKs driving to Checkout?
* Client ID + Environment
* Config Instance
* What values are being used?
* What values are being excluded?
* Crash Reporting
* NXO Team
* Braintree?
### Information To Instrument
* Duration of function call?
* Understand performance over-time.
* Network type? <- if this is default for Android & iOS
* WiFi?
* Cellular?
* What kind of cellular? 5G, 4G, GSM, etc.
* Transition name field
* Provides a way to key/organize events in amplitude.
* Function invocation
* Function name
* Included parameters (parameter name only, null values would be excluded from this list)
* OS Level
* SDK Version
* Already in amplitude somewhere
* Is this a first or third party integration?
* Build flavor?
* We should retrofit this into existing logging if not already there.
## Where Should Events Be Sent?
* Amplitude
* We can format the data
* Same spot where other NXO data goes to
* Could create dashboard to filter data
* Easier to use than FPTI
* FPTI
* Seems difficult, maybe not the right spot?
## After Meeting Homework
* Android & iOS Instrumentation Comparison
* Do we send filename & function name w/ iOS?
* Creating Stories to add these events (Create Spikes for iOS and Android)
* Can existing analytics infrastructure support this?
* If not reach out to Grace & Haider (Jason or Vlad maybe) to determine how changes can be integrated.
* What inforation are we already capturing?