[openstack-dev] In memory joins in Nova

2015-08-11 Thread Sachin Manpathak
Hi folks, Nova codebase seems to follow manual joins model where all data required by an API is fetched from multiple tables and then joined manually by using (in most cases) python dictionary lookups. I was wondering about the basis reasoning for doing so. I usually find openstack services to be

Re: [openstack-dev] In memory joins in Nova

2015-08-11 Thread Sachin Manpathak
Here are a few -- instance_get_all_by_filters joins manually with instances_fill_metadata -- https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L1890 https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L1782 Almost all instance query functions manually

Re: [openstack-dev] In memory joins in Nova

2015-08-11 Thread Sachin Manpathak
this consuming a significant amount of CPU time? Or is it more a gut feel of this looks like it might be expensive? Chris On 08/11/2015 04:51 PM, Sachin Manpathak wrote: Here are a few -- instance_get_all_by_filters joins manually with instances_fill_metadata -- https://github.com/openstack

Re: [openstack-dev] In memory joins in Nova

2015-08-12 Thread Sachin Manpathak
Thanks, This feedback was helpful. Perhaps my paraphrasing was misleading. I am not running openstack at scale in order to see how much the DB can sustain. My observation was that the host running nova services saturates on CPU much earlier than the DB does. Joins could be one of the reasons. I

[openstack-dev] [Ceilometer] Capturing isolated events

2015-10-01 Thread Sachin Manpathak
Can ceilometer-gurus advise? [For Ceilometer/Juno] Use case: catch instance creation error notifications with ceilometer. I tried the notifications as well as metering route, but haven't quite figured out how to do this -- - Added a notification class to ceilometer