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.