diff --git a/app/controllers/allgood/healthcheck_controller.rb b/app/controllers/allgood/healthcheck_controller.rb index 5a1a622..65b1fa6 100644 --- a/app/controllers/allgood/healthcheck_controller.rb +++ b/app/controllers/allgood/healthcheck_controller.rb @@ -32,6 +32,7 @@ def run_checks if check[:status] == :skipped { name: check[:name], + description: check[:description], success: true, skipped: true, message: check[:skip_reason], @@ -56,6 +57,7 @@ def run_single_check(check) return { name: check[:name], + description: check[:description], success: last_result ? last_result[:success] : true, skipped: true, message: message, @@ -64,7 +66,11 @@ def run_single_check(check) end start_time = Time.now - result = { success: false, message: "Check timed out after #{check[:timeout]} seconds" } + result = { + description: check[:description], + success: false, + message: "Check timed out after #{check[:timeout]} seconds" + } error_key = "allgood:error:#{check[:name].parameterize}" begin @@ -104,6 +110,7 @@ def run_single_check(check) { name: check[:name], + description: check[:description], success: result[:success], message: result[:message], duration: ((Time.now - start_time) * 1000).round(1) diff --git a/app/views/allgood/healthcheck/index.html.erb b/app/views/allgood/healthcheck/index.html.erb index 15c1b09..c20283e 100644 --- a/app/views/allgood/healthcheck/index.html.erb +++ b/app/views/allgood/healthcheck/index.html.erb @@ -18,6 +18,13 @@ .skipped { opacity: 0.6; } + + .description { + margin-left: 0.5rem; + border-left: gray solid 2px; + padding: 0.5rem 1rem; + opacity: 0.6; + }
@@ -36,6 +43,12 @@ <% unless result[:skipped] %> [<%= result[:duration] %>ms] <% end %> + + <% if result[:description].present? %> +
+ <%= sanitize result[:description] %> +
+ <% end %> <% end %> <% else %> diff --git a/lib/allgood/configuration.rb b/lib/allgood/configuration.rb index db43bfd..58e4d4a 100644 --- a/lib/allgood/configuration.rb +++ b/lib/allgood/configuration.rb @@ -11,6 +11,7 @@ def initialize def check(name, **options, &block) check_info = { name: name, + description: options[:description], block: block, timeout: options[:timeout] || @default_timeout, options: options,