Log user's storage size in Redis

This commit is contained in:
Garret Alfert
2016-06-13 13:18:10 +02:00
parent fa1f7bccba
commit 995ba52886
2 changed files with 48 additions and 0 deletions

View File

@@ -159,6 +159,7 @@ module RemoteStorage
if update_metadata_object(user, directory, key, metadata)
if metadata_changed?(existing_metadata, metadata)
update_dir_objects(user, directory, timestamp, checksum_for(data))
log_size_difference(user, existing_metadata["s"], metadata[:s])
end
server.headers["ETag"] = %Q("#{res.headers[:etag]}")
@@ -168,6 +169,11 @@ module RemoteStorage
end
end
def log_size_difference(user, old_size, new_size)
delta = new_size.to_i - old_size.to_i
redis.incrby "rs:s:#{user}", delta
end
def checksum_for(data)
Digest::MD5.hexdigest(data)
end
@@ -182,6 +188,7 @@ module RemoteStorage
end
do_delete_request(url)
log_size_difference(user, existing_metadata["s"], 0)
delete_metadata_objects(user, directory, key)
delete_dir_objects(user, directory)