<%= script_tag "javascripts/chart.min.js" %> <%= script_tag "javascripts/chartjs-plugin-annotation.min.js" %> <%= script_tag "javascripts/chartjs-adapter-date-fns.min.js" %> <%= script_tag "javascripts/base-charts.js" %>

<%= t('Metrics') %> ?

<%= erb :_metrics_period_select, locals: { periods: @periods, period: @period, path: "#{root_path}metrics" } %>
<% table_limit = 20 chart_limit = 5 job_results = @query_result.job_results.sort_by { |(kls, jr)| jr.totals["s"] }.reverse.first(table_limit) visible_kls = job_results.first(chart_limit).map(&:first) %> <% if job_results.any? %> <%= to_json({ series: job_results.map { |(kls, jr)| [kls, jr.dig("series", "s")] }.to_h, marks: @query_result.marks.map { |m| [m.bucket, m.label] }, starts_at: @query_result.starts_at.iso8601, ends_at: @query_result.ends_at.iso8601, visibleKls: visible_kls, yLabel: t('TotalExecutionTime'), units: t('Seconds').downcase, markLabel: t('Deploy'), }) %> <% end %>
<% if job_results.any? %> <% job_results.each_with_index do |(kls, jr), i| %> <% end %> <% else %> <% end %>
<%= t('Name') %> <%= t('Success') %> <%= t('Failure') %> <%= t('TotalExecutionTime') %> (<%= t('Seconds') %>) <%= t('AvgExecutionTime') %> (<%= t('Seconds') %>)
<% id = "metrics-swatch-#{kls}" %> checked <% end %>> <%= kls %>
<%= number_with_delimiter(jr.dig("totals", "p") - jr.dig("totals", "f")) %> <%= number_with_delimiter(jr.dig("totals", "f")) %> <%= number_with_delimiter(jr.dig("totals", "s"), precision: 2) %> <%= number_with_delimiter(jr.total_avg("s"), precision: 2) %>
<%= t("NoDataFound") %>
<% if job_results.any? %>

Data from <%= @query_result.starts_at %> to <%= @query_result.ends_at %>.<% if @period == "1h" %> Auto-refreshing every 60 seconds.<% end %>

<% end %>
<%= script_tag "javascripts/metrics.js" %>