Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capture Request Queue Time #30

Closed
cschneid opened this issue Aug 14, 2019 · 0 comments · Fixed by #149
Closed

Capture Request Queue Time #30

cschneid opened this issue Aug 14, 2019 · 0 comments · Fixed by #149
Assignees
Labels
enhancement New feature or request nice to have This is a "nice to have" feature - not a critical requirement

Comments

@cschneid
Copy link
Contributor

Load balancers timestamp incoming requests into one of several headers. It indicates the amount of time spent waiting for an available server, and is good for determining if web servers are over or under provisioned.

We need to capture that, find the diff from "now" and record that time.

Record it as a RequestTag, with name: scout.queue_time_ns, and value of the integer number of nanoseconds. Get whatever accuracy is available, and then convert to nanoseconds.

The necessary CoreAgent code to capture this is not yet written, but will be ready soon.

See also the python code: https://github.com/scoutapp/scout_apm_python/blob/b7a9b9a9d2d028906c0ec6e5058ee9b56cb11533/src/scout_apm/core/queue_time.py#L37

See also the ruby code:
https://github.com/scoutapp/scout_apm_ruby/blob/master/lib/scout_apm/layer_converters/request_queue_time_converter.rb

@asgrim asgrim added the nice to have This is a "nice to have" feature - not a critical requirement label Sep 13, 2019
@asgrim asgrim self-assigned this Dec 13, 2019
@asgrim asgrim added the enhancement New feature or request label Dec 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request nice to have This is a "nice to have" feature - not a critical requirement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants