To be able to limit CPU consumption of Blazegraph (T206108), we need to better understand the factors involved. Query and / or request concurrency might be a good indicator of resource consumption.
Possible ways to measure it:
- Instrument Jetty to publish this metric over JMX, consumed by the current Prometheus JMX exporter
- Instrument Blazegraph (via a custom Servlet filter, or via Dropwizard Metrics) to publish HTTP request concurrency over JMX, consumed by the current Prometheus JMX exporter
- Publish the metric from Nginx via stub_status and nginx-prometheus-exporter
- Collect metric already exposed by blazegraph, adding them to our prometheus-blazegraph-exporter