From 367708ef171d7914854c68f7d7a32217683bad6d Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 3 Mar 2024 08:45:24 -0500 Subject: improve rclone metrics a bit --- modules/tick/files/plugins/rclone | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'modules/tick/files/plugins/rclone') diff --git a/modules/tick/files/plugins/rclone b/modules/tick/files/plugins/rclone index c26a190..0292512 100644 --- a/modules/tick/files/plugins/rclone +++ b/modules/tick/files/plugins/rclone @@ -12,15 +12,19 @@ JSON.load(%x{#{rclone} lsjson #{crypt_repo}}).each do |dir| crypt_path = "#{crypt_repo}#{dir["Path"]}" b2_path = "#{b2_repo}/#{dir["Path"]}" - date = %x{#{rclone} cat #{crypt_path}/last_run} - ago_s = now - DateTime.iso8601(date).to_time + run_start = %x{#{rclone} cat #{crypt_path}/last_run_start} + run_end = %x{#{rclone} cat #{crypt_path}/last_run_end} + ago_s = now - DateTime.iso8601(run_end).to_time + dur_s = DateTime.iso8601(run_end).to_time - DateTime.iso8601(run_start).to_time + if dur_s > 0 + duration_minutes = ",duration_minutes=#{dur_s / 60.0}" + else + duration_minutes = "" + end - # rclone size uses quite a lot of backblaze api calls, which turns out to be - # super expensive - # data = JSON.load(%x{#{rclone} size #{b2_path} --b2-versions --json}) - # file_size_b = data["bytes"] - # file_count_n = data["count"] + data = JSON.load(%x{#{rclone} size #{b2_path} --b2-versions --json --fast-list}) + file_size_b = data["bytes"] + file_count_n = data["count"] - # puts "rclone,location=#{crypt_path} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0},file_size=#{file_size_b}i,file_count=#{file_count_n}i" - puts "rclone,location=#{crypt_path} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0}" + puts "rclone,location=#{crypt_path} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0},file_size=#{file_size_b}i,file_count=#{file_count_n}i#{duration_minutes}" end -- cgit v1.2.3-54-g00ecf