PitchHut logo
Real-time service monitoring through expressive Chernoff faces.
Pitch

ChernoffOT transforms service health into engaging cartoon faces, providing an intuitive visual representation of system status. By integrating with Prometheus-compatible endpoints, it enables effortless monitoring. With ChernoffOT, spotting outages is as simple as interpreting facial expressions, allowing for swift identification and resolution of issues.

Description

ChernoffOT: Real-Time Service Monitoring Using Chernoff Faces

ChernoffOT provides a unique solution for monitoring service health through expressive cartoon faces. By visualizing service status—where happy faces denote functional services and angry faces indicate potential issues—users can swiftly identify outages and performance dips. This innovative approach enables seamless querying of any Prometheus-compatible endpoint, including major providers like Amazon Managed Prometheus, Google Managed Prometheus, or Grafana Cloud.

Features

  • Automatic Service Discovery: No need for manual registration. ChernoffOT automatically discovers services, categorizing them into types such as app, database, cache, queue, and worker.
  • Customizable Visuals: Services are represented as faces, with facial features reflecting key performance metrics. Specific metrics control each feature:
    • Mouth: Reflects error rate (smiling for low errors, frowning for high errors).
    • Eye Size: Represents latency, scaling from calm to startled.
    • Brow Angle: Indicates traffic anomalies, from relaxed to angry.
    • Head Color: Shows health scores, transitioning from green to red as health declines.
  • Support for Multiple Backends: Works with any PromQL-compatible backend, facilitating integration with various monitoring solutions.

Architecture Overview

Your Services → Prometheus-compatible backend → ChernoffOT → 🎭 Faces

ChernoffOT fetches service metrics via PromQL queries, transforming these data into intuitive visual representations.

Configuration Options

ChernoffOT is configured through environment variables, providing flexibility and sensible defaults for effective monitoring:

VariableDefaultDescription
PROMETHEUS_URLhttp://localhost:9090Your Prometheus-compatible endpoint
PORT3000Port for the ChernoffOT server
REFRESH_INTERVAL15Dashboard refresh interval in seconds

Supported Metrics and Types

ChernoffOT utilizes specific metrics to classify services automatically and optimize performance through tailored PromQL queries:

TypeDetection Signals
Applicationhttp_server_*, http_requests_*, grpc_server_*
Databasepostgres_*, mysql_*, mongodb_*, and locking metrics
Cacheredis_*, memcached_*
Queuekafka_*, rabbitmq_*, nats_*
Workerjob_*, task_*, queue consumer metrics

Tech Stack

  • Runtime: Bun - a fast JavaScript/TypeScript runtime.
  • Frontend: Built with Vanilla JS and SVG, offering simplicity without a dependency on complex frameworks.
  • Backend: Efficiently implemented in a single TypeScript file, minimizing the code base while maximizing functionality.
  • Minimal Container Size: The Alpine-based image is designed to be lightweight, under 100MB.

Try ChernoffOT

Run the application locally through Docker or from source, and configure it to connect to your preferred Prometheus backend to start visualizing your service health immediately. ChernoffOT makes monitoring accessible and engaging, improving overall infrastructural awareness.

0 comments

No comments yet.

Sign in to be the first to comment.