Meter Ingestion Options

A successful usage-based business model with metered billing is built on the backs of an accurate usage data collection strategy.

Amberflo provides multiple easy ways for you to begin data collection without having to re-tool.

SDK

With SDKs, you get more control and immediate feedback (response codes). Additionally, SDKs include ability to batch records and flush on demand.

Batching Records
Amberflo.io libraries are built to support high throughput environments. That means you can safely send hundreds of meter records per second. For example, you can chose to deploy it on a web server that is serving hundreds of requests per second and be confident it will remain accurate and available from day one.

However, every call does not result in an HTTP request, but is queued in memory instead. Messages are batched and flushed in the background, allowing for much faster operation. The size of batch and rate of flush can be customized.

Flush on demand (Blocking call)
You can flush on demand. For example, at the end of your program, you’ll want to flush to make sure there’s nothing left in the queue. Just call the flush method:

metering.flush()

Please note: Calling this method will block the calling thread until there are no messages left in the queue. So, you’ll want to use it as part of your cleanup scripts and avoid using it as part of the request lifecycle.

Non SDK

We would strongly advise you toward using our SDK for AWS S3 - which offers the best of both worlds - i) you get rich SDK features (see above), and ii) you are ensured AWS S3 uptime SLA for meter ingestion.

Nonetheless, we certainly understand and support situations where you cannot or prefer not to use a 3rd party SDK. In this situation, we have several options for you:

Amberflo Application
The Amberflo application provides a rich collection of real-time dashboards showing usage and revenue, indexed by customer, meter name, or custom dimension.

Amberflo API
We are an API First, Platform company. All features and artifacts can be interacted with using our APIs and SDKs.
API Reference

AWS S3
Amberflo provides you an Amazon S3 bucket with access rights and controls to write meters.
S3 Ingestion

Logging Systems
Most companies have investments made in a centralized logging infrastructure (such as AWS CloudWatch). And even though logging systems are not designed for metering, it is not uncommon for companies trying to use logging as a "catch all" for data streams since logging is integrated into your system code.

You can write meter events to your logging system and Amberflo can just as easily take meter events out of your logging system. We provide a connector to AWS CloudWatch (see Connector to AWS CloudWatch). We are continuing to add to and build our list of out-of-the-box connectors. Keep a watch on the 'Integration' section of this guide to see when new connectors are made available. If you have a specific request, please contact us.

See Log Ingestion