The tz_offset is based on database server time and indicates how far away from GMT the current DATABASE time is. So tz_offset should be the same for all samples.
For example, suppose you have 2 servers, one in EST time zone and one in MST time zone which is 2 hours behind.
Database server is located in PST which would be 3 hours behind the EST server.
Sample is gathered at 11:00:00 EST.
Sampletime on the database gets recorded as 08:00:00PST with a tz_offset of 28800 because the database is 8 hours behind GMT.
At the same exact time, a sample is gathered from the machine in Mountain Time, where it is 9:00:00EST.
Sampletime on the database should STILL be recorded as 08:00:00PST with a tz_offset of 28800. Because 8:00:00PST, 9:00:00MST, and 11:00:00EST are all the same time, so it doesn't matter what time zone the server is really in.
Then when the customer views the data in UMP or SLM, they would see the "local" time zone when the data was collected, based on the time zone of the viewer themselves. So if you are in EST and you look at the results from 11:00:00EST the timestamps (in UMP) should say 11:00:00EST. If you go to MST and look at the exact same data, the results in UMP should show 09:00:00MST.
The only way to view samples in local time is to use UMP or the SLM Fat Client (which is no longer supported) and choose appropriate time zone for the current user, which will then cause all database times to be converted to local user's time.
Note :This is also why database/UMP/NMS server should all be in same timezone, so these calculations will be accurate.