diff options
Diffstat (limited to 'gnu/packages/monitoring.scm')
-rw-r--r-- | gnu/packages/monitoring.scm | 196 |
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") |