Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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):
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