Commit 2d71d814 authored by Andrei Mihu's avatar Andrei Mihu
Browse files

Add startup timestamp to node stats. Merge #65

parent 11a6b487
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ All notable changes to this project are documented below.
The format is based on [keep a changelog](http://keepachangelog.com/) and this project uses [semantic versioning](http://semver.org/).

## [Unreleased]
### Added
- Node status now also reports a startup timestamp.

## [0.12.2] - 2017-04-22
### Added
+2 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ var (
)

func main() {
	startedAt := int64(time.Nanosecond) * time.Now().UTC().UnixNano() / int64(time.Millisecond)
	semver := fmt.Sprintf("%s+%s", version, commitID)
	http.DefaultClient.Timeout = 1500 * time.Millisecond // Always set default timeout on HTTP client

@@ -93,7 +94,7 @@ func main() {
	cmd.MigrationStartupCheck(multiLogger, db)

	trackerService := server.NewTrackerService(config.GetName())
	statsService := server.NewStatsService(jsonLogger, config, semver, trackerService)
	statsService := server.NewStatsService(jsonLogger, config, semver, trackerService, startedAt)
	sessionRegistry := server.NewSessionRegistry(jsonLogger, config, trackerService)
	messageRouter := server.NewMessageRouterService(sessionRegistry)
	presenceNotifier := server.NewPresenceNotifier(jsonLogger, config.GetName(), trackerService, messageRouter)
+12 −9
Original line number Diff line number Diff line
@@ -32,15 +32,17 @@ type statsService struct {
	version   string
	config    Config
	tracker   Tracker
	startedAt int64
}

// NewStatsService creates a new StatsService
func NewStatsService(logger *zap.Logger, config Config, version string, tracker Tracker) StatsService {
func NewStatsService(logger *zap.Logger, config Config, version string, tracker Tracker, startedAt int64) StatsService {
	return &statsService{
		logger:    logger,
		version:   version,
		config:    config,
		tracker:   tracker,
		startedAt: startedAt,
	}
}

@@ -54,6 +56,7 @@ func (s *statsService) GetStats() []map[string]interface{} {

	data := make(map[string]interface{})
	data["name"] = s.config.GetName()
	data["started_at"] = s.startedAt
	data["health_status"] = s.GetHealthStatus()
	data["version"] = s.version
	data["address"] = s.getLocalIP()