IMHO,

Instead of a count or countOnly API for each resource type, it'd be better
to create a stats API which returns counts for all resources (no of vms,
no of Ips etc.). This is typically the use case (in dashboards etc) for
which the count is really useful and will avoid multiple calls to get all
this information. Not averse to the suggestion below (which can always
exist in addition to the stats API), though.

-- Cheers
Vijay




On 11/6/12 5:42 AM, "Chiradeep Vittal" <chiradeep.vit...@citrix.com> wrote:

>I like the "countOnly" idea. If it were a proper REST API, it would be
>GET /vm/count?state=Running
>And
>GET /vm?state=Running
>
>On 11/5/12 4:03 PM, "Min Chen" <min.c...@citrix.com> wrote:
>
>>Thanks Alena. Maybe we should support a query parameter "countOnly" or
>>something for count only case to avoid issuing extra sql queries.
>>
>>-min
>>
>>From: Alena Prokharchyk
>><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>Date: Monday, November 5, 2012 3:43 PM
>>To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>>, Min Chen <min.c...@citrix.com<mailto:min.c...@citrix.com>>
>>Subject: Re: Should we have separate "Count" API?
>>
>>Min,
>>
>>We didn't use separate call as well as didn't use resource count table
>>because we "count" field represents the number of DB resources matching
>>the search criteria (ignoring page/pageSize info) specified in the list*
>>api call. For example:
>>
>>listVirtualMachines&state=Running&hostId=1&page=1&pageSize=1
>>
>>In the "count" field we expect to see the only how many vms in Running
>>state, running on hostId=1 exist in the system; not the entire number of
>>vms  in the system that we keep per account in resource_count table.
>>And although only one vm object will be returned (as you requested
>>page=1&pageSize=1), you'll know how many vms in the system satisfy the
>>search criteria.
>>
>>As variation of parameters depends on particular API call, the count has
>>to be returned as a part of list* command response.
>>
>>-Alena.
>>
>>From: Min Chen <min.c...@citrix.com<mailto:min.c...@citrix.com>>
>>Reply-To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>>
>>To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-...@incubator.apac
>>h
>>e.org>>
>>Subject: Should we have separate "Count" API?
>>
>>Hi there,
>>
>>In fixing the bug regarding count of a list API today, I cannot help
>>wondering why we cannot have separate "Count" api for such purpose rather
>>than bundling this information with list API, where we basically return
>>some information that some users will just throw away since they only
>>care about count for dashboard purpose. I also noticed that in our DB
>>schema, we actually have a table "resource_count" there, not sure the
>>original rational behind this table. If we can take advantage of this
>>table (and keep the information there up-to-date), we may be able to
>>provide a very efficient way to implement such "Count' apis for most
>>commonly used cases.
>>Any thoughts on this?
>>
>>Thanks
>>-min
>>
>

Reply via email to