-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Add info on each HTTP client to HTTP stats #64561
Conversation
Pinging @elastic/es-core-features (:Core/Features/Stats) |
@elasticmachine update branch |
@elasticmachine run elasticsearch-ci/2 |
@elasticmachine update branch |
@elasticmachine run elasticsearch-ci/1 |
@elasticmachine update branch |
merge conflict between base and head |
@elasticmachine update branch |
@elasticmachine update branch |
@elasticmachine update branch |
@elasticmachine update branch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for iterating Dan!
Thanks, @dakrone! |
Elasticsearch currently provides only the count of HTTP clients currently holding an open connection and the number of HTTP connections that have been opened on the node. This is less than what is reported for transport clients and, as #61609 points out, additional information on connected HTTP clients would be very helpful in a number of troubleshooting and monitoring scenarios.
This change adds the following to the "http" section of node stats:
Some notes about the fields above:
agent
: This is pulled from thex-elastic-product-origin
orUser-Agent
HTTP header if either is present. Note that it would be nice if Elastic products identified themselves with a user-friendly tag. TheUser-Agent
header reports the Go client or the JS client for Beats and Kibana, respectively, which is better than nothing but not as nice as "filebeat" or "kibana", etc. Thex-elastic-product-origin
header reports a friendly "kibana" value for Kibana, but I don't believe that its purpose nor is it consistent across Elastic products.closed_time_millis
: This reports-1
for clients that are currently connected. As implemented, clients that disconnected within the last 5 minutes are still included to aid with tracking either clients such as curl that intentionally disconnect immediately or clients that are dropping connections for other reasons.request_size_bytes
: This tracks cumulative request size.