{"version":"1.0","provider_name":"Service  Engineering (ICCLab &amp; SPLab)","provider_url":"https:\/\/blog.zhaw.ch\/icclab","author_name":"Bruno Grazioli","author_url":"https:\/\/blog.zhaw.ch\/icclab\/author\/gaea\/","title":"Profiling the Ceilometer API to Identify Performance Bottlenecks","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"WbAvoNrGPa\"><a href=\"https:\/\/blog.zhaw.ch\/icclab\/profiling-the-ceilometer-api-to-identify-performance-bottlenecks\/\">Profiling the Ceilometer API to Identify Performance Bottlenecks<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/blog.zhaw.ch\/icclab\/profiling-the-ceilometer-api-to-identify-performance-bottlenecks\/embed\/#?secret=WbAvoNrGPa\" width=\"600\" height=\"338\" title=\"&#8220;Profiling the Ceilometer API to Identify Performance Bottlenecks&#8221; &#8212; Service  Engineering (ICCLab &amp; SPLab)\" data-secret=\"WbAvoNrGPa\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/blog.zhaw.ch\/icclab\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"We are using ceilometer to collect data energy from our servers. As noted previously we were having some performance issues and we needed to investigate further. In this blog post we will cover our approach to performing profiling on ceilometer API to determine where the problems arose. Of course, the first step was to take [&hellip;]","thumbnail_url":"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/08\/Screenshot-from-2014-08-05-144104-296x300.png"}