diff options
author | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2018-12-08 19:57:50 +0800 |
---|---|---|
committer | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2018-12-10 10:50:08 +0800 |
commit | 926596b93c8ea60fc7bba5cc4747dd60a8f17c90 (patch) | |
tree | 9008b38cdd5040315c6cfd464627913fcfe3ce6a /ceilometer/gnocchi_client.py | |
parent | 3387eb2183fbfed7841c54e9b6fb6109c6da6475 (diff) | |
download | ceilometer-926596b93c8ea60fc7bba5cc4747dd60a8f17c90.tar.gz |
Pass gnocchi endpoint into adapter endpoint_override param
In default, since the url in gnocchi has no netloc, it will trigger the
keystoneauth.serssion to get the gnocchi endpoint again. It will
consumer lots of CPU time and make lots of pressure on keystone service.
This patch try to pass the gnocchi endpoint into adapter through
endpoint_override parameter. It saves around almost 20% CPU time.
Change-Id: Ia0c825a2c81298c3a10fedc1ad3861f1d0b2f3e8
Diffstat (limited to 'ceilometer/gnocchi_client.py')
-rw-r--r-- | ceilometer/gnocchi_client.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ceilometer/gnocchi_client.py b/ceilometer/gnocchi_client.py index e147fd80..3d619825 100644 --- a/ceilometer/gnocchi_client.py +++ b/ceilometer/gnocchi_client.py @@ -31,10 +31,17 @@ def get_gnocchiclient(conf, request_timeout=None): pool_maxsize=conf.max_parallel_requests) session.mount("http://", adapter) session.mount("https://", adapter) + interface = conf[group].interface + region_name = conf[group].region_name + gnocchi_url = session.get_endpoint(service_type='metric', + service_name='gnocchi', + interface=interface, + region_name=region_name) return client.Client( '1', session, adapter_options={'connect_retries': 3, - 'interface': conf[group].interface, - 'region_name': conf[group].region_name}) + 'interface': interface, + 'region_name': region_name, + 'endpoint_override': gnocchi_url}) # NOTE(sileht): This is the initial resource types created in Gnocchi |