feat: increase time resolution when possible (collectors: os, system, time) (#2047)

This commit is contained in:
Lapo Luchini
2025-06-20 13:12:26 +02:00
committed by GitHub
parent 66cd489c4a
commit 59ac3072b1
8 changed files with 8 additions and 8 deletions

View File

@@ -172,7 +172,7 @@ func (c *Collector) collectGlobFilePath(ch chan<- prometheus.Metric, filePattern
ch <- prometheus.MustNewConstMetric(
c.fileMTime,
prometheus.GaugeValue,
float64(fileInfo.ModTime().UTC().Unix()),
float64(fileInfo.ModTime().UTC().UnixMicro())/1e6,
filePath,
)
}

View File

@@ -96,7 +96,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
ch <- prometheus.MustNewConstMetric(
c.sessionInfo,
prometheus.GaugeValue,
float64(session.LogonTime.Unix()),
float64(session.LogonTime.UnixMicro())/1e6,
session.LogonId.String(), session.UserName, session.LogonDomain, session.LogonType.String(),
)
}

View File

@@ -290,7 +290,7 @@ func (c *Collector) collectTime(ch chan<- prometheus.Metric) error {
ch <- prometheus.MustNewConstMetric(
c.time,
prometheus.GaugeValue,
float64(time.Now().Unix()),
float64(time.Now().UnixMicro())/1e6,
)
ch <- prometheus.MustNewConstMetric(

View File

@@ -142,7 +142,7 @@ func (c *Collector) collectWorker() {
name, pidString, parentPID, strconv.Itoa(int(processGroupID)), processOwner, cmdLine,
)
startTime := float64(time.Now().Unix() - int64(data.ElapsedTime))
startTime := float64(time.Now().UnixMicro())/1e6 - data.ElapsedTime
ch <- prometheus.MustNewConstMetric(
c.startTimeOld,

View File

@@ -141,7 +141,7 @@ func (c *Collector) Build(_ *slog.Logger, _ *mi.Session) error {
nil,
)
c.bootTimeTimestamp = float64(time.Now().Unix() - int64(kernel32.GetTickCount64()/1000))
c.bootTimeTimestamp = float64(uint64(time.Now().UnixMilli())-kernel32.GetTickCount64()) / 1000
var err error

View File

@@ -245,7 +245,7 @@ func (c *Collector) collectTime(ch chan<- prometheus.Metric) error {
ch <- prometheus.MustNewConstMetric(
c.currentTime,
prometheus.GaugeValue,
float64(time.Now().Unix()),
float64(time.Now().UnixMicro())/1e6,
)
timeZoneInfo, err := kernel32.GetDynamicTimeZoneInformation()

View File

@@ -405,7 +405,7 @@ func (c *Collector) fetchUpdates(logger *slog.Logger, usd *ole.IDispatch) ([]pro
metricsBuf = append(metricsBuf, prometheus.MustNewConstMetric(
c.lastScrapeMetric,
prometheus.GaugeValue,
float64(time.Now().Unix()),
float64(time.Now().UnixMicro())/1e6,
))
return metricsBuf, nil