<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>