From a187752c824b47052d33d3bc12749b5a7d2e8191 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 1 Jun 2023 19:35:59 -0700 Subject: =?UTF-8?q?=F0=9F=A4=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I06b104d79deac199f9cd9cdae705e333d23cc852 --- emacs/elisp/my-uptime.el | 55 ------------------------------------------------ 1 file changed, 55 deletions(-) delete mode 100644 emacs/elisp/my-uptime.el (limited to 'emacs/elisp/my-uptime.el') diff --git a/emacs/elisp/my-uptime.el b/emacs/elisp/my-uptime.el deleted file mode 100644 index 77c9957..0000000 --- a/emacs/elisp/my-uptime.el +++ /dev/null @@ -1,55 +0,0 @@ -;;; my-uptime.el --- calculates uptime for SLOs - -;;; Commentary: - -;; Calculate how much downtime is allowed for different period of time -;; based on a given SLO. - -;;; Code: - -(defconst my-uptime/buffer-name "*slo-calculator*") - -(defconst my-uptime/seconds-per-hour 3600 - "Number of seconds in an hour.") -(defconst my-uptime/seconds-per-day (* my-uptime/seconds-per-hour 24) - "Number of seconds in a day.") -(defconst my-uptime/seconds-per-week (* my-uptime/seconds-per-day 7) - "Number of seconds in a week.") -(defconst my-uptime/seconds-per-month (* my-uptime/seconds-per-day 30) - "Number of seconds in a month.") -(defconst my-uptime/seconds-per-quarter (* my-uptime/seconds-per-month 3) - "Number of seconds in a quarter.") -(defconst my-uptime/seconds-per-year (* my-uptime/seconds-per-month 12) - "Number of seconds in a year.") - -(defun my/uptime-is (slo) - "Return the amount of allowed downtime for a given SLO." - (interactive "nSLO:") - (let* ((slo (cond ((< slo 0) 0) - ((> slo 100) 100) - (t slo))) - (allowed (/ (- (* 100 100) (* slo 100.0)) (* 100 100)))) - (my/uptime--message allowed slo))) - -(defun my/uptime--message (seconds slo) - "Insert buffer text with allowed downtime based on SECONDS (derived from SLO)." - (let ((inhibit-read-only t) - (buffer-undo-list t)) - (pop-to-buffer my-uptime/buffer-name) - (erase-buffer) - (insert (format "calculated allowed downtime for %s%% availability.\n" slo)) - (insert - (format "daily: %s\n" (format-seconds "%H %M %S" (seconds-to-time (* my-uptime/seconds-per-day seconds))))) - (insert - (format "weekly: %s\n" (format-seconds "%H %M %S" (seconds-to-time (* my-uptime/seconds-per-week seconds))))) - (insert - (format "monthly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-month seconds))))) - (insert - (format "quarterly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-quarter seconds))))) - (insert - (format "yearly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-year seconds)))))) - (special-mode)) - -(provide 'my-uptime) - -;;; my-uptime.el ends here -- cgit v1.2.3