Round 372: Splunk ext, Elasticsearch ext, Sumo Logic ext, Loki/Tempo ext (20 commands)

ober

05cd6f1a0a711276955a1f7dbd278674443ac4ed

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index f7bc3bd..9a84355 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 372 — Splunk ext, Elasticsearch ext, Sumo Logic ext, Loki/Tempo ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Splunk SPL search | — | `splunk-search` | :orange_circle: Scaffolded |
+| Splunk list indexes | — | `splunk-index` | :orange_circle: Scaffolded |
+| Splunk dashboards | — | `splunk-dashboards` | :orange_circle: Scaffolded |
+| Splunk saved alerts | — | `splunk-alerts` | :orange_circle: Scaffolded |
+| Elasticsearch search | — | `elastic-search` | :orange_circle: Scaffolded |
+| Elasticsearch indices | — | `elastic-index` | :orange_circle: Scaffolded |
+| Elasticsearch mappings | — | `elastic-mappings` | :orange_circle: Scaffolded |
+| Elasticsearch cluster | — | `elastic-cluster` | :orange_circle: Scaffolded |
+| Sumo Logic search | — | `sumo-search` | :orange_circle: Scaffolded |
+| Sumo Logic collectors | — | `sumo-collectors` | :orange_circle: Scaffolded |
+| Sumo Logic dashboards | — | `sumo-dashboards` | :orange_circle: Scaffolded |
+| Sumo Logic monitors | — | `sumo-monitors` | :orange_circle: Scaffolded |
+| Loki recording rules | — | `loki-rules` | :orange_circle: Scaffolded |
+| Loki ingestion stats | — | `loki-stats` | :orange_circle: Scaffolded |
+| Loki log deletion | — | `loki-delete` | :orange_circle: Scaffolded |
+| Loki ruler config | — | `loki-ruler` | :orange_circle: Scaffolded |
+| Tempo list services | — | `tempo-services` | :orange_circle: Scaffolded |
+| Tempo fetch trace | — | `tempo-traces` | :orange_circle: Scaffolded |
+| Tempo query spansets | — | `tempo-spansets` | :orange_circle: Scaffolded |
+| Tempo configuration | — | `tempo-config` | :orange_circle: Scaffolded |
+
 ### Round 371 — Sentry ext, Datadog ext, NewRelic ext, PagerDuty/OpsGenie ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index fc9f650..3a27139 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -26540,3 +26540,46 @@
 (def (cmd-opsgenie-policies app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "OpsGenie: listing alert policies")))
+
+;; Round 372 batch 2 — Sumo Logic ext, Loki/Tempo ext
+(def (cmd-sumo-dashboards app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sumo Logic: listing dashboards")))
+
+(def (cmd-sumo-monitors app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sumo Logic: listing monitors")))
+
+(def (cmd-loki-rules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Loki: listing recording rules")))
+
+(def (cmd-loki-stats app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Loki: showing ingestion stats")))
+
+(def (cmd-loki-delete app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Loki: managing log deletion")))
+
+(def (cmd-loki-ruler app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Loki: managing ruler configuration")))
+
+(def (cmd-tempo-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempo: listing services")))
+
+(def (cmd-tempo-traces app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Trace ID: "
+      (lambda (id)
+        (echo-message! echo (str "Tempo: fetching trace " id))))))
+
+(def (cmd-tempo-spansets app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempo: querying spansets")))
+
+(def (cmd-tempo-config app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempo: showing configuration")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 57af52b..8b24735 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -27313,3 +27313,50 @@
 (def (cmd-newrelic-entities app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "New Relic: listing entities")))
+
+;; Round 372 batch 1 — Splunk ext, Elasticsearch ext
+(def (cmd-splunk-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "SPL query: "
+      (lambda (query)
+        (echo-message! echo (str "Splunk: searching: " query))))))
+
+(def (cmd-splunk-index app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Splunk: listing indexes")))
+
+(def (cmd-splunk-dashboards app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Splunk: listing dashboards")))
+
+(def (cmd-splunk-alerts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Splunk: listing saved alerts")))
+
+(def (cmd-elastic-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Query: "
+      (lambda (query)
+        (echo-message! echo (str "Elasticsearch: searching: " query))))))
+
+(def (cmd-elastic-index app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Elasticsearch: listing indices")))
+
+(def (cmd-elastic-mappings app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Elasticsearch: showing mappings")))
+
+(def (cmd-elastic-cluster app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Elasticsearch: cluster health")))
+
+(def (cmd-sumo-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Sumo query: "
+      (lambda (query)
+        (echo-message! echo (str "Sumo Logic: searching: " query))))))
+
+(def (cmd-sumo-collectors app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sumo Logic: listing collectors")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index c2bc247..a6a44a5 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9266,4 +9266,26 @@
   (register-command! 'opsgenie-teams cmd-opsgenie-teams)
   (register-command! 'opsgenie-schedules cmd-opsgenie-schedules)
   (register-command! 'opsgenie-policies cmd-opsgenie-policies)
+
+  ;; Round 372 — Splunk ext, Elasticsearch ext, Sumo Logic ext, Loki/Tempo ext
+  (register-command! 'splunk-search cmd-splunk-search)
+  (register-command! 'splunk-index cmd-splunk-index)
+  (register-command! 'splunk-dashboards cmd-splunk-dashboards)
+  (register-command! 'splunk-alerts cmd-splunk-alerts)
+  (register-command! 'elastic-search cmd-elastic-search)
+  (register-command! 'elastic-index cmd-elastic-index)
+  (register-command! 'elastic-mappings cmd-elastic-mappings)
+  (register-command! 'elastic-cluster cmd-elastic-cluster)
+  (register-command! 'sumo-search cmd-sumo-search)
+  (register-command! 'sumo-collectors cmd-sumo-collectors)
+  (register-command! 'sumo-dashboards cmd-sumo-dashboards)
+  (register-command! 'sumo-monitors cmd-sumo-monitors)
+  (register-command! 'loki-rules cmd-loki-rules)
+  (register-command! 'loki-stats cmd-loki-stats)
+  (register-command! 'loki-delete cmd-loki-delete)
+  (register-command! 'loki-ruler cmd-loki-ruler)
+  (register-command! 'tempo-services cmd-tempo-services)
+  (register-command! 'tempo-traces cmd-tempo-traces)
+  (register-command! 'tempo-spansets cmd-tempo-spansets)
+  (register-command! 'tempo-config cmd-tempo-config)
 )