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.
With SDKs, you get more control and immediate feedback (response codes). Additionally, SDKs include the 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 choose 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 the batch and rate of flush can be configured.
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.
We would strongly advise you to use 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 third-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 with 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). Although logging systems are not designed for metering, it is not uncommon for companies to try to use logging as a "catch-all" for usage data streams since logging is integrated with 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 'Integrations' section of this guide to see when new connectors are made available. If you have a specific request, please contact us.
See Log Ingestion