Revert "app: Use a ThreadPool to fetch metrics."
Using multiprocessing is at least causing mod_wsgi to throw a hissy fit. A few other WSGI servers seem to be able to deal with this correctly but for now, back to serial requests.
This commit is contained in:
@@ -9,7 +9,6 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
from urllib.parse import unquote
|
from urllib.parse import unquote
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from multiprocessing.dummy import Pool as ThreadPool
|
|
||||||
|
|
||||||
from flask import (
|
from flask import (
|
||||||
Flask, render_template, abort, url_for,
|
Flask, render_template, abort, url_for,
|
||||||
@@ -92,17 +91,19 @@ def index():
|
|||||||
# TODO: Would be great if we could parallelize this somehow, doing these
|
# TODO: Would be great if we could parallelize this somehow, doing these
|
||||||
# requests in sequence is rather pointless.
|
# requests in sequence is rather pointless.
|
||||||
prefix = 'com.puppetlabs.puppetdb.query.population'
|
prefix = 'com.puppetlabs.puppetdb.query.population'
|
||||||
pool = ThreadPool()
|
num_nodes = get_or_abort(
|
||||||
endpoints = [
|
puppetdb.metric,
|
||||||
"{0}{1}".format(prefix, ':type=default,name=num-nodes'),
|
"{0}{1}".format(prefix, ':type=default,name=num-nodes'))
|
||||||
"{0}{1}".format(prefix, ':type=default,name=num-resources'),
|
num_resources = get_or_abort(
|
||||||
"{0}{1}".format(prefix, ':type=default,name=avg-resources-per-node'),
|
puppetdb.metric,
|
||||||
]
|
"{0}{1}".format(prefix, ':type=default,name=num-resources'))
|
||||||
fetched_metrics = pool.map(puppetdb.metric, endpoints)
|
avg_resources_node = get_or_abort(
|
||||||
|
puppetdb.metric,
|
||||||
|
"{0}{1}".format(prefix, ':type=default,name=avg-resources-per-node'))
|
||||||
metrics = {
|
metrics = {
|
||||||
'num_nodes': fetched_metrics[0]['Value'],
|
'num_nodes': num_nodes['Value'],
|
||||||
'num_resources': fetched_metrics[1]['Value'],
|
'num_resources': num_resources['Value'],
|
||||||
'avg_resources_node': "{0:10.0f}".format(fetched_metrics[2]['Value']),
|
'avg_resources_node': "{0:10.0f}".format(avg_resources_node['Value']),
|
||||||
}
|
}
|
||||||
|
|
||||||
nodes = puppetdb.nodes(
|
nodes = puppetdb.nodes(
|
||||||
|
|||||||
Reference in New Issue
Block a user