Skip to main content
The Flexprice Collector makes it easy to send usage data into Flexprice. It takes care of reading, transforming, and delivering events so you don’t have to worry about scaling or building custom pipelines. Just plug in your data source, and the collector handles the rest.

How It Works

The Flexprice Collector is built on Bento, a robust stream processing tool. Bento’s strong delivery guarantees and retry capabilities make it ideal for reliable event ingestion. The collector connects your data sources (Kafka, webhooks, databases) to Flexprice through a processing pipeline with three components:
  • Inputs read data from various sources (Kafka, webhooks, databases, files)
  • Processors validate, transform, and filter data to match Flexprice format
  • Outputs send data to Flexprice API with bulk batching and retry logic

Key Features

The Flexprice Collector is optimized for high-performance usage metering:
  • Automatic Batching: Groups events for bulk ingestion (10 events or 2s by default)
  • Smart Routing: Uses /events for single events, /events/bulk for batches
  • Retry Logic: Exponential backoff ensures no data loss on network failures
  • High Throughput: Configurable batching and output concurrency let you tune ingestion for your workload

Ingesting Data into Flexprice

The collector always outputs to the Flexprice API:
Transform your data to match Flexprice event format:
Configure your input source. Example with Kafka:
The collector supports 100+ input sources. Learn more in the Bento documentation.

Installation

The Flexprice Collector is available via:
  • Binaries from GitHub Releases
  • Container images
  • Kubernetes deployment (see Get Started guide)

Performance & Reliability

The collector forwards events to the Flexprice platform, which processes 40,000+ events per second and 10 billion+ API requests per month. Throughput for an individual collector depends on its resources, batching, and output concurrency. See Ingestion performance. The collector provides:
  • Bulk Ingestion: Configurable batch sizes; the bulk event API accepts up to 1,000 events per request. Set batching.count within this limit
  • Automatic Retries: Failed events retry with exponential backoff
  • At-Least-Once Delivery: Kafka consumer groups ensure no data loss
  • Observability: Prometheus metrics and structured logging
Contact support@flexprice.io for performance tuning assistance.