This commit adds a new module PVE::PullMetric. This module allows
us to store the status data of various subsystems, including status
data for the most recent pvestatd update loops. Right now, we
store 6 old generations - including the most recent values, that gives
70 seconds of stat history (based on a 10 second pvestatd update loop
interval).
This cache allows us to add support for pull-style metric collection
systems, be it Prometheus/OpenMetrics or some custom, JSON based
metric format.
This patch raises the required lib{proxmox,pve}-perl-rs version
requirements, since we need the new bindings for proxmox-shared-cache.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[WB: actually bump *runtime* deps in d/control]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
41 lines
1 KiB
Makefile
41 lines
1 KiB
Makefile
include ../defines.mk
|
|
|
|
SUBDIRS=API2 Status CLI Service Ceph Jobs
|
|
|
|
PERLSOURCE = \
|
|
API2.pm \
|
|
API2Tools.pm \
|
|
APLInfo.pm \
|
|
AutoBalloon.pm \
|
|
CertCache.pm \
|
|
CertHelpers.pm \
|
|
ExtMetric.pm \
|
|
HTTPServer.pm \
|
|
Jobs.pm \
|
|
NodeConfig.pm \
|
|
PullMetric.pm \
|
|
Report.pm \
|
|
VZDump.pm
|
|
|
|
all: pvecfg.pm $(SUBDIRS)
|
|
set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i; done
|
|
|
|
REPOID ?= $(or $(GITVERSION), $(shell git rev-parse --short=16 HEAD), unknown)
|
|
pvecfg.pm: pvecfg.pm.in
|
|
sed 's/@VERSION@/$(VERSION)/;s/@PVERELEASE@/$(PVERELEASE)/;s/@PACKAGE@/$(PACKAGE)/;s/@REPOID@/$(REPOID)/' $< >$@.tmp
|
|
mv $@.tmp $@
|
|
|
|
%:
|
|
set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
|
|
rm -rf *~ pvecfg.pm pvecfg.pm.tmp
|
|
|
|
.PHONY: install
|
|
install: pvecfg.pm $(PERLSOURCE)
|
|
install -d $(PERLLIBDIR)/PVE
|
|
install -m 0644 pvecfg.pm $(PERLLIBDIR)/PVE/
|
|
install -m 0644 $(PERLSOURCE) $(PERLLIBDIR)/PVE/
|
|
set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
|