cryostatio/cryostat

Self-hosted performance data capture, storage, and analysis for containerized JVMs

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 49 minutes ago
Added to GitGenius on December 13th, 2023
Created on January 9th, 2019
Open Issues & Pull Requests: 81 (+0)
Number of forks: 16
Total Stargazers: 56 (+0)
Total Subscribers: 4 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.4 hours
Mean response time: 61.3 days
90th percentile: 167.5 days
Tracked items: 266

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 17% of open issues come from outside the core team — the tracker reads mainly as internal planning. Work labelled "bug" is answered fastest, typically in under an hour, while "feat" waits about 8 weeks. 43% of tracked open issues have had no activity in three months. Only 8% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 64
New in 7 days: 5
Closed in 7 days: 1
Avg open age: 227 days
Stale 30+ days: 50
Stale 90+ days: 41

Recent activity

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

Top labels

  • bug (160)
  • feat (115)
  • chore (32)
  • needs-documentation (21)
  • question (21)
  • ci (15)
  • needs-triage (15)
  • high-priority (13)

Detailed Description

Cryostat is a container-native Java application that provides self-hosted performance data capture, storage, and analysis for containerized JVMs. Written primarily in Java and built on the Quarkus framework, it acts as a bridge to other containerized JVMs and exposes a secure API for managing, storing, retrieving, and analyzing JDK Flight Recorder data, thread dumps, heap dumps, async-profiler sessions, and related diagnostic information from cloud workloads. The project is designed to enable data sovereignty by allowing organizations to maintain performance monitoring infrastructure within their own environments rather than relying on external services.

The repository serves as the source for Cryostat versions 3.0 and later, with earlier versions maintained separately in the cryostat-legacy repository. The project is part of a broader ecosystem that includes the cryostat-agent for target application discoverability, cryostat-core as a convenience wrapper for JFR operations, cryostat-operator for Kubernetes and OpenShift deployments, cryostat-helm for Helm-based deployments, and cryostat-web as the React-based frontend. The application can be deployed on OpenShift, Kubernetes, or other container platforms that support OCI containers.

Building Cryostat requires JDK 25 or later, Maven 3 or higher, Quarkus CLI 3.33.1 or later, and Podman 4.7 or later. The project supports development workflows including live coding mode for backend development and separate frontend development setups. For deployment and testing, the project provides smoketest capabilities through Docker Compose or Podman Compose, with configuration generation scripts that support various deployment scenarios including external S3-compatible object storage integration.

The repository's classification spans performance metrics, JVM monitoring, distributed tracing, performance analysis, instrumentation, garbage collection statistics, resource utilization, thread diagnostics, profiling, and Java application metrics. It addresses production environment monitoring needs for distributed systems and microservices architectures, providing real-time data collection, metrics aggregation, and telemetry capabilities specific to HotSpot JVM environments. The project emphasizes observability and resource usage tracking for containerized Java applications, complementing tools like JDK Mission Control and binjr for comprehensive performance analysis workflows.