A8814 Acq
Page 25
calculating demand values based on consumption.
5)
Converting Local time to any other timezone usually involves converting it to UTC first.
Using UTC time solves these problems elegantly. The best practice is to store data in the database in UTC format
and then convert the information when generating a report for the user.
For example, if you wish to draw a graph of KW over Time, prompt the user for a date range, say Jan 1 midnight
to Jan 2 midnight. Take the user specified end points and convert these times from Local time to UTC. Next,
create an SQL query using the new UTC formatted data as your select statement. ie:
SELECT * from TABLE where time > '2003-01-01 08:00:00' and time < '2003-01-02 08:00:00'
Note the time is 8 hours ahead of local time. This example is for Pacific which is 8 hours off from UTC. This will
return a list of data points between the two specified time ranges. Next, plot the data on a graph, using the UTC
times for start and end points. Lastly, when drawing the 'time' legend on the graph, convert the values back to
Local time before displaying. Ie, 2003-01-01 00:00:00 to 2003-01-02 00:00:00. Any division lines on the time axis
can be handled the same way. The advantage of using this technique is that it will properly draw a graph across
DST change boundaries. The graph axis is based on UTC time with no DST, and will not show a gap or overlap a
the time of the change. The axis labeling will be correct as well, matching the UTC times precisely.
Another way to handle the conversion is to query and convert all the returned timestamps to local time before
drawing the graph. This is useful if you do not have detailed control over the graph legend drawing process. This
technique will not properly graph across DST changes as the graph is based on local time including DST changes.
System logs
The AcquiSuite can keep several log files that report the general operation of the system, not related to the
normal data logs. These include the following:
Debug Messages:
The AcquiSuite can run a “syslog” process to record more detailed information about its
operations, however this log consumes vast quantities of memory quickly, and is disabled by default. Click the
“start log” button to enable the feature. Click the “end log” button to disable. Note: when the AcquiSuite is
rebooted, the debug log will be disabled on startup.
Kernel Boot log
: Startup messages about the Linux operating system startup. This log shows what hardware
items were detected and initialized.
Ftp Connection log:
This log shows a list of files transferred by FTP on the AcquiSuite.
Last Data Upload log
: This log file contains a report from the last data upload attempt to remote
database/webservers such as BMO. This log will show if any log files are being rejected by the
dabase/webserver, or if the network is not allowing a connection.
Last Modem Connection log:
This log file shows the details of the modem operation including modem
connection quality parameters. This is updated ever time the modem makes a dilain or dialout connection.
Time Change Log
: This log contains a list of time change events. When the AcquiSuite system clock is changed
either manually or by automated time sync, and the change is more than a few seconds, the event is recorded
here.
System boot log:
This log shows when the AcquiSuite was started, and lists process events such as remote logins,
or logger process restarts. This log is most useful for detecting when the AcquiSuite was restarted, and whether
there was a proper shutdown event prior to rebooting (if not, possibly a power outage).
Start/End logging
: This button allows the user to start detailed logging or disable it if it is running.
Purge Log Files
: This button will clear all the system log files listed on this page, but not the meter data log files.
(deletes kernel, boot, ftp, messages, upload log files) This does not clear the interval log data from attached