<div dir="ltr">Hi stackers,<div><br></div><div>I updated OSprofiler spec: <a href="https://review.openstack.org/#/c/103825/">https://review.openstack.org/#/c/103825/</a> reviews are required. </div><div><br></div><div><br></div><div>Best regards,</div><div>Boris Pavlovic  <div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 9, 2015 at 2:57 AM, Boris Pavlovic <span dir="ltr"><<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi stackers,<div><br></div><div>Intro</div><div>-------</div><div><br></div><div>It's not a big secret that OpenStack is huge and complicated ecosystem of different</div><div>services that are working together to implement OpenStack API. </div><div><br></div><div>For example booting VM is going through many projects and services: nova-api, nova-scheduler, nova-compute, glance-api, glance-registry, keystone, cinder-api, neutron-api... and many others. </div><div><br></div><div>The question is how to understand what part of the request takes the most of the time and should be improved. It's especially interested to get such data under the load. </div><div><br></div><div>To make it simple, I wrote OSProfiler which is tiny library that should be added to all OpenStack </div><div>projects to create cross project/service tracer/profiler. </div><div><br></div><div>Demo (trace of CLI command: nova boot) can be found here: <a href="http://boris-42.github.io/ngk.html" target="_blank">http://boris-42.github.io/ngk.html</a></div><div><br></div><div>This library is very simple. For those who wants to know how it works and how it's integrated with OpenStack take a look here: <a href="https://github.com/openstack/osprofiler/blob/master/README.rst" target="_blank">https://github.com/openstack/osprofiler/blob/master/README.rst</a></div><div><br></div><div>What is the current status? </div><div>-----------------------------------</div><div><br></div><div>Good news: </div><div>- OSprofiler is mostly done </div><div>- OSprofiler is integrated with Cinder, Glance, Trove & Ceilometer </div><div><br></div><div>Bad news: </div><div>- OSprofiler is not integrated in a lot of important projects: Keystone, Nova, Neutron </div><div>- OSprofiler can use only Ceilometer + oslo.messaging as a backend </div><div>- OSprofiler stores part of arguments in api-paste.ini part in project.conf which is terrible thing</div><div>- There is no DSVM job that check that changes in OSprofiler don't break the projects that are using it </div><div>- It's hard to enable OSprofiler in DevStack</div><div><br></div><div>Good news: </div><div>I spend some time and made 4 specs that should address most of issues: </div><div><a href="https://github.com/openstack/osprofiler/tree/master/doc/specs" target="_blank">https://github.com/openstack/osprofiler/tree/master/doc/specs</a><br></div><div><br></div><div>Let's make it happen in Mitaka!</div><div><br></div><div>Thoughts?</div><div>By the way somebody would like to join this effort?) </div><div><br></div><div><div>Best regards,</div><div>Boris Pavlovic <br><div><br></div><div><br></div></div></div></div>
</blockquote></div><br></div>