summaryrefslogtreecommitdiff
path: root/gnu/packages/monitoring.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/monitoring.scm')
-rw-r--r--gnu/packages/monitoring.scm196
1 files changed, 72 insertions, 124 deletions
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 66b1a761d9..e86892ea6e 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
@@ -444,110 +445,75 @@ historical data.")
(version "1.1.10")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "carbon" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/graphite-project/carbon")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
+ (base32 "0rnvn0hh4wmr7wn1p7aw1zajgi2r9bxfc1abqazk2k9r6nk5aqmw"))))
(build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Don't install to /opt
- (add-after 'unpack 'do-not-install-to-/opt
- (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
- (native-inputs (list python-setuptools python-wheel))
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: cannot import name 'WhisperDatabase' from 'carbon.database'
+ "--ignore=lib/carbon/tests/test_database.py"
+ "--ignore=lib/carbon/tests/test_storage.py"
+ "-k" (string-join
+ (list "not testBasic" ; requires murmurhash3.
+ ;; XXX: python-mock incompatibility.
+ "test_decode_pickle"
+ "test_invalid_pickle"
+ "test_invalid_types")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Don't install to /opt
+ (add-after 'unpack 'do-not-install-to-/opt
+ (lambda _
+ (setenv "GRAPHITE_NO_PREFIX" "1"))))))
+ (native-inputs
+ (list python-mock python-protobuf python-pytest python-setuptools))
(propagated-inputs
(list python-cachetools python-twisted python-txamqp python-urllib3))
(home-page "https://graphiteapp.org/")
(synopsis "Backend data caching and persistence daemon for Graphite")
- (description "Carbon is a backend data caching and persistence daemon for
-Graphite. Carbon is responsible for receiving metrics over the network,
-caching them in memory for \"hot queries\" from the Graphite-Web application,
-and persisting them to disk using the Whisper time-series library.")
+ (description
+ "Carbon is a backend data caching and persistence daemon for Graphite.
+Carbon is responsible for receiving metrics over the network, caching them in
+memory for \"hot queries\" from the Graphite-Web application, and persisting
+them to disk using the Whisper time-series library.")
(license license:asl2.0)))
-(define-public graphite-web
- (let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
- (revision "2"))
- (package
- (name "graphite-web")
- (version (git-version "1.1.10" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/graphite-project/graphite-web")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
- (build-system pyproject-build-system)
- (arguments
- `(#:tests? #f ;XXX: Requires database, unable to run now
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ;; Allow newer versions of django-tagging.
- (("django-tagging==") "django-tagging>=")
- ;; And Django.
- (("Django>=3\\.2,<4") "Django>=4,<5"))))
- ;; Don't install to /opt
- (add-after 'unpack 'do-not-install-to-/opt
- (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (mkdir-p "storage/log/webapp")
- (with-directory-excursion "webapp"
- (invoke "./manage.py" "test" "--pythonpath=." "tests"
- "-k" (string-join
- (list
- "not test_dashboard_save_temporary_xss_key"
- "test_dashboard_save_temporary_xss_name")
- " and not ")))))))))
- (native-inputs
- (list python-carbon
- python-mock
- python-pytest
- python-rrdtool
- python-setuptools
- python-tzdata
- python-wheel
- python-whisper))
- (propagated-inputs
- (list python-cairocffi
- python-django-4.2
- python-django-tagging
- python-pyparsing
- python-pytz
- python-six
- python-urllib3))
- (home-page "https://graphiteapp.org/")
- (synopsis "Scalable realtime graphing system")
- (description "Graphite is a scalable real-time graphing system that does
-two things: store numeric time-series data, and render graphs of this data on
-demand.")
- (license license:asl2.0))))
-
(define-public python-prometheus-client
(package
(name "python-prometheus-client")
- (version "0.20.0")
+ (version "0.22.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prometheus_client" version))
(sha256
- (base32 "12dvlh4k6in87q47f0zqh8nrnnfs0pwrs2xynbf34yhl1g82jxi8"))))
- (build-system python-build-system)
+ (base32 "0a0ds9svcfcc8bspikyfz9w46k8a9qsmk9dwc3mj3kw3wwqi63qr"))))
+ (build-system pyproject-build-system)
(arguments
- '(;; No included tests.
- #:tests? #f))
- (home-page
- "https://github.com/prometheus/client_python")
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; FileNotFoundError: [Errno 2] No such file or directory
+ (list "not test_push_with_tls_auth_handler"
+ ;; AssertionError: 17.21 != None
+ "test_namespace"
+ ;; AssertionError: 17.21 != None
+ "test_working"
+ ;; AssertionError: 0.0 != None
+ "test_working_584")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://github.com/prometheus/client_python")
(synopsis "Python client for the Prometheus monitoring system")
(description
"The @code{prometheus_client} package supports exposing metrics from
@@ -827,27 +793,28 @@ the recorded data over time.")
(define-public fatrace
(package
(name "fatrace")
- (version "0.18.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/martinpitt/fatrace")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0hm4zsxkbsl37677b2hq4v6pnq6mjspvcf285l9d844i2f3syij2"))))
+ (version "0.19.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/martinpitt/fatrace")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0lmr6bv6d2f1gnrsy34gaiamw6615m3y7gw21fkiv47hn0xydhlx"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- ;; tests need root to run as root,
- ;; and there is no make target for them:
- (delete 'check))
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))))
+ (list
+ #:tests? #f ; Tests need superuser, and there are
+ ; no makefile directive to run them
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))))
(synopsis "File access events monitor")
(description "This package provides a utility to report system wide file
access events from all running processes. Its main purpose is to find
@@ -916,25 +883,6 @@ display resumes.
@end itemize")
(license license:bsd-2)))
-(define-public python-rrdtool
- (package
- (name "python-rrdtool")
- (version "0.1.16")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rrdtool" version))
- (sha256
- (base32 "0l8lbarzfwbwnq9jm9gv4mmrxgjlb9hbz27sa8b703qa7s5zy2jz"))))
- (build-system pyproject-build-system)
- (arguments (list #:tests? #f)) ; No tests in pypi archive
- (inputs (list rrdtool))
- (native-inputs (list python-setuptools python-wheel))
- (home-page "https://github.com/commx/python-rrdtool")
- (synopsis "Python bindings for rrdtool")
- (description "This package provides Python bindings for rrdtool.")
- (license license:lgpl2.1)))
-
(define-public python-statsd
(package
(name "python-statsd")