Skip to content

Commit

Permalink
set uptime on boot (#796)
Browse files Browse the repository at this point in the history
* set uptime on boot

* Get uptime without zbus

Co-authored-by: LeeSmet <[email protected]>
  • Loading branch information
DylanVerstraete and LeeSmet authored May 25, 2020
1 parent 14c09c2 commit 655c74a
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion cmds/identityd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"time"

"github.com/jbenet/go-base58"
"github.com/shirou/gopsutil/host"

"github.com/pkg/errors"
"github.com/threefoldtech/tfexplorer/client"
Expand Down Expand Up @@ -458,7 +459,12 @@ func registerNode(nodeID pkg.Identifier, farmID pkg.FarmID, version string, stor

publicKeyHex := hex.EncodeToString(base58.Decode(nodeID.Identity()))

err := store.NodeRegister(directory.Node{
uptime, err := hostUptime()
if err != nil {
return errors.Wrap(err, "could not get node uptime")
}

err = store.NodeRegister(directory.Node{
NodeId: nodeID.Identity(),
NodeIdV1: v1ID,
FarmId: int64(farmID),
Expand All @@ -471,6 +477,7 @@ func registerNode(nodeID pkg.Identifier, farmID pkg.FarmID, version string, stor
Latitude: loc.Latitude,
},
PublicKeyHex: publicKeyHex,
Uptime: int64(uptime),
})

if err != nil {
Expand All @@ -480,3 +487,12 @@ func registerNode(nodeID pkg.Identifier, farmID pkg.FarmID, version string, stor

return nil
}

// hostUptime returns the uptime of the node
func hostUptime() (uint64, error) {
info, err := host.Info()
if err != nil {
return 0, err
}
return info.Uptime, nil
}

0 comments on commit 655c74a

Please sign in to comment.