PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Stripe

Design a Distributed Metrics Counter

Last updated: Apr 6, 2026

Quick Overview

This question evaluates a candidate's competency in designing scalable, highly available distributed systems for real-time telemetry ingestion and aggregation, covering concepts such as sharding, replication, durable storage, rollups, consistency trade-offs, and exact versus approximate counting.

  • hard
  • Stripe
  • System Design
  • Software Engineer

Design a Distributed Metrics Counter

Company: Stripe

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a distributed metrics counter service for internal product telemetry. The service should support: - `increment(metric_name, delta, tags, timestamp)` - `get_count(metric_name, tag_filters, start_time, end_time, granularity)` Requirements: - ingest millions of counter updates per second from many services; - provide near-real-time visibility, with recent data queryable within a few seconds; - support aggregation by second, minute, and hour; - remain available during machine or zone failures; - store data durably for historical queries; - handle hot metrics, retries, and high-cardinality tags; - explain tradeoffs between exact and approximate counting. Describe the API, data model, write path, read path, sharding, storage choices, rollups, failure recovery, and scaling strategy.

Quick Answer: This question evaluates a candidate's competency in designing scalable, highly available distributed systems for real-time telemetry ingestion and aggregation, covering concepts such as sharding, replication, durable storage, rollups, consistency trade-offs, and exact versus approximate counting.

Related Interview Questions

  • Design a Superhero Dispatch System - Stripe (medium)
  • Design a superhero incident dispatch system - Stripe (medium)
  • Design a Merchant Ledger Service - Stripe (medium)
  • Design a local activity counter service - Stripe (hard)
  • Design ledger and bikemap integration - Stripe (hard)
Stripe logo
Stripe
Mar 1, 2026, 12:00 AM
Software Engineer
Onsite
System Design
6
0
Loading...

Design a distributed metrics counter service for internal product telemetry.

The service should support:

  • increment(metric_name, delta, tags, timestamp)
  • get_count(metric_name, tag_filters, start_time, end_time, granularity)

Requirements:

  • ingest millions of counter updates per second from many services;
  • provide near-real-time visibility, with recent data queryable within a few seconds;
  • support aggregation by second, minute, and hour;
  • remain available during machine or zone failures;
  • store data durably for historical queries;
  • handle hot metrics, retries, and high-cardinality tags;
  • explain tradeoffs between exact and approximate counting.

Describe the API, data model, write path, read path, sharding, storage choices, rollups, failure recovery, and scaling strategy.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Stripe•More Software Engineer•Stripe Software Engineer•Stripe System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.