From fa3c07c3d0b7cf258bc009cafe10b3f33b412c48 Mon Sep 17 00:00:00 2001 From: kjgarza Date: Fri, 14 Feb 2020 16:32:12 +0100 Subject: [PATCH] benchmark validationjob --- app/jobs/validation_job.rb | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/app/jobs/validation_job.rb b/app/jobs/validation_job.rb index 6c74bd0..70d6607 100644 --- a/app/jobs/validation_job.rb +++ b/app/jobs/validation_job.rb @@ -1,15 +1,35 @@ +require 'benchmark' + class ValidationJob < ActiveJob::Base queue_as :sashimi def perform(id, options={}) - subset = ReportSubset.where(id: id).first - full_report = ActiveSupport::Gzip.decompress(subset.compressed) - parsed = JSON.parse(full_report) + subset = nil + full_report = nil + subset = nil + header = nil + parsed = nil + is_valid = nil + + bm = Benchmark.ms { + subset = ReportSubset.where(id: id).first + full_report = ActiveSupport::Gzip.decompress(subset.compressed) + } + Rails.logger.warn message: "[ValidationJob] Decompress", duration: bm + + bm = Benchmark.ms { + parsed = JSON.parse(full_report) + } + Rails.logger.warn message: "[ValidationJob] Parse", duration: bm + header = parsed.dig("report-header") header["report-datasets"] = parsed.dig("report-datasets") - # validate subset of usage report, raise error with bug tracker otherwise - is_valid = subset.validate_this_sushi_with_error(header) + bm = Benchmark.ms { + # validate subset of usage report, raise error with bug tracker otherwise + is_valid = subset.validate_this_sushi_with_error(header) + } + Rails.logger.warn message: "[ValidationJob] Validation", duration: bm if is_valid message = "[ValidationJob] Subset #{id} of Usage Report #{subset.report.uid} successfully validated."