Observability tools weren't built for your custom business metrics
Trifle is a purpose-built time-series metrics platform. Minimal, composable, and works with your existing database.
The problem with existing tools
Every option comes with tradeoffs that developers shouldn't have to accept.
Infrastructure Overhead
A Prometheus stack brings a labeled TSDB, collection decisions, and Grafana dashboards. Excellent for system telemetry; sometimes disproportionate for a few business counters.
Broader Platform
Datadog can track business metrics. But when you only need known rollups, its observability scope and tag-based series model may be more platform than the job needs.
DIY Spaghetti
Custom SQL rollup jobs, cron-based aggregators, manually maintained materialized views. They work until they don't.
Trifle's approach
Three principles that make business metrics simple.
Works with your existing database
PostgreSQL, MongoDB, Redis, or SQLite. No new infrastructure to deploy, monitor, or pay for.
One call, many metric paths
Track count, revenue, states, and bounded nested breakdowns in a single call. Put unbounded entities in separate metric keys.
Library-first, platform-optional
Start with just the library in your language. Add the App when you need dashboards. Add the CLI when you need terminal access or AI agent integration.
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 |
Who it's for
Trifle is built for teams that need business metrics without the ops burden.
Developers tracking custom business metrics
Revenue, orders, signups, feature usage -- metrics that live in your application code, not your infrastructure.
Teams needing dashboards without infrastructure overhead
Give your PM access to metrics without deploying Grafana, configuring datasources, and maintaining dashboards as YAML.
AI-forward teams wanting MCP integration
Let your AI coding agents query real metrics while analyzing your code. Context-aware insights, not just raw numbers.
Who it's not for
Trifle does one thing well. These use cases are better served by other tools.
Raw log aggregation
If you need full-text log search, use ELK or Datadog Logs.
APM/tracing-only
If you only need request traces and flame graphs, use Datadog APM or Jaeger.
Real-time streaming
If you need sub-second event streaming, use Kafka or Flink.
How DropBot tracks 80M+ daily calculations
80M+
Products calculated daily
Millions
Background jobs traced
Real-time
Anomaly detection
"Being able to track source events and calculations gives us insight into how our system is operating."
DropBot uses Trifle::Stats to track product calculations across their entire pipeline. Every price comparison, every retailer fetch, and every deal calculation is recorded with hierarchical breakdowns by source, category, and retailer.
With Trifle::Traces, they monitor millions of background jobs, identifying bottlenecks and failures before they impact users. The combination gives them a complete picture of both what their system is doing and how well it is doing it.
Built by developers, for developers
Trifle is bootstrapped and independent. No VC pressure to upsell. We build what developers need, not what investors want.
Founding customers shape the roadmap. Every feature starts with a real developer need.
See it in action
Start tracking your business metrics in minutes. Or self-host the source-available version for free.