<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Yes, aggregate syntax documentation has room for improvement.
However, Gnocchi's API documentation has a rather useful list of
supported operations at
<a class="moz-txt-link-freetext" href="https://gnocchi.xyz/rest.html#list-of-supported-operations">https://gnocchi.xyz/rest.html#list-of-supported-operations</a>. See
also my recent issue
<a class="moz-txt-link-freetext" href="https://github.com/gnocchixyz/gnocchi/issues/1044">https://github.com/gnocchixyz/gnocchi/issues/1044</a>, which helped me
understand how aggregation works in Gnocchi. <br>
</p>
<p>Note that you can write an aggregate operation as a string using
prefix notation, or as a JSON structure. On the command line, the
string version is easier to use in my opinion.<br>
</p>
<p>Regarding your use case, allow me to focus on CPU. Ceilometer'<i>s
cpu</i> metric accumulates the nanoseconds an instance consumes.
Try <i>max</i> aggregation to look at the CPU usage of a single
instance:</p>
<p><tt> gnocchi measures show --aggregation max --resource-id
SERVER_UUID cpu<br>
</tt></p>
<p>which is equivalent to<br>
</p>
<p><tt> gnocchi aggregates '(metric cpu max)' id=SERVER_UUID</tt></p>
<p>then use <i>sum</i> aggregation over all instances of a project:</p>
<p><tt> gnocchi aggregates '(aggregate sum (metric cpu max))'
project_id=PROJECT_UUID</tt></p>
<p>You can even divide the figures by one billion, which converts
nanoseconds to seconds:</p>
<p><tt> gnocchi aggregates '(/ (aggregate sum (metric cpu max))
1000000000)' project_id=PROJECT_UUID</tt></p>
<p>If that works, it should not be too hard to do something
equivalent for memory and storage.</p>
<p>Bernd.<br>
</p>
<div class="moz-cite-prefix">On 8/5/2019 5:43 PM, Blom, Merlin,
NMU-OI wrote:<br>
</div>
<blockquote type="cite"
cite="mid:AM0PR04MB441807D6926538C92F75A55291DA0@AM0PR04MB4418.eurprd04.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage19
{mso-style-type:personal-compose;
font-family:"Arial",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1126434903;
mso-list-type:hybrid;
mso-list-template-ids:-1132842032 -722423854 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l0:level1
{mso-level-start-at:185;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:DengXian;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hey,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I would like to
aggregate data from the gnocchi database by using the
gnocchi aggregates function of the CLI/API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The documentation does
not cover the operations that are available nor the syntax
that has to be used:<o:p></o:p></span></p>
<p class="MsoNormal"><a
href="https://gnocchi.xyz/gnocchiclient/shell.html?highlight=reaggregation#aggregates"
moz-do-not-send="true"><span lang="EN-US">https://gnocchi.xyz/gnocchiclient/shell.html?highlight=reaggregation#aggregates</span></a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Searching for more
information I found a GitHub Issue:<o:p></o:p></span></p>
<p class="MsoNormal"><a
href="https://github.com/gnocchixyz/gnocchi/issues/393"
moz-do-not-send="true"><span lang="EN-US">https://github.com/gnocchixyz/gnocchi/issues/393</span></a><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">But I cannot use the
syntax from that ether.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US">My use case:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="EN-US">I want to aggregate the
vcpus hours per month, vram hours per month, … per server or
project.<o:p></o:p></span></p>
<p class="MsoListParagraph"
style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
lang="EN-US"><span style="mso-list:Ignore">-<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]--><span lang="EN-US">when
an instance is stopped only storage is counted<o:p></o:p></span></p>
<p class="MsoListParagraph"
style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
lang="EN-US"><span style="mso-list:Ignore">-<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]--><span lang="EN-US">the
exact usage is used e.g. 2 vcpus between 1<sup>st</sup> and
7<sup>th</sup> day 4vcpus between 8<sup>th</sup> and last
month no mean calculations<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Do you have detailed
documentation about the gnocchi Aggregates Operation Syntax?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Do you have complex
examples for gnocchi aggregations? Especially when using the
python bindings:<o:p></o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US">conn_gnocchi.metric.aggregation(metrics="memory",
query=[XXXXXXXX], resource_type='instance',
groupby='original_resource_id') <o:p></o:p></span></i></p>
<p class="MsoNormal"><span lang="EN-US">Can you give me advice
regarding my use case? Do's and don'ts…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thank you for your help
in advance!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Merlin Blom<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</blockquote>
</body>
</html>