Merge "Fix osprofiler support in horizon"
This commit is contained in:
@@ -19,6 +19,7 @@ from django.core.cache import caches
|
|||||||
from django.core.cache.utils import make_template_fragment_key
|
from django.core.cache.utils import make_template_fragment_key
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django import template
|
from django import template
|
||||||
|
import six
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
@@ -112,8 +113,14 @@ def angular_templates(context):
|
|||||||
result.extend(finder.find(relative_path, True))
|
result.extend(finder.find(relative_path, True))
|
||||||
path = result[-1]
|
path = result[-1]
|
||||||
try:
|
try:
|
||||||
with open(path) as template_file:
|
if six.PY3:
|
||||||
angular_templates[template_static_path] = template_file.read()
|
with open(path, encoding='utf-8') as template_file:
|
||||||
|
angular_templates[template_static_path] = template_file.\
|
||||||
|
read()
|
||||||
|
else:
|
||||||
|
with open(path) as template_file:
|
||||||
|
angular_templates[template_static_path] = template_file.\
|
||||||
|
read()
|
||||||
except (OSError, IOError):
|
except (OSError, IOError):
|
||||||
# Failed to read template, leave the template dictionary blank
|
# Failed to read template, leave the template dictionary blank
|
||||||
# If the caller is using this dictionary to pre-populate a cache
|
# If the caller is using this dictionary to pre-populate a cache
|
||||||
|
@@ -22,6 +22,7 @@ from osprofiler.drivers.base import get_driver as profiler_get_driver
|
|||||||
from osprofiler import notifier
|
from osprofiler import notifier
|
||||||
from osprofiler import profiler
|
from osprofiler import profiler
|
||||||
from osprofiler import web
|
from osprofiler import web
|
||||||
|
import six
|
||||||
from six.moves.urllib.parse import urlparse
|
from six.moves.urllib.parse import urlparse
|
||||||
|
|
||||||
|
|
||||||
@@ -78,9 +79,8 @@ def _get_engine(request):
|
|||||||
|
|
||||||
def list_traces(request):
|
def list_traces(request):
|
||||||
engine = _get_engine(request)
|
engine = _get_engine(request)
|
||||||
query = {"info.user_id": request.user.id}
|
fields = ['base_id', 'timestamp', 'info.request.path', 'info']
|
||||||
fields = ['base_id', 'timestamp', 'info.request.path']
|
traces = engine.list_traces(fields)
|
||||||
traces = engine.list_traces(query, fields)
|
|
||||||
return [{'id': trace['base_id'],
|
return [{'id': trace['base_id'],
|
||||||
'timestamp': trace['timestamp'],
|
'timestamp': trace['timestamp'],
|
||||||
'origin': trace['info']['request']['path']} for trace in traces]
|
'origin': trace['info']['request']['path']} for trace in traces]
|
||||||
@@ -118,6 +118,9 @@ def update_trace_headers(keys, **kwargs):
|
|||||||
trace_info.update(kwargs)
|
trace_info.update(kwargs)
|
||||||
p = profiler.get()
|
p = profiler.get()
|
||||||
trace_data = utils.signed_pack(trace_info, p.hmac_key)
|
trace_data = utils.signed_pack(trace_info, p.hmac_key)
|
||||||
|
if six.PY3:
|
||||||
|
trace_data = [key.decode() if isinstance(key, six.binary_type)
|
||||||
|
else key for key in trace_data]
|
||||||
return json.dumps({web.X_TRACE_INFO: trace_data[0],
|
return json.dumps({web.X_TRACE_INFO: trace_data[0],
|
||||||
web.X_TRACE_HMAC: trace_data[1]})
|
web.X_TRACE_HMAC: trace_data[1]})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user