timestored / pulseui

Real-time interactive database applications
https://www.timestored.com/pulse/
Other
81 stars 10 forks source link

Support nanoseconds in tables and time-series chart. #325

Open ryanhamilton opened 1 month ago

ryanhamilton commented 1 month ago

user-jl

  1. Check with @bluestreak01 if QuestDB supports nanos
  2. Test clickhouse nanos
  3. test kdb nanos
ryanhamilton commented 1 month ago

I see why other visualization tools are reluctant to embrace nanoseconds, it explodes the variations of cases that need handled:

  1. Not all databases send nanosecond with same offset 1970 vs 2000
  2. You can't send nanos via json as number, the accuracy gets lost. Not all IPC supports bigint so you need to send something inefficient.
  3. On the receiving end, you can't use JS dates. Which means the "table" in json for dates/times vs timestamps/timespans need to be an entirely different type.
  4. Which means both timestamp/timespan would need custom date/time formatters parallel to the current 5-6 date formatting options.
  5. Once the value reaches the graph, graphs don't support numbers that large with that little differences. So that would be a different rendering pipeline.
  6. We already had a time-series with date optimized pipeline vs standard charts, so this would add a third. Both with and without nanoseconds would need to stay optimized.

Given these I'm going to pause on commitment from customers to push forward.