From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 08:07:54 2020 Received: (at submit) by debbugs.gnu.org; 6 Sep 2020 12:07:54 +0000 Received: from localhost ([127.0.0.1]:44932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEtSb-0001St-LK for submit@debbugs.gnu.org; Sun, 06 Sep 2020 08:07:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:43854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEtSL-0001SH-Ug for submit@debbugs.gnu.org; Sun, 06 Sep 2020 08:07:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kEtSL-0003Mt-Pt for guix-patches@gnu.org; Sun, 06 Sep 2020 08:07:37 -0400 Received: from mira.cbaines.net ([212.71.252.8]:48588) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kEtSJ-0003B8-Ec for guix-patches@gnu.org; Sun, 06 Sep 2020 08:07:37 -0400 Received: from localhost (unknown [46.237.162.226]) by mira.cbaines.net (Postfix) with ESMTPSA id DB36216F0F for ; Sun, 6 Sep 2020 13:07:32 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id ee736d91 for ; Sun, 6 Sep 2020 12:07:29 +0000 (UTC) From: Christopher Baines To: guix-patches@gnu.org Subject: [PATCH] Use the #:namespace argument for metric registries Date: Sun, 6 Sep 2020 13:07:29 +0100 Message-Id: <20200906120729.20493-1-mail@cbaines.net> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=212.71.252.8; envelope-from=mail@cbaines.net; helo=mira.cbaines.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/06 08:07:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --- .../agent-messaging/http.scm | 22 +++++-------------- guix-build-coordinator/coordinator.scm | 18 ++++++++------- guix-build-coordinator/datastore/sqlite.scm | 11 ++++------ scripts/guix-build-coordinator.in | 4 +++- 4 files changed, 23 insertions(+), 32 deletions(-) diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm index 1a9a9e9..91b686b 100644 --- a/guix-build-coordinator/agent-messaging/http.scm +++ b/guix-build-coordinator/agent-messaging/http.scm @@ -142,9 +142,6 @@ port. Also, the port used can be changed by passing the --port option.\n" "")) (define (base-datastore-metrics-updater build-coordinator) - (define namespace - "guixbuildcoordinator") - (define datastore (build-coordinator-datastore build-coordinator)) @@ -152,34 +149,27 @@ port. Also, the port used can be changed by passing the --port option.\n" (build-coordinator-metrics-registry build-coordinator)) (let ((builds-total - (make-gauge-metric registry - (string-append namespace - "_builds_total") + (make-gauge-metric registry "builds_total" #:labels '(system))) (allocated-builds-total (make-gauge-metric registry - (string-append namespace - "_allocated_builds_total") + "allocated_builds_total" #:labels '(agent_id))) (build-results-total (make-gauge-metric registry - (string-append namespace - "_build_results_total") + "build_results_total" #:labels '(agent_id result))) (setup-failures-total (make-gauge-metric registry - (string-append namespace - "_setup_failures_total") + "setup_failures_total" #:labels '(agent_id reason))) (build-allocation-plan-total (make-gauge-metric registry - (string-append namespace - "_build_allocation_plan_total") + "build_allocation_plan_total" #:labels '(agent_id))) (unprocessed-hook-events-total (make-gauge-metric registry - (string-append namespace - "_unprocessed_hook_events_total") + "unprocessed_hook_events_total" #:labels '(event)))) (define (zero-metric-for-agents metric) (for-each (lambda (agent-details) diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index 33b5afe..c8727c8 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -68,7 +68,9 @@ set-build-coordinator-allocator-thread!)) (define* (make-build-coordinator #:key datastore hooks - (metrics-registry (make-metrics-registry)) + (metrics-registry (make-metrics-registry + #:namespace + "guixbuildcoordinator_")) (allocation-strategy basic-build-allocation-strategy)) (let ((build-coordinator @@ -198,12 +200,12 @@ (define success-counter-metric (make-counter-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_allocator_allocations_total")) + "allocator_allocations_total")) (define failure-counter-metric (make-counter-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_allocator_failures_total")) + "allocator_failures_total")) (define (allocate-builds-loop) (while #t @@ -215,7 +217,7 @@ (atomic-box-set! allocation-needed #f))) (call-with-duration-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_allocate_builds_duration_seconds" + "allocate_builds_duration_seconds" (lambda () (with-exception-handler (lambda (exn) @@ -270,13 +272,13 @@ (define success-counter-metric (make-counter-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_hook_success_total" + "hook_success_total" #:labels '(event))) (define failure-counter-metric (make-counter-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_hook_failure_total" + "hook_failure_total" #:labels '(event))) (define (process-events event-name handler) @@ -330,7 +332,7 @@ (define (fetch-builds build-coordinator agent systems count) (call-with-duration-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_coordinator_fetch_builds_duration_seconds" + "coordinator_fetch_builds_duration_seconds" (lambda () (let ((update-made (datastore-update-agent-requested-systems (build-coordinator-datastore build-coordinator) @@ -393,7 +395,7 @@ (call-with-duration-metric (build-coordinator-metrics-registry build-coordinator) - "guixbuildcoordinator_coordinator_handle_build_result_duration_seconds" + "coordinator_handle_build_result_duration_seconds" (lambda () (let* ((result (assoc-ref result-json "result")) (success? (string=? result "success"))) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index f3e3bbf..13d9ec7 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -126,13 +126,10 @@ (define registry (slot-ref datastore 'metrics-registry)) (if registry - (let* ((namespaced-metric-name - (string-append "guixbuildcoordinator_" metric-name)) - (metric - (or (metrics-registry-fetch-metric registry namespaced-metric-name) - (make-histogram-metric - registry - namespaced-metric-name))) + (let* ((metric + (or (metrics-registry-fetch-metric registry metric-name) + (make-histogram-metric registry + metric-name))) (start-time (current-time))) (let ((result (thunk))) (metric-observe metric (- (current-time) start-time)) diff --git a/scripts/guix-build-coordinator.in b/scripts/guix-build-coordinator.in index 87982c0..f4c5048 100644 --- a/scripts/guix-build-coordinator.in +++ b/scripts/guix-build-coordinator.in @@ -434,7 +434,9 @@ processed?: ~A (append %service-option-defaults %base-option-defaults) arguments)) - (metrics-registry (make-metrics-registry)) + (metrics-registry (make-metrics-registry + #:namespace + "guixbuildcoordinator_")) (datastore (database-uri->datastore (assq-ref opts 'database) #:metrics-registry metrics-registry)) -- 2.28.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 09:15:31 2020 Received: (at control) by debbugs.gnu.org; 6 Sep 2020 13:15:31 +0000 Received: from localhost ([127.0.0.1]:45039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEuW2-00036K-UQ for submit@debbugs.gnu.org; Sun, 06 Sep 2020 09:15:31 -0400 Received: from mira.cbaines.net ([212.71.252.8]:46702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEuW0-00036A-Og for control@debbugs.gnu.org; Sun, 06 Sep 2020 09:15:29 -0400 Received: from localhost (unknown [46.237.162.226]) by mira.cbaines.net (Postfix) with ESMTPSA id BE63727BBE7 for ; Sun, 6 Sep 2020 14:15:27 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 600aa8cf for ; Sun, 6 Sep 2020 13:15:25 +0000 (UTC) User-agent: mu4e 1.4.13; emacs 26.3 From: Christopher Baines To: control@debbugs.gnu.org Subject: Date: Sun, 06 Sep 2020 14:15:25 +0100 Message-ID: <87a6y3m4gi.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 43240 archive 43240 thanks Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 2.0 BLANK_SUBJECT Subject is present but empty X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) close 43240 archive 43240 thanks