Skip to content

Commit 62f45b7

Browse files
set alert_end_time for each visit separately (#809)
-add "visit" label to alert_end_time so each visit now has a different alert_end_time --> deleted check if new alert_end_time is longer than existing time (when creating or updating visit end time) -remove alert_end_time for that visit when session removed -deleted monitoring_switch prometheus metric and references to it.
1 parent 94ba191 commit 62f45b7

6 files changed

Lines changed: 5 additions & 31 deletions

File tree

src/murfey/server/api/instrument.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,8 @@ async def update_visit_end_time(
247247
db.commit()
248248

249249
# Update the alert endtime on prometheus
250-
alert_end_time = prom.alert_end_time._value.get()
251250
if end_time:
252-
visit_end_timestamp = end_time.timestamp()
253-
if alert_end_time < visit_end_timestamp:
254-
prom.alert_end_time.set(visit_end_timestamp)
251+
prom.alert_end_time.labels(visit=session_entry.visit).set(end_time.timestamp())
255252

256253
# Update the multigrid controller
257254
data = {}

src/murfey/server/api/prometheus.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,6 @@ def increment_rsync_skipped_files_prometheus(
9999
).inc(rsyncer_skipped_files.increment_count)
100100

101101

102-
@router.post("/visits/{visit_name}/monitoring/{on}")
103-
def change_monitoring_status(visit_name: str, on: int):
104-
prom.monitoring_switch.labels(visit=visit_name)
105-
prom.monitoring_switch.labels(visit=visit_name).set(on)
106-
107-
108102
@router.get("/metrics/{metric_name}")
109103
def inspect_prometheus_metrics(
110104
metric_name: str,

src/murfey/server/api/session_info.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,8 @@ def create_session(
188188
db.commit()
189189
sid = s.id
190190

191-
alert_end_time = prom.alert_end_time._value.get() # timestamp
192191
if visit_end_time.end_time:
193-
visit_end_timestamp = visit_end_time.end_time.timestamp()
194-
if alert_end_time < visit_end_timestamp:
195-
prom.alert_end_time.set(visit_end_timestamp)
192+
prom.alert_end_time.labels(visit=visit).set(visit_end_time.end_time.timestamp())
196193

197194
return sid
198195

src/murfey/server/api/session_shared.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ def remove_session_by_id(session_id: int, db):
3131
# Don't remove prometheus metrics if there are other sessions using them
3232
if len(sessions_for_visit) == 1:
3333
safe_run(
34-
prom.monitoring_switch.remove,
34+
prom.alert_end_time.remove,
3535
args=(session.visit,),
36-
label="monitoring_switch",
36+
label="alert_end_time",
3737
)
3838
rsync_instances = db.exec(
3939
select(RsyncInstance).where(RsyncInstance.session_id == session_id)

src/murfey/server/prometheus.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,5 @@
3838

3939
exposure_time = Gauge("exposure_time", "Exposure time for a single movie")
4040

41-
monitoring_switch = Gauge(
42-
"monitoring_on",
43-
"Whether the corresponding visit should be monitored or not",
44-
["visit"],
45-
)
4641

47-
alert_end_time = Gauge("alert_end_time", "End time for alerts", [])
42+
alert_end_time = Gauge("alert_end_time", "End time for alerts", ["visit"])

src/murfey/util/route_manifest.yaml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -703,15 +703,6 @@ murfey.server.api.prometheus.router:
703703
type: str
704704
methods:
705705
- POST
706-
- path: /prometheus/visits/{visit_name}/monitoring/{on}
707-
function: change_monitoring_status
708-
path_params:
709-
- name: visit_name
710-
type: str
711-
- name: "on"
712-
type: int
713-
methods:
714-
- POST
715706
- path: /prometheus/metrics/{metric_name}
716707
function: inspect_prometheus_metrics
717708
path_params:

0 commit comments

Comments
 (0)