Open Source Time-Series Analytics

Track what matters.
Skip the infrastructure.

Time-series metrics that work with your existing database.

Track counters, revenue, and hierarchical data across Ruby, Elixir, and Go.

track.rb
# Track any metric in a single call
Trifle::Stats.track(
  key: 'orders',
  at: Time.now,
  values: {
    count: 1,
    revenue: 99.0,
    country: { us: 1 },
    channel: { web: 1 }
  }
)
Case Study

How DropBot tracks 80M+ daily calculations

Read the full case study
80M+

Products calculated daily

900M+

Events tracked daily

100M+

Background jobs every day

Trifle::Stats Trifle::Traces

"With Trifle, we went from zero visibility into our pricing pipeline to catching anomalies before customers notice. The combination of Stats and Traces gives us both the big picture and the ability to drill into individual job executions."

DropBot Engineering Team

How Trifle Works

Data flows in, Trifle ensures correct tracking distribution. That makes it instantly queryable at any resolution.

01 / Data in

One call in your code

A key, a timestamp, nested values. Rolled up into time buckets as you write.

02 / Data out

Buckets at any resolution

Pick a timeframe and granularity. Timestamps and values come back.

03 / Visual layer

Dashboards, alerts, digests

Trifle App reads the same database and turns keys into dashboards and monitors.

See the full walkthrough: track, store, retrieve, visualize

How Trifle compares

Different data models for different jobs. The tradeoffs matter more than checkmarks.

Decision area Trifle StatsD Prometheus + Grafana TimescaleDB SQL + materialized views PostHog
Primary job Known business KPIs Metric transport Systems monitoring Time-series SQL Database-derived reporting Product analytics
Stored unit Pre-aggregated bucket + value tree Flush aggregates in a backend Labeled time series Timestamped hypertable rows Source rows + persisted query results Events + identity
Breakdown model Nested paths + separate keys Flat names (classic) Labels Columns + SQL grouping Columns + SQL grouping Event/person properties
New breakdown later Requires a new path/key Backend-dependent Query existing labels Query retained columns Query retained columns Query stored properties
Unbounded entities Use separate metric keys Names/tags depend on dialect Avoid high-cardinality labels Retain as row values Retain as row values Retain as event properties
Dashboard path Read precomputed buckets Determined by backend Query and aggregate series SQL or continuous aggregates Run query or read refreshed view Query event history
Storage location Existing DB or hosted project Chosen backend Prometheus-compatible TSDB PostgreSQL + TimescaleDB Application/reporting database PostHog event store
Best fit Stable, high-volume app KPIs Simple universal metrics Infrastructure + services Flexible time-series SQL Auditable source-derived reports User behavior + product work
Explore all 13 source-checked comparisons

Your AI agent already knows Trifle

Install open-source Agent Skills with npx -y @trifle-io/install. Claude Code, Codex, Cursor, Hermes, Pi, and other coding agents get best practices for metric payloads, execution tracing, and CLI analytics built in.

Founding Customer

Get Cloud Pro for $399

$19/month

First 20 Trifle App customers get unlimited users and all Pro features at $19/month for life. The libraries are open source and the CLI is free to use.

I'll personally onboard the first 20 customers in a 30-minute session. We'll instrument one real metric together.

Claim Your Spot

Ready to simplify your metrics?

Start with the open-source library in your existing app, or jump straight to the dashboard for a complete analytics experience.