Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

1122

July 13th, 2016 11:00

Aggregation of metric across multiple parts...

I am working on a VMware guest/client report.  I wanted to provide a table with all of the Virtual Machines listed and for each Virtual Machine show how many "Virtual Disk" Read and Write IOPS they performed.

When I use the filter on the table value - Column Name = Virtual Disk Read Requests, Filter - name=='ReadRequests' & parttype=='Virtual Disk', I end up with the average read requests across all virtual disks.  What I really want it the total of the read requests that were done to all of the VMs virtual disks.

I tried to use aggregation to do this, but came up with the same behavior.  Below is what I did:

At the top level, I defined a Table report.

The next level down is setup to expand for each virtual machine (device).

There is a level below the virtual machine that is dedicated to Virtual Disks (Filter - parttype is Virtual Disk).  I define a math.spatial.sum formula here in an attempt to add up the read requests for all virtual disks. filter - name==ReadRequests, aggregation - Default, partial - false

When this formula is returned, I get the same result as if I had just used the filter for the column in the table.

I tried using "SUM" instead of Default, but then it seems to add up all of the requests on all the devices for the entire time interval since I end up with values that ware magnitudes higher than what they should be (1,000 of requests vs. 10's).

Under this Virtual Disk level, there are 2 reports - one for a table of the virtual disks and one to graph the metrics for all the virtual disks.

The table report lists each of the virtual disks along with the metrics for them and a summary at the bottom (this is where I can show that the virtual disk reads at the VM table do not sum up the total).

Perhaps someone has a way to make the report perform what I am trying to do...

2 Intern

 • 

166 Posts

July 20th, 2016 01:00

Hi Michael,

Here is ( Virtual Machines vDisk Performance Template.xml ) a report which I think satisfies your use-case.

The problem you are facing in your report implementation is in order to be able to sum your data ; you must to create one array of values per time-series you manipulate.

In other terms you have to expand on every vDisk & roll-up the metric into a Nop or a MakeRange formula ; then do your sum.

If you just use the filter (no expansion, no formula) the report engine will select every raw data and average it in a single array of time-series values. Your formula basically do nothing here.

If you start to dive into the report edition mode that's why you will see so many formula (MakeRange & Nop).

Another subtlety is the time management of each cell has an impact, especially the aggregation.

In the example I attached you will see for each VM and according vDisk the last know value (aka aggregate last). But I could have display the average on the period or the max.

Let me know if it works for you.

July 20th, 2016 11:00

Thanks for the information and report.  This is exactly what I was looking for.

No Events found!

Top