diff --git a/devel/populate.sh b/devel/populate.sh
index 94590c82f5e74800c80b58cb61eb909dfba142b2..bc1d784c5d8f012198402da37c31d416b1015fa6 100755
--- a/devel/populate.sh
+++ b/devel/populate.sh
@@ -3,8 +3,8 @@
 set -x
 set -e
 
-systemctl stop systemd-timesyncd.service
-date -s '2021-01-01 00:00:01'
+#systemctl stop systemd-timesyncd.service
+#date -s '2021-01-01 00:00:01'
 
 ### /!\ Remove PRIMARY KEY for fastest ingestion
 #perl -0777 -i.original -pe 's/,\n +PRIMARY KEY\(timestamp, device_id, metric_id, labels\)//igs' /opt/kwollect/lib/python3.7/site-packages/kwollect/tools/kwollect_setup_db.py
diff --git a/devel/test.py b/devel/test.py
index 9a88530ea62aaff4448cd7f5c9d49519846cf153..6d9cb5aa39d59a9478d5bd08b9145f79654973e4 100644
--- a/devel/test.py
+++ b/devel/test.py
@@ -3,29 +3,46 @@
 import requests
 import pytest
 import time
+import json
 
 
-def req(params):
+def metrics(params):
     r = requests.get("http://localhost:3000/rpc/get_metrics", params=params)
     assert r.ok
     return r.json()
 
 
+def metrics_available(params={}):
+    r = requests.post(
+        "http://localhost:3000/rpc/available_metrics",
+        data=json.dumps(params),
+        headers={"Content-Type": "application/json"},
+    )
+    assert r.ok
+    return r.json()
+
+
 def test_request():
-    assert len(req({"devices": "device-1", "start_time": "2020-12-31T22:59:59"})) > 0
+    assert (
+        len(metrics({"devices": "device-1", "start_time": "2020-12-31T22:59:59"})) > 0
+    )
 
 
 def test_devices():
     assert 2 * len(
-        req({"devices": "device-1", "start_time": "2020-12-31T22:59:59"})
+        metrics({"devices": "device-1", "start_time": "2020-12-31T22:59:59"})
     ) == pytest.approx(
-        len(req({"devices": "device-1,device-2", "start_time": "2020-12-31T22:59:59"}))
+        len(
+            metrics(
+                {"devices": "device-1,device-2", "start_time": "2020-12-31T22:59:59"}
+            )
+        )
     )
 
 
 def test_starttime():
     assert (
-        req({"devices": "device-1", "start_time": "2020-12-31T22:59:59.999"})[0][
+        metrics({"devices": "device-1", "start_time": "2020-12-31T22:59:59.999"})[0][
             "timestamp"
         ]
         == "2020-12-31T23:00:00+00:00"
@@ -34,7 +51,7 @@ def test_starttime():
 
 def test_endtime():
     assert (
-        req(
+        metrics(
             {
                 "devices": "device-1",
                 "start_time": "2020-12-31T22:59:59",
@@ -48,7 +65,7 @@ def test_endtime():
 def test_metric():
     assert all(
         r["metric_id"] == "metric-1"
-        for r in req(
+        for r in metrics(
             {
                 "devices": "device-1",
                 "start_time": "2020-12-31T22:59:59",
@@ -59,27 +76,30 @@ def test_metric():
 
 
 def test_job():
-    assert all(r["device_id"] in ("device-1", "device-2") for r in req({"job_id": 1}))
-    assert req({"job_id": 1})[0]["timestamp"] == "2020-12-31T22:00:05+00:00"
-    assert req({"job_id": 1})[-1]["timestamp"] == "2020-12-31T22:59:55+00:00"
+    assert all(
+        r["device_id"] in ("device-1", "device-2") for r in metrics({"job_id": 1})
+    )
+    assert metrics({"job_id": 1})[0]["timestamp"] == "2020-12-31T22:00:05+00:00"
+    assert metrics({"job_id": 1})[-1]["timestamp"] == "2020-12-31T22:59:55+00:00"
 
 
 def test_job_devices():
     assert all(
-        r["device_id"] == "device-1" for r in req({"job_id": 1, "devices": "device-1"})
+        r["device_id"] == "device-1"
+        for r in metrics({"job_id": 1, "devices": "device-1"})
     )
 
 
 def test_job_starttime():
     assert (
-        req({"job_id": 1, "start_time": "2020-12-31T22:29:59.999"})[0]["timestamp"]
+        metrics({"job_id": 1, "start_time": "2020-12-31T22:29:59.999"})[0]["timestamp"]
         == "2020-12-31T22:30:00+00:00"
     )
 
 
 def test_job_endtime():
     assert (
-        req(
+        metrics(
             {
                 "job_id": 1,
                 "start_time": "2020-12-31T22:29:59.999",
@@ -89,7 +109,7 @@ def test_job_endtime():
         == "2020-12-31T22:30:00+00:00"
     )
     assert (
-        req(
+        metrics(
             {
                 "job_id": 1,
                 "start_time": "2020-12-31T22:29:59.999",
@@ -102,13 +122,13 @@ def test_job_endtime():
 
 def test_job_notfinished():
     assert (
-        req({"job_id": 2, "devices": "device-5",})[
+        metrics({"job_id": 2, "devices": "device-5",})[
             -1
         ]["timestamp"]
         == "2021-01-01T00:00:00+00:00"
     )
     assert (
-        req({"job_id": 2, "end_time": "2020-12-31T22:40:00.0001",})[
+        metrics({"job_id": 2, "end_time": "2020-12-31T22:40:00.0001",})[
             -1
         ]["timestamp"]
         == "2020-12-31T22:40:00+00:00"
@@ -118,7 +138,7 @@ def test_job_notfinished():
 def test_job_metric():
     assert all(
         r["metric_id"] == "metric-1"
-        for r in req(
+        for r in metrics(
             {
                 "job_id": 1,
                 "metrics": "metric-1",
@@ -127,10 +147,56 @@ def test_job_metric():
     )
 
 
+def test_available_metrics():
+    # devices from last min
+    assert len(metrics_available()) > -1
+
+
+def test_available_metrics_old():
+    # devices from last 5 min
+    assert not any(
+        m["device_id"] == "local"
+        for m in metrics_available({"at": "2020-12-31T22:59:59"})
+    )
+
+
+def test_available_metrics_devices():
+    # devices from last 5 min
+    assert len(metrics_available({"params": {"devices": ["notexist"]}})) == 0
+
+
+def test_available_metrics_both():
+    # devices from last 5 min
+    assert all(
+        m["device_id"] in ("device-1", "device-2")
+        for m in metrics_available(
+            {
+                "at": "2020-12-31T22:59:59",
+                "params": {"devices": ["device-1", "device-2"]},
+            }
+        )
+    )
+
+
+def test_available_metrics_job():
+    # terminated job
+    assert all(
+        m["device_id"] in ("device-1", "device-2")
+        for m in metrics_available({"params": {"job_id": 1}})
+    )
+
+
+def test_available_metrics_jobrun():
+    # running job
+    assert all(
+        m["device_id"] == "local" for m in metrics_available({"params": {"job_id": 3}})
+    )
+
+
 def test_kwollect_snmp():
     assert (
         len(
-            req(
+            metrics(
                 {
                     "devices": "local",
                     "metrics": "snmp_dumb",
@@ -144,7 +210,7 @@ def test_kwollect_snmp():
 def test_kwollect_snmptemplate():
     assert (
         len(
-            req(
+            metrics(
                 {
                     "devices": "local",
                     "metrics": "snmp_template",
@@ -158,7 +224,7 @@ def test_kwollect_snmptemplate():
 def test_kwollect_prom():
     assert (
         len(
-            req(
+            metrics(
                 {
                     "devices": "local",
                     "metrics": "prom_node_load1",