Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions systemd/systemd.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ type Collector struct {
unitTasksCurrentDesc *prometheus.Desc
unitTasksMaxDesc *prometheus.Desc
unitActiveEnterTimeDesc *prometheus.Desc
unitActiveEnterMonotonicDesc *prometheus.Desc
unitActiveExitTimeDesc *prometheus.Desc
unitInactiveEnterTimeDesc *prometheus.Desc
unitInactiveExitTimeDesc *prometheus.Desc
Expand Down Expand Up @@ -140,6 +141,11 @@ func NewCollector(logger *slog.Logger) (*Collector, error) {
"Last time the unit transitioned into the active state",
[]string{"name", "type"}, nil,
)
unitActiveEnterMonotonicDesc := prometheus.NewDesc(
prometheus.BuildFQName(namespace, "", "unit_active_enter_monotonic_seconds"),
"Monotonic time when the unit transitioned into the active state",
[]string{"name", "type"}, nil,
)
unitActiveExitTimeDesc := prometheus.NewDesc(
prometheus.BuildFQName(namespace, "", "unit_active_exit_time_seconds"),
"Last time the unit transitioned out of the active state",
Expand Down Expand Up @@ -237,6 +243,7 @@ func NewCollector(logger *slog.Logger) (*Collector, error) {
unitTasksCurrentDesc: unitTasksCurrentDesc,
unitTasksMaxDesc: unitTasksMaxDesc,
unitActiveEnterTimeDesc: unitActiveEnterTimeDesc,
unitActiveEnterMonotonicDesc: unitActiveEnterMonotonicDesc,
unitActiveExitTimeDesc: unitActiveExitTimeDesc,
unitInactiveEnterTimeDesc: unitInactiveEnterTimeDesc,
unitInactiveExitTimeDesc: unitInactiveExitTimeDesc,
Expand Down Expand Up @@ -276,6 +283,11 @@ func (c *Collector) Describe(desc chan<- *prometheus.Desc) {
desc <- c.unitStartTimeDesc
desc <- c.unitTasksCurrentDesc
desc <- c.unitTasksMaxDesc
desc <- c.unitActiveEnterTimeDesc
desc <- c.unitActiveEnterMonotonicDesc
desc <- c.unitActiveExitTimeDesc
desc <- c.unitInactiveEnterTimeDesc
desc <- c.unitInactiveExitTimeDesc
desc <- c.nRestartsDesc
desc <- c.timerLastTriggerDesc
desc <- c.socketAcceptedConnectionsDesc
Expand Down Expand Up @@ -473,6 +485,10 @@ func (c *Collector) collectUnitTimeMetrics(conn *dbus.Conn, ch chan<- prometheus
if err != nil {
return err
}
err = c.collectUnitTimeMetric(conn, ch, unit, c.unitActiveEnterMonotonicDesc, "ActiveEnterTimestampMonotonic")
if err != nil {
return err
}
err = c.collectUnitTimeMetric(conn, ch, unit, c.unitActiveExitTimeDesc, "ActiveExitTimestamp")
if err != nil {
return err
Expand Down