Introducing Service-Side Aggregation — Librato Blog

Introducing Service-Side Aggregation


Today we are announcing the general availability of our Service-Side Aggregation feature.

Service-side aggregation allows you to aggregate multiple measurements sent to the Librato API into a single complex gauge measurement. You have always been able to aggregate individual measurements at the client-side with solutions like StatsD and the Aggregator for the librato-metrics Ruby gem. However, many times these client-side solutions are either not feasible to run locally or do not aggregate from enough sources. Aggregating on the service side enables several different unique use-cases that were not possible before.

For example, with service-side aggregation you can easily compute aggregate request metrics from services that are scaled-out across multiple processes or hosts. You can also track global event counts over a distributed system by aggregating individual counts at the service-side when they occur.

With service-side aggregation, you are only billed for the aggregate measurements that we store. Aggregate measurements are stored as complex gauge measurements that you can plot using the new summary statistic graph functions.

How to enable

Service-side aggregation is only supported for gauge metrics. To enable service-side aggregation, just check the new "Service-Side Aggregation" box on the metric attribute page. You can also set a period for the metric to define the interval that aggregation occurs over.

Automatic User-Agents

You may actually be leveraging service-side aggregation already in your account. We enable service-side aggregation by default for user-agents that are typically used in environments that benefit from aggregation on the service side. These metrics set the service-side aggregation flag by default when they are created, but can be disabled by unchecking the box on the metric attribute page. See the knowledge base article for a list of user-agents that enable aggregation by default.