Hi all,
I have a question about using the different endpoints and the timestamp resolution of the archiver. Here is the situation that is confusing me:
- I make a request to the getData endpoint for some <PV> that returns multiple values, each accompanied by a secs and nanos field indicating when the value was updated
Example response for pv ID: [{ val: “2”, secs: “1627576833”, nanos: “342322864”}, {val: “3”, secs: “1627576922”, nanos: “563728637”} ]
- When I make a request to getDataAtTime where the at parameter contains the full returned timestamp, down to the nanoseconds, I get the record value before:
Example request: <ARCHIVER DATA ENDPOINT>/getDataAtTime?at=<UNIXSECONDS FOR SECS OF VAL 3>.563728637 -d [“ID”]
Example response: { “ID”: “2”}
This occurs over shot intervals, so time zone issues are not the underlying cause. Is there some difference in the time resolution of the different endpoints? Is this a quirk of the archiver? We are doing a work around by rounding up to
milliseconds, but it is confusing that the timestamp returned in nanoseconds can’t be used precisely in getdataattime
Thank you,
Elena De La Paz