The SDK added metrics to track how long we wait for each API request we make to the BW GW (see PR 1292). The numbers we're seeing are higher than what the GW expects for time spent on their service for each endpoint.
This PR adds metrics that allow us to dig further into this round-trip number by providing timestamps for TCP connection start time & actual HTTP request start times (see this diagram by Apple). Having these timestamps will allow us to break apart our round trip API number into 3 pieces: task + DNS time, connection establishment, and HTTP time.
Here's an example of how they would be used in FPTI (after some math to subtract the timestamps):
Changes
Add 2 new timestamps & tags:
connect_start_time when a TCP connection was started. See purple line below.
request_start_time when a HTTP request was started. See blue line below.
Next Steps
After we get decent data on this, I don't think these metrics have to live in the SDK forever and could be removed at a later time.
Summary
The SDK added metrics to track how long we wait for each API request we make to the BW GW (see PR 1292). The numbers we're seeing are higher than what the GW expects for time spent on their service for each endpoint.
This PR adds metrics that allow us to dig further into this round-trip number by providing timestamps for TCP connection start time & actual HTTP request start times (see this diagram by Apple). Having these timestamps will allow us to break apart our round trip API number into 3 pieces: task + DNS time, connection establishment, and HTTP time.
Here's an example of how they would be used in FPTI (after some math to subtract the timestamps):![Screenshot 2024-06-25 at 3 17 17 PM](https://github.com/braintree/braintree_ios/assets/35243507/74df5fd6-0974-41cb-8ac4-4ccb7e37c742)
Changes
connect_start_time
when a TCP connection was started. See purple line below.request_start_time
when a HTTP request was started. See blue line below.Next Steps
After we get decent data on this, I don't think these metrics have to live in the SDK forever and could be removed at a later time.
Checklist
Authors
@scannillo