SenseDeep Release -- Custom Metrics
I’m happy to announce SenseDeep 3.9 with support for CustomMetrics.
This release eliminates any SenseDeep CloudWatch Metrics costs and offers faster, low cost metrics for your apps.
Previous SenseDeep releases used CloudWatch Metrics for extended Lambda and DynamoDB metrics.
However, CloudWatch charges based on the number of metrics sent to the service and the frequency of updating or querying metrics. So the use of these CloudWatch metrics became a significant cost for users with a large number of Lambdas.
This release replaces the use of CloudWatch Metrics with [CustomMetrics](https://npmjs.com/package/custom-metrics] for Lambda, DynamoDB and for metrics for your apps.
CustomMetrics presents a cost-effective alternative metrics API that is considerably more budget-friendly and efficient compared to standard CloudWatch metrics.
The cost savings achieved by CustomMetrics are due to its focus on providing only the most recent period metrics, such as those from the last day, last month, last hour, last 5 minutes, and so on.
We still support CloudWatch metrics of course, but internally, SenseDeep has eliminated the use of CloudWatch Metrics to offer a more cost effective solution.
Dashboards and Widgets
The SenseDeep dashboard and widgets have been updated to support data from CustomMetrics and AWS CloudWatch metrics.
When configuring widgets to display CustomMetric data, you select the DynamoDB table containing the metrics (and similarly to CloudWatch metrics) the namespace, metric name, statistic and resource dimensions.
When configuring AWS CloudWatch metrics, you enter “AWS CloudWatch” in the Origin field, then select the SenseDeep Cloud, namespace, metric name, statistic and ressource dimensions. To avoid confusion, AWS CloudWatch metric namespaces are now prefixed with “@”. For example: “@AWS/Billing”.
The Lambda Studio, and App Studio are now faster to gather and render Lambda metrics due to CustomMetrics. But otherwise, the functionality is unchanged.
The DynamoDB Studio supports detailed single table metrics. Previously, the cost of single table metrics could be very large due to the high dimensionality of the OneTable metrics. OneTable now also supports CustomMetrics and so the cost of these metrics is dramatically reduced.
Here is some background on CustomMetrics. You can read all about them in the blog post: Custom Metrics – Simple, Cost-Effective Metrics for AWS.
CustomMetrics is a NodeJS library designed to emit and query custom metrics for AWS applications. Is offers the following features:
- Similar metric model to AWS CloudWatch for supporting namespaces, metrics, dimensions, statistics and intervals.
- Computes statistics for: average, min, max, count and sum.
- Computes P value statistics with configurable P value resolution.
- Supports a default metric intervals of: last 5 mins, hour, day, week, month and year.
- Configurable custom intervals for different metric timespans and intervals.
- Fast and flexible metric query API.
- Query API can return data points or aggregate metric data to a single statistic.
- Scalable to support many simultaneous clients emitting metrics.
- Stores data in any existing DynamoDB table and coexists with existing app data.
- Supports multiple services, apps, namespaces and metrics in a single DynamoDB table.
- Extremely fast initialization time.
- Written in TypeScript with full TypeScript support.
- Clean, readable, small, TypeScript code base (~1.3K lines).
- SenseDeep support for visualizing and graphing metrics.
- DynamoDB Onetable supports CustomMetrics for detailed single table metrics.
Start your free 14 day trial of the SenseDeep Developer Studio.