From 5a42d3ee1477305264d879c89a3223cc25a2488f Mon Sep 17 00:00:00 2001 From: Andrey Vertiprahov Date: Sun, 18 Sep 2022 04:17:50 +0000 Subject: [PATCH] Merge branch 'fix-avs-detect-utc-offset' into 'master' Fix detect UTC offset for metriccollector. See merge request noc/noc!6663 (cherry picked from commit 12a059003f99aa96e8f5d844e94039d816658846) b13ba03e Fix detect UTC offset for metriccollector. --- config.py | 14 ++++++++++++++ services/metricscollector/service.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/config.py b/config.py index 37a3a266f5..595c97d433 100644 --- a/config.py +++ b/config.py @@ -964,6 +964,20 @@ class Config(BaseConfig): # Check quantiles is enabled return getattr(self.perfomance, f"enable_{name}_quantiles", False) + @property + def tz_utc_offset(self) -> int: + """ + Return UTC offset for configured timezone + :return: + """ + import pytz + import datetime + + if not hasattr(self, "_utcoffset"): + dt = datetime.datetime.now(tz=pytz.utc) + self._utcoffset = dt.astimezone(self.timezone).utcoffset() + return int(self._utcoffset.total_seconds()) + config = Config() config.load() diff --git a/services/metricscollector/service.py b/services/metricscollector/service.py index 0078d41c3d..3e141fcdf8 100755 --- a/services/metricscollector/service.py +++ b/services/metricscollector/service.py @@ -189,7 +189,7 @@ class MetricsCollectorService(FastAPIService): # Matched rule found if map_item.ch_table not in out: out[map_item.ch_table] = { - "ts": (item.ts.timestamp() + config.timezone._utcoffset.seconds) * NS, + "ts": (item.ts.timestamp() + config.tz_utc_offset) * NS, "scope": map_item.ch_table, "labels": item.labels, "service": item.service, -- GitLab