Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
Key benefits Low memory usage Prom++ optimizes the most resource-intensive part of Prometheus: storing time-series data in the Write-Ahead Log (WAL). By applying advanced compression to WAL data witho
Translation pending
DataGo · C++GitHub @deckhouseOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Deckhouse Prom++ – high-performance fork of Prometheus, designed to significantly reduce memory consumption
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Deckhouse Prom++ is an open-source, high-performance fork of Prometheus, designed to significantly reduce memory consumption while maintaining full compatibility with the original project.
Deckhouse Prom++ builds upon Prometheus, one of the most widely used monitoring and time-series databases. It retains full compatibility with Prometheus, including:
• Configuration files
• API endpoints
• Storage block format
• All functional capabilitiesRead the full README ↗Deckhouse Prom++ is an open-source, high-performance fork of Prometheus, designed to significantly reduce memory consumption while maintaining full compatibility with the original project.
Deckhouse Prom++ builds upon Prometheus, one of the most widely used monitoring and time-series databases. It retains full compatibility with Prometheus, including:
While staying true to Prometheus' core principles, Deckhouse Prom++ introduces major optimizations by rewriting in C++ the most resource-intensive components: in-memory block construction and Write-Ahead Log (WAL) management.
Drastically reduced memory usage Through optimized memory handling, Deckhouse Prom++ reduces memory consumption by up to 10x, while maintaining full compatibility with existing Prometheus storage formats.
Effortless migration Deckhouse Prom++ is a drop-in replacement for Prometheus, allowing users to switch seamlessly without modifying their configurations, data, or workflows.
Deckhouse Prom++ is fully compatible with Prometheus. Once installed, simply replace Prometheus with Deckhouse Prom++ — no configuration changes are needed.
Example configurations can be found here.
Deckhouse Prom++ uses a different WAL (Write-Ahead Log) format but remains fully compatible with historical blocks. Since WAL contains the last 1.5 blocks of data (typically around 3 hours), if you plan to use Deckhouse Prom++ as a replacement for Prometheus, WAL conversion is required to prevent data loss.
Refer to the Migration Guide for detailed conversion steps.
Download the latest binary from the Releases page.
Run it as a direct replacement for Prometheus:
./prompp --config.file=prometheus.yml --storage.tsdb.path=data/
Deckhouse Prom++ is available as a Docker image on Docker Hub.
To quickly run a container:
docker run --name prompp -d -p 127.0.0.1:9090:9090 prompp/prompp
Once running, Deckhouse Prom++ will be accessible at http://localhost:9090/.
You can also add own config for Prom++ by passing config.file parameter
docker run --name prompp -v /path/on/host/prometheus.yml:/etc/prometheus.yml -d -p 127.0.0.1:9090:9090 prompp/prompp --config.file=/etc/prometheus.yml
Create a file prompp.yaml with the following configuration (other settings may be required depending on your setup):
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: example-prometheus
namespace: monitoring
spec:
image: prompp/prompp:<tag> # Replace Prometheus with Deckhouse Prom++
securityContext:
fsGroup: 64535
runAsGroup: 64535
runAsNonRoot: true
runAsUser: 64535
# Additional parameters may be required based on your installation
Apply the updated resource:
kubectl apply -f prompp.yaml
If migrating manually, use the prompptool utility included in the release:
prompptool walvanilla --working-dir <path to prometheus data dir>
prompptool walpp --working-dir <path to prometheus data dir>
Create a file prompp-migration.yaml with the following configuration (additional parameters may be required based on your installation):
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: example-prometheus
namespace: monitoring
spec:
...
image: prompp/prompp:<tag> # Replace Prometheus with Deckhouse Prom++
securityContext:
fsGroup: 64535
runAsGroup: 64535
runAsNonRoot: true
runAsUser: 64535
initContainers:
- name: prompptool
image: prompp/prompp:<tag>
command:
- /bin/prompptool
- "--working-dir=/prometheus"
- "walvanilla"
volumeMounts:
- name: prometheus-main-db
mountPath: /prometheus
subPath: prometheus-db
resources:
requests:
cpu: "100m"
memory: "128Mi"
# Additional parameters may be required based on your installation
Apply the updated resource:
kubectl apply -f prompp-migration.yaml
Modify the initContainer in your prompp-migration.yaml file:
command:
- /bin/prompptool
- "--working-dir=/prometheus"
- "--verbose"
- "walpp"
Apply the changes again:
kubectl apply -f prompp-migration.yaml
Refer to CONTRIBUTING.md
Apache License 2.0, see LICENSE.
In addition to common GitHub features, here are some other online resources related to Deckhouse Prom++: