prometheus
by
prometheus

Description: The Prometheus monitoring system and time series database.

View on GitHub ↗

Summary Information

Updated 13 minutes ago
Added to GitGenius on April 7th, 2021
Created on November 24th, 2012
Open Issues & Pull Requests: 872 (+1)
Number of forks: 10,754
Total Stargazers: 65,124 (+2)
Total Subscribers: 1,189 (+0)

Issue Activity (beta)

Open issues: 502
New in 7 days: 3
Closed in 7 days: 1
Avg open age: 800 days
Stale 30+ days: 455
Stale 90+ days: 381

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 4
Events in 7 days: 15

Top labels

  • priority/P3 (284)
  • help wanted (239)
  • kind/feature (227)
  • kind/bug (204)
  • kind/enhancement (204)
  • component/promql (136)
  • priority/Pmaybe (130)
  • component/tsdb (122)

Repository Insights (GitGenius)

Median issue/PR response: 9.9 hours
Mean response time: 61.3 days
90th percentile: 207.8 days
Tracked items: 1,931

Most active contributors

Detailed Description

Prometheus is a Cloud Native Computing Foundation project that functions as a systems and service monitoring system with an integrated time series database. Written in Go, it collects metrics from configured targets at specified intervals, evaluates rule expressions against those metrics, displays results through graphing and dashboarding interfaces, and triggers alerts when specified conditions are met. The system distinguishes itself through several core architectural decisions: a multi-dimensional data model where time series are defined by metric name and key-value dimension pairs, PromQL as a powerful and flexible query language designed to leverage that dimensionality, autonomous single-server nodes that require no distributed storage dependency, an HTTP pull model for time series collection supplemented by push support via an intermediary gateway for batch jobs, service discovery capabilities alongside static configuration options, and support for hierarchical and horizontal federation.

The repository shows substantial ongoing development activity with a median issue and pull request response latency of 9.9 hours across 1930 tracked items, though mean latency extends to 1472.1 hours reflecting occasional complex discussions. The most active issue labels are priority/P3 with 284 items, help wanted with 239 items, and kind/feature with 227 items, indicating a healthy balance between bug fixes and feature development. Core contributors beorn7, bboreham, and roidelapluie have driven 2372, 948, and 873 events respectively, establishing a stable maintainer base. The project's contributor network overlaps with major repositories including microsoft/vscode, microsoft/typescript, and rust-lang/rust, suggesting cross-pollination with other significant open source ecosystems.

Installation options include precompiled binaries from prometheus.io, Docker images available on Quay.io and Docker Hub, and building from source using Go and Node.js. Building from source requires Go version specified in go.mod and Node.js version specified in .nvmrc, with npm version 10 or greater. The build system provides multiple targets including make build for compiling binaries with embedded web assets, make test for running the full test suite, make test-short for abbreviated testing, and make assets for building the React UI separately. Service discovery functionality is modular, with build tags allowing customization of which service discovery plugins are included, supporting optional exclusion of all service discoveries except file_sd, static_sd, and http_sd.

The Prometheus codebase explicitly distinguishes between the main prometheus/prometheus repository, which builds a standalone program not designed for library use, and companion repositories like prometheus/common and prometheus/client-golang that serve as reusable libraries. Remote Write functionality is published independently as protobuf definitions on buf.build. The project uses a versioning scheme where Prometheus v3.y.z releases are published as equivalent v0.3y.z Go module tags with zero-padded y values, while v2.y.z releases map to v0.y.z tags, allowing library users to depend on specific versions while acknowledging that internal Go APIs may break between minor releases. The React-based UI has its own development documentation in web/ui/README.md, and the project is licensed under Apache License 2.0.

prometheus
by
prometheusprometheus/prometheus

Repository Details

Fetching additional details & charts...