Event namespace in CloudWatch will be a concatenation of all of these.
Event namespace in CloudWatch will be a concatenation of all of these. Every time you enter a namespace it'll get appended to the current one, e.g. "a / b / c".
Requests metric data to be sent asynchronously.
Requests metric data to be sent asynchronously. It will block only to schedule async tasks, shouldn't be noticeable under low contention. HTTP service calls are asynchronous.
http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html
type of the object we convert to metrics data
object to send metrics data for
evidence that ToCloudWatchMetricsData implementation exists for type A
Brackets a block of asynchronous code (Future result) and puts a given metric if an exception occurs either synchronously or wrapped in the result of the Future.
Brackets a block of asynchronous code (Future result) and puts a given metric if an exception occurs either synchronously or wrapped in the result of the Future.
type of metric
type of result
construct metric from throwable (e.g. you may want to report different exceptions differently)
block of code to run
evidence that ToCloudWatchMetricsData implementation exists for type A
result of the execution of the given closure
Brackets a block of code and puts a given metric if an exception occurs.
Brackets a block of code and puts a given metric if an exception occurs.
type of metric
type of result
construct metric from throwable (e.g. you may want to report different exceptions differently)
block of code to run
evidence that ToCloudWatchMetricsData implementation exists for type A
result of the execution of the given closure
Run a closure with a namespaced CW metrics client, just a convenience function.
Run a closure with a namespaced CW metrics client, just a convenience function.
closure result type
namespace to enter
closure to run
closure result
Push selected metrics to AWS CloudWatch. Some are meant to be 'system health' metrics, like our Future-based RPC call times. Some are meant to be 'business' metrics, like number of logins.
Trait exists mainly to make it possible to inject this as a dependency.