ENTERPRISE EDITION This is a SignServer Enterprise Edition (EE) feature.

Fully qualified class name: org.signserver.module.timemonitormanager.TimeMonitorManager.


Similar to the StatusPropertiesWorker, the TimeMonitorManager also supports setting status properties in the status repository. Additionally, the TimeMonitorManager supports dynamic configuration of the TimeMonitor and also gives a complete view of the state of the TimeMonitor.

Worker Properties

All worker properties starting with either "TIMEMONITOR." or "TIMESERVER." are sent to the TimeMonitor if it asks for it. For information on available properties, refer to the SignServer TimeMonitor Manual.

Request Properties




Where x is a status property: Sets the value of the property


Where x is a status property: Sets the expiration time for x (x.VALUE must also be specified)

Response Properties




The time when the property was written

Status output

Detailed information about the state of the TimeMonitor is available in the getstatus output of the TimeMonitorManager:

  • Time monitor: Indicates if the application is detected to be 'Running', 'Disabled', 'Not running?' or 'Unavailabe'. The state is determined by if the manager has seen an update from the TimeMonitor before the status properties are starting to expire.

  • Last update: The last time the TimeMonitor contacted the manager.

  • Current time: Current time of the server.

  • Time state: The last time state from the TimeMonitor.

  • Report state: The last report state from the TimeMonitor.

  • Leap state: The last leap state from the TimeMonitor.

  • Configuration: Either 'out of sync' or 'up to date' depending on if the current configuration has been read by the TimeMonitor or not. After changing a property in the TimeMonitorManager it is normal that the configuration is marked as 'out of sync' until the TimeMonitor fetches it.

  • Status properties values: Prints the current value and possibly the expiration time for the TIMESOURCE0_INSYNC and LEAPSECOND status properties.

  • Timings: Prints the current time values from the TimeMonitor.

  • Configuration: Prints the configuration values in the manager (not necessarily read by the TimeMonitor yet).

  • Last TimeMonitor log entries: Prints the last log entries obtained from the last update from the TimeMonitor.

Sample output

The following displays an example status output:

Status of Worker with ID 300 (TimeMonitorManager) is:
Worker status : Active
Time monitor : Running
Last update : 2017-08-26 11:43:39,176
Current time : 2017-08-26 11:43:39,580
Time state : INSYNC
Report state : REPORTED
Leap state : NONE
Configuration : Up to date
Status Repository values:
NTP server time offset: 0 ms
NTP server query time: 507 ms
NTP leap status query time: 8 ms
Report time: 7 ms
Total required run time: 522 ms
NTP server hosts:
NTP query samples: 2
NTP query timeout: 200 ms
Max accepted offset: 997 ms
Warn offset: 500 ms
Status expire time: 900 ms
Leap status expire time: 60000 ms
Warn run time: 800 ms
Minimum run time: 550 ms
Last TimeMonitor log entries:
2014-08-26 11:36:29,253 INFO Started
2014-08-26 11:36:29,287 INFO State changed to: UNKNOWN,REPORTED,UNKNOWN
2014-08-26 11:36:44,255 INFO Config changed to: 1ccdf46b
2014-08-26 11:36:44,782 INFO Time back in calibration: offset abs(0) max accepted offset 997
2014-08-26 11:36:44,793 INFO State changed to: INSYNC,REPORTED,NONE