Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Major
-
2 - 5-25% of Customers
-
4 - Major
-
4 - $$$$$
-
-
Enhancement
-
The jruby-metrics section of the status API now includes a borrow-timers dataset that provides separate measurements for each activity that borrows a JRuby instance (catalog compilation, file serving, report processing, etc.).
-
Needs Assessment
Description
Currently, the metrics for the puppet/v3 API are measured by the Comidi handler in a fashion that includes all Clojure handlers in addition to JRuby handlers — which includes time spent waiting for a free JRuby worker in addition to time spent by JRuby working on a request. This means that a performance issue in one JRuby route skews the results reported by all JRuby routes, thus making it look like all routes are slow and masking the source of the issue.
We measure JRuby time spent to handle requests via the Puppet profiler:
https://github.com/puppetlabs/puppet/blob/5.2.0/lib/puppet/network/http/handler.rb#L62
However, we send those metrics to /dev/null instead of reporting them to JMX:
We should stop discarding HTTP metrics measured by the Puppet profiler so that performance issues affecting JRuby routes can be easily identified.
Attachments
Issue Links
- blocks
-
SERVER-2198 Include JRuby processing time in Puppet Server access log entries
-
- Resolved
-
- relates to
-
SERVER-1860 Improve Performance of File Serving in PuppetServer
-
- Closed
-
-
SERVER-792 Metrics improvements
-
- Closed
-