Custom Metrics allow you to send any type of metric to AppOptics, be it the number of users who’ve performed an action, the timing of a code block, or the temperature of your datacenter racks. There’s a number of ways to submit them as well: via language bindings, open source collection agents or even a simple curl command with an HTTP POST.
There’s a number of ways to collect metrics in AppOptics:
|Method||Collector||When to use|
|Statsd collector plugin||Host agent||Drop-in for existing statsd metric collection, extensible for arbitrary metrics.|
|Custom metrics SDK||APM agents||Custom metrics reported from an APM agent can automatically be associated with the service in question and associated attributes; lower overhead than statsd, though either or both can be used without issue.|
|Full-featured API||REST API||Metric CRUD as well as full capabilities around dashboards, alerts. Use to create deeper integrations beyond just metric publishing. Client libraries available.|
|Prometheus, Fluentd, and other plugins||Host agent||Drop-in for standard and custom metric collection.|
Host agent - statsd and other plugins¶
The most common way to collect metrics is by installing the AppOptics Host Agent. The agent provides system metrics out of the box and has a very flexibly plugin architecture that allows you to install plugins for particular use cases. Among the most common is statsd support. For some plugins we have created Integrations where we carefully select the most important metrics and curate dashboards on your behalf. For many other uses cases you can use community contributed plugins to collect relevant metrics and start building custom dashboards.
APM custom metrics SDK¶
The APM agents ship with a custom metrics SDK that’s the easiest and most performant way to log metrics from within an APM-instrumented application.
Server-side data processing¶
Data processing is the ability to manipulate data after we received it via our API. You can use Composite Metrics to apply mathematical transforms to any combination of your time series.
Service-Side Aggregation (SSA) allows you to aggregate multiple measurements sent to the Librato API into a single complex gauge measurement.