Add float rounding to CH usage events
What does this MR do and why?
Adds rounding to float number because timestamp.to_f isn't always precise:
[1] pry(main)> Time.current.floor(3).to_f
=> 1744108603.598
[2] pry(main)> Time.current.floor(3).to_f
=> 1744108604.7180002
[3] pry(main)> Time.current.floor(3).to_f
=> 1744108606.48
[4] pry(main)> Time.current.floor(3).to_f
=> 1744108607.548
[5] pry(main)> Time.current.floor(3).to_f
=> 1744108608.4129999
As a result we still have records with microsecond values in ClickHouse. No user facing changes.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #528661