Round 344: Jaeger ext, Zipkin ext, OpenTelemetry ext, Datadog ext, NewRelic ext (20 commands)

ober

610a751526c1ea16164a3495d388405900cbc3db

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 41da2b2..5c683b9 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 344 — Jaeger ext, Zipkin ext, OpenTelemetry ext, Datadog ext, NewRelic ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| jaeger-traces | :orange_circle: | Jaeger: list traces for service |
+| jaeger-services | :orange_circle: | Jaeger: list services |
+| jaeger-operations | :orange_circle: | Jaeger: list operations |
+| jaeger-dependencies | :orange_circle: | Jaeger: service dependencies |
+| zipkin-traces | :orange_circle: | Zipkin: list traces |
+| zipkin-services | :orange_circle: | Zipkin: list services |
+| zipkin-spans | :orange_circle: | Zipkin: show spans |
+| zipkin-dependencies | :orange_circle: | Zipkin: service dependencies |
+| otel-status | :orange_circle: | OpenTelemetry: collector status |
+| otel-config | :orange_circle: | OpenTelemetry: collector config |
+| otel-receivers | :orange_circle: | OpenTelemetry: list receivers |
+| otel-exporters | :orange_circle: | OpenTelemetry: list exporters |
+| datadog-monitors | :orange_circle: | Datadog: list monitors |
+| datadog-dashboards | :orange_circle: | Datadog: list dashboards |
+| datadog-events | :orange_circle: | Datadog: list events |
+| datadog-metrics | :orange_circle: | Datadog: query metrics |
+| newrelic-apps | :orange_circle: | NewRelic: list applications |
+| newrelic-alerts | :orange_circle: | NewRelic: list alert policies |
+| newrelic-dashboards | :orange_circle: | NewRelic: list dashboards |
+| newrelic-synthetics | :orange_circle: | NewRelic: list synthetic monitors |
+
 ### Round 343 — Thanos ext, Grafana ext, Alertmanager ext, Loki ext, Tempo ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 4e3e16f..71b8a1e 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -25249,3 +25249,47 @@
 (def (cmd-tempo-metrics app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Tempo: showing metrics summary")))
+
+;;; Round 344 — OpenTelemetry ext, Datadog ext, NewRelic ext (batch 2)
+
+(def (cmd-otel-receivers app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpenTelemetry: listing receivers")))
+
+(def (cmd-otel-exporters app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpenTelemetry: listing exporters")))
+
+(def (cmd-datadog-monitors app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: listing monitors")))
+
+(def (cmd-datadog-dashboards app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: listing dashboards")))
+
+(def (cmd-datadog-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: listing recent events")))
+
+(def (cmd-datadog-metrics app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Datadog metric query: "
+      (lambda (q)
+        (echo-message! echo (str "Datadog: querying metric " q))))))
+
+(def (cmd-newrelic-apps app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "NewRelic: listing applications")))
+
+(def (cmd-newrelic-alerts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "NewRelic: listing alert policies")))
+
+(def (cmd-newrelic-dashboards app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "NewRelic: listing dashboards")))
+
+(def (cmd-newrelic-synthetics app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "NewRelic: listing synthetic monitors")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index e2a2535..2ce26a2 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -25948,3 +25948,53 @@
 (def (cmd-alertmanager-alerts app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Alertmanager: listing active alerts")))
+
+;;; Round 344 — Jaeger ext, Zipkin ext, OpenTelemetry ext, Datadog ext, NewRelic ext (batch 1)
+
+(def (cmd-jaeger-traces app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Jaeger service: "
+      (lambda (svc)
+        (echo-message! echo (str "Jaeger: listing traces for " svc))))))
+
+(def (cmd-jaeger-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Jaeger: listing services")))
+
+(def (cmd-jaeger-operations app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Jaeger service for operations: "
+      (lambda (svc)
+        (echo-message! echo (str "Jaeger: listing operations for " svc))))))
+
+(def (cmd-jaeger-dependencies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Jaeger: showing service dependencies")))
+
+(def (cmd-zipkin-traces app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Zipkin service: "
+      (lambda (svc)
+        (echo-message! echo (str "Zipkin: listing traces for " svc))))))
+
+(def (cmd-zipkin-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Zipkin: listing services")))
+
+(def (cmd-zipkin-spans app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Zipkin trace ID: "
+      (lambda (id)
+        (echo-message! echo (str "Zipkin: showing spans for trace " id))))))
+
+(def (cmd-zipkin-dependencies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Zipkin: showing service dependencies")))
+
+(def (cmd-otel-status app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpenTelemetry: collector status")))
+
+(def (cmd-otel-config app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpenTelemetry: showing collector config")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 4d5f19b..2e0590e 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -8650,4 +8650,26 @@
   (register-command! 'tempo-trace cmd-tempo-trace)
   (register-command! 'tempo-tags cmd-tempo-tags)
   (register-command! 'tempo-metrics cmd-tempo-metrics)
+
+  ;; Round 344 — Jaeger ext, Zipkin ext, OpenTelemetry ext, Datadog ext, NewRelic ext
+  (register-command! 'jaeger-traces cmd-jaeger-traces)
+  (register-command! 'jaeger-services cmd-jaeger-services)
+  (register-command! 'jaeger-operations cmd-jaeger-operations)
+  (register-command! 'jaeger-dependencies cmd-jaeger-dependencies)
+  (register-command! 'zipkin-traces cmd-zipkin-traces)
+  (register-command! 'zipkin-services cmd-zipkin-services)
+  (register-command! 'zipkin-spans cmd-zipkin-spans)
+  (register-command! 'zipkin-dependencies cmd-zipkin-dependencies)
+  (register-command! 'otel-status cmd-otel-status)
+  (register-command! 'otel-config cmd-otel-config)
+  (register-command! 'otel-receivers cmd-otel-receivers)
+  (register-command! 'otel-exporters cmd-otel-exporters)
+  (register-command! 'datadog-monitors cmd-datadog-monitors)
+  (register-command! 'datadog-dashboards cmd-datadog-dashboards)
+  (register-command! 'datadog-events cmd-datadog-events)
+  (register-command! 'datadog-metrics cmd-datadog-metrics)
+  (register-command! 'newrelic-apps cmd-newrelic-apps)
+  (register-command! 'newrelic-alerts cmd-newrelic-alerts)
+  (register-command! 'newrelic-dashboards cmd-newrelic-dashboards)
+  (register-command! 'newrelic-synthetics cmd-newrelic-synthetics)
 )