diff options
author | Stan Hu <stanhu@gmail.com> | 2019-08-08 20:51:40 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-08-08 20:51:40 -0700 |
commit | 7ccbb562b161881cffea77b228c2c3d062fcc864 (patch) | |
tree | b950723974189aa2b66327fe65505873671e93e8 /lib | |
parent | 44aa23b9ab7341836e00968ea82b6725f3318a21 (diff) | |
download | gitlab-ce-7ccbb562b161881cffea77b228c2c3d062fcc864.tar.gz |
Fix Sidekiq scheduling_latency_ssh-fix-sidekiq-scheduling-latency
This number was reporting a negative number because `current_time` was
a monotonic counter, not an absolute time.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65748
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/sidekiq_logging/structured_logger.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/gitlab/sidekiq_logging/structured_logger.rb b/lib/gitlab/sidekiq_logging/structured_logger.rb index d556d5ef129..3ebc71dcc8b 100644 --- a/lib/gitlab/sidekiq_logging/structured_logger.rb +++ b/lib/gitlab/sidekiq_logging/structured_logger.rb @@ -35,7 +35,7 @@ module Gitlab # Old gitlab-shell messages don't provide enqueued_at/created_at attributes enqueued_at = payload['enqueued_at'] || payload['created_at'] if enqueued_at - payload['scheduling_latency_s'] = elapsed(Time.iso8601(enqueued_at).to_f) + payload['scheduling_latency_s'] = elapsed_by_absolute_time(Time.iso8601(enqueued_at)) end payload @@ -84,6 +84,10 @@ module Gitlab end end + def elapsed_by_absolute_time(start) + (Time.now.utc - start).to_f.round(3) + end + def elapsed(start) (current_time - start).round(3) end |