| 502 | } |
| 503 | |
| 504 | func (c *systemdCollector) getSystemdVersion(conn *dbus.Conn) (float64, string) { |
| 505 | version, err := conn.GetManagerProperty("Version") |
| 506 | if err != nil { |
| 507 | c.logger.Debug("Unable to get systemd version property, defaulting to 0") |
| 508 | return 0, "" |
| 509 | } |
| 510 | version = strings.TrimPrefix(strings.TrimSuffix(version, `"`), `"`) |
| 511 | c.logger.Debug("Got systemd version", "version", version) |
| 512 | parsedVersion := systemdVersionRE.FindString(version) |
| 513 | v, err := strconv.ParseFloat(parsedVersion, 64) |
| 514 | if err != nil { |
| 515 | c.logger.Debug("Got invalid systemd version", "version", version) |
| 516 | return 0, "" |
| 517 | } |
| 518 | return v, version |
| 519 | } |
| 520 | |
| 521 | func (c *systemdCollector) getSystemdVirtualization(conn *dbus.Conn) string { |
| 522 | virt, err := conn.GetManagerProperty("Virtualization") |