Provide a wider range of aggregate functions

Registered by Eoghan Glynn

Currently, we support a limited range of aggregate functions aggregation functions: avg, sum, min, max, count.

This range should be extended to support a wider range of statistical aggregates, adding for example:

* standard deviation
* rate of change
* moving-window averages
* percentile of various ranks, e.g. p99 for API responsiveness

It would also be useful to support a capabilities-style operation to allow caller discover the available aggregation functions.
(Especially since aggregates might be specific to individual storage-drivers, e.g. where some aggregate can be very efficiently calculated via mongodb MapReduce, but prohibitively expensive for say sqlalchemy).

Blueprint information

Status:
Complete
Approver:
Julien Danjou
Priority:
Medium
Drafter:
Eoghan Glynn
Direction:
Approved
Assignee:
Eoghan Glynn
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Eoghan Glynn
Completed by
Julien Danjou

Related branches

Sprints

Whiteboard

WIP patch: https://review.openstack.org/70454

Addressed by: https://review.openstack.org/76278
    Wider selection of aggregates for sqlalchemy

Addressed by: https://review.openstack.org/76879
    Wider selection of aggregates for mongodb

Addressed by: https://review.openstack.org/76975
    Test skipping logic for DB func unsupported by sqlite

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.