How does APM automatically handle daylight savings time changes? Does it have an internal database to know when to switch to and from summer time zones?
APM does not have it's own internal database but instead takes the Time Zone information from the environment i.e. the JVM. The JVM has an internal database where it maintains when daylight savings time changes for each time zone. This database is updated periodically with new Java releases, however, there is also a utility that you can run to update the database independently without having to update the entire JVM.
Details of this utility, TZupdater, can be found at the following URL:
This link also contains a table showing which Time Zone changes are contained in which Java version and TZupdater version. Currently (as of September, 2013) there is no JRE release with the latest TZ database updates in it, according to the link, so, to get the latest changes the TZupdater tool would need to be used.
When Time Zone changes take place, the Enterprise Manager handles it seamlessly, as can be seen from the following (sanitized) log extract showing consecutive entries either side of the daylight saving change:
9/08/13 01:59:40.186 AM IDT [INFO] [PO:WatchedAgentPO Mailman 1] [Manager.Agent] Connected to Agent "SuperDomain|HOST|.NETProcess|apmmodel" at "Node=Agent_2,
Address=HOST/xxx.xxx.xxx.xxx:49678, Type=socket" using Agent protocol revision 1.0
9/08/13 01:19:39.264 AM IST [INFO] [PO Route Down Executor] [Manager] Lost connection at: Node=Agent_2,
Note that this change occurred on a system where the latest TZ database was not installed, as the Israeli DST change does not actually occur until the end of October, 2013.