+1 to adding countOnly flag.


On 06-Nov-2012, at 7:02 AM, Vijaykumar Natarajan wrote:

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


I think listAccounts already gives that info for vms, ips, volumes count etc. 
belonging to that account.
Thats what the UI also uses to get the count info for a particular account.
 

> 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