From cf97878c1cce972d2dc6e47f3a5e44f2d1ad9be9 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Tue, 8 Aug 2023 10:54:20 +0000
Subject: [PATCH] Added slow path to tango-prometheus-exporter

---
 docker-compose/prometheus/prometheus.yml      |  7 ++
 docker-compose/tango-prometheus-exporter.yml  | 26 +++++++
 .../lofar2-fast-policy.json                   | 30 +++----
 .../lofar2-policy.json                        | 14 +++-
 .../lofar2-slow-policy.json                   | 78 +++++++++++++++++++
 5 files changed, 139 insertions(+), 16 deletions(-)
 create mode 100644 docker-compose/tango-prometheus-exporter/lofar2-slow-policy.json

diff --git a/docker-compose/prometheus/prometheus.yml b/docker-compose/prometheus/prometheus.yml
index 987eaf622..673021bc8 100644
--- a/docker-compose/prometheus/prometheus.yml
+++ b/docker-compose/prometheus/prometheus.yml
@@ -15,6 +15,13 @@ scrape_configs:
       - targets: ["tango-prometheus-fast-exporter:8000"]
         labels:
           "host": "localhost"
+  - job_name: tango-slow
+    scrape_interval: 60s
+    scrape_timeout: 30s
+    static_configs:
+      - targets: ["tango-prometheus-slow-exporter:8000"]
+        labels:
+          "host": "localhost"
   - job_name: host
     scrape_interval: 60s
     static_configs:
diff --git a/docker-compose/tango-prometheus-exporter.yml b/docker-compose/tango-prometheus-exporter.yml
index 6b61faeac..90a8bd54c 100644
--- a/docker-compose/tango-prometheus-exporter.yml
+++ b/docker-compose/tango-prometheus-exporter.yml
@@ -57,3 +57,29 @@ services:
     depends_on:
       - databaseds
     restart: unless-stopped
+
+  tango-prometheus-slow-exporter:
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-prometheus-exporter
+    build:
+      context: tango-prometheus-exporter
+      args:
+        SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
+      dockerfile: ./Dockerfile
+    command:
+      - "--config=/code/lofar2-slow-policy.json"
+    hostname: tango-prometheus-fast-exporter
+    container_name: tango-prometheus-fast-exporter
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
+    networks:
+      - control
+    environment:
+      - TANGO_HOST=${TANGO_HOST}
+    ports:
+      - "8002:8000"
+    depends_on:
+      - databaseds
+    restart: unless-stopped
diff --git a/docker-compose/tango-prometheus-exporter/lofar2-fast-policy.json b/docker-compose/tango-prometheus-exporter/lofar2-fast-policy.json
index 16a21da0b..ef26b8bd9 100644
--- a/docker-compose/tango-prometheus-exporter/lofar2-fast-policy.json
+++ b/docker-compose/tango-prometheus-exporter/lofar2-fast-policy.json
@@ -4,9 +4,9 @@
     },
 
     "devices": {
-        "stat/antennafield/hba": {
+        "stat/antennafield/*": {
         },
-        "stat/apsct/1": {
+        "stat/apsct/*": {
         },
         "stat/ccd/1": {
         },
@@ -14,15 +14,15 @@
         },
         "stat/configuration/1": {
         },
-        "stat/apspu/1": {
+        "stat/apspu/*": {
         },
-        "stat/beamlet/1": {
+        "stat/beamlet/*": {
         },
         "stat/boot/1": {
         },
         "stat/stationmanager/1": {
         },
-        "stat/digitalbeam/hba": {
+        "stat/digitalbeam/*": {
             "include": [
                 "Pointing_error_R",
                 "Duration_*"
@@ -34,32 +34,32 @@
         },
         "stat/observationcontrol/1":{
         },
-        "stat/psoc/1": {
+        "stat/psoc/*": {
         },
-        "stat/pcon/1": {
+        "stat/pcon/*": {
         },
-        "stat/recvh/1": {
+        "stat/recvh/*": {
         },
-        "stat/recvl/1": {
+        "stat/recvl/*": {
         },
-        "stat/sdpfirmware/1":{
+        "stat/sdpfirmware/*":{
         },
-        "stat/sdp/1": {
+        "stat/sdp/*": {
             "include": [
                 "Duration_*"
             ]
         },
-        "stat/sst/1": {
+        "stat/sst/*": {
         },
-        "stat/tilebeam/hba": {
+        "stat/tilebeam/*": {
             "include": [
                 "Pointing_error_R",
                 "Duration_*"
             ]
         },
-        "stat/unb2/1": {
+        "stat/unb2/*": {
         },
-        "stat/xst/1": {
+        "stat/xst/*": {
         }
     }
 }
diff --git a/docker-compose/tango-prometheus-exporter/lofar2-policy.json b/docker-compose/tango-prometheus-exporter/lofar2-policy.json
index 313d9a05c..956166bb7 100644
--- a/docker-compose/tango-prometheus-exporter/lofar2-policy.json
+++ b/docker-compose/tango-prometheus-exporter/lofar2-policy.json
@@ -13,8 +13,14 @@
                 "ANT_mask_RW"
             ],
             "exclude": [
+                "Antenna_*",
+                "HBAT_antenna_ITRF_offsets_R",
+                "HBAT_LED_on_R",
+                "HBAT_PWR_LNA_on_R",
+                "HBAT_PWR_on_R",
                 "HBAT_BF_delay_steps_*",
-                "Calibration_*"
+                "Calibration_*",
+                "FPGA_sdp_info_*"
             ]
         },
         "stat/antennafield/lba": {
@@ -53,6 +59,7 @@
         },
         "stat/digitalbeam/*": {
             "exclude": [
+                "Pointing_direction_*",
                 "Pointing_error_R",
                 "Duration_*"
             ]
@@ -60,6 +67,10 @@
         "stat/docker/1": {
         },
         "stat/observation/*":{
+            "exclude": [
+                "saps_pointing_R",
+                "saps_subbands_R"
+            ]
         },
         "stat/observationcontrol/1":{
         },
@@ -101,6 +112,7 @@
         },
         "stat/sdp/*": {
             "exclude": [
+                "FPGA_sdp_info_*",
                 "FPGA_subband_weights_*",
                 "FPGA_signal_input_samples_delay_*",
                 "FPGA_jesd204b_*",
diff --git a/docker-compose/tango-prometheus-exporter/lofar2-slow-policy.json b/docker-compose/tango-prometheus-exporter/lofar2-slow-policy.json
new file mode 100644
index 000000000..4d9b0c0ee
--- /dev/null
+++ b/docker-compose/tango-prometheus-exporter/lofar2-slow-policy.json
@@ -0,0 +1,78 @@
+{
+    "default": {
+        "exclude": ["*"]
+    },
+
+    "devices": {
+        "stat/antennafield/*": {
+            "include": [
+                "Antenna_*",
+                "HBAT_antenna_ITRF_offsets_R",
+                "HBAT_LED_on_R",
+                "HBAT_PWR_LNA_on_R",
+                "HBAT_PWR_on_R",
+                "FPGA_sdp_info_*"
+            ]
+        },
+        "stat/apsct/*": {
+        },
+        "stat/ccd/1": {
+        },
+        "stat/ec/1": {
+        },
+        "stat/configuration/1": {
+        },
+        "stat/apspu/*": {
+        },
+        "stat/beamlet/*": {
+        },
+        "stat/boot/1": {
+        },
+        "stat/stationmanager/1": {
+        },
+        "stat/digitalbeam/*": {
+            "include": [
+                "Pointing_direction_*"
+            ]
+        },
+        "stat/docker/1": {
+        },
+        "stat/observation/*":{
+            "include": [
+                "saps_pointing_R",
+                "saps_subbands_R"
+            ]
+        },
+        "stat/observationcontrol/1":{
+        },
+        "stat/psoc/*": {
+        },
+        "stat/pcon/*": {
+        },
+        "stat/recvh/*": {
+            "include": [
+                "HBAT_LED_on_R",
+                "HBAT_PWR_LNA_on_R",
+                "HBAT_PWR_on_R"
+            ]
+        },
+        "stat/recvl/*": {
+        },
+        "stat/sdpfirmware/*":{
+        },
+        "stat/sdp/*": {
+            "include": [
+                "FPGA_jesd204b_*",
+                "FPGA_sdp_info_*"
+            ]
+        },
+        "stat/sst/*": {
+        },
+        "stat/tilebeam/*": {
+        },
+        "stat/unb2/*": {
+        },
+        "stat/xst/*": {
+        }
+    }
+}
-- 
GitLab