X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9e2357191ca21631bcb6d8cf7a640d456a1a6cfa..dd59a50f9f3933c359930806516b43899a8b4957:/apps/workbench/app/views/projects/_show_dashboard.html.erb diff --git a/apps/workbench/app/views/projects/_show_dashboard.html.erb b/apps/workbench/app/views/projects/_show_dashboard.html.erb index e7e87368d6..0d71f947c7 100644 --- a/apps/workbench/app/views/projects/_show_dashboard.html.erb +++ b/apps/workbench/app/views/projects/_show_dashboard.html.erb @@ -1,7 +1,7 @@
-
+
Active pipelines <%= link_to( @@ -17,100 +17,85 @@
+ <% _running_pipelines = running_pipelines %> + <% _finished_pipelines = finished_pipelines(8) %> + <% lookup = preload_objects_for_dataclass PipelineTemplate, (_running_pipelines.map(&:pipeline_template_uuid) + _finished_pipelines.map(&:pipeline_template_uuid)) %> +
- <% if running_pipelines.empty? %> + <% if _running_pipelines.empty? %> No pipelines are currently running. - <% end %> - <% running_pipelines.each do |p| %> + <% else %> + <% _running_pipelines.each do |p| %>
- <%= link_to_if_arvados_object p, friendly_name: true %> + <%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %>
- <% running = [] %> - <% failed = [] %> - <% completed = [] %> - <% queued = [] %> <% p.components.each do |k, v| %> - <% if v[:job] %> - <% if Job::state(v[:job]) == "Running" %> - <% running << k %> - <% elsif Job::state(v[:job]) == "Failed" or Job::state(v[:job]) == "Canceled" %> - <% failed << k %> - <% elsif Job::state(v[:job]) == "Completed" %> - <% completed << k %> - <% elsif Job::state(v[:job]) == "Queued" %> - <% queued << k %> - <% end %> + <% if v.is_a? Hash and v[:job] %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :scaleby => (1.0/p.components.size)} %> <% end %> <% end %> - <% completed_pct = (completed.size * 100) / p.components.size %> - <% failed_pct = (failed.size * 100) / p.components.size %> - <% running_pct = (running.size * 100) / p.components.size %> - <% queued_pct = (queued.size * 100) / p.components.size %> - -
- -
-
- -
-
- -
-
- -
+ <% + running = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Running" } + queued = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Queued" } + %> +
- Started at <%= p[:created_at] %>. + Started at <%= render_localized_date(p[:started_at] || p[:created_at], "noseconds") %>. <% pipeline_time = Time.now - (p[:started_at] || p[:created_at]) %> - Active for <%= runtime(pipeline_time, false) %>. + Active for <%= render_runtime(pipeline_time, false) %>.
- <% running.each do |k| %> - <%= k %> + <% running.each do |k,v| %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %> - <% queued.each do |k| %> - <%= k %> + <% queued.each do |k,v| %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %>
<% end %> + <% end %>
-
Recently finished pipelines
+
Recently finished pipelines + + <%= link_to pipeline_instances_path, class: 'btn btn-default btn-xs' do %> + All pipelines + <% end %> + +
- <% finished_pipelines(8).each do |p| %> + <% _finished_pipelines.each do |p| %>
-
- <%= link_to_if_arvados_object p, friendly_name: true %> -
-
- <%= render partial: "pipeline_status_label", locals: {p: p}%> -
-
- <%= p[:modified_at] %> -
+
+ <%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %> +
+
+ <%= render partial: "pipeline_status_label", locals: {p: p}%> +
+
+ <%= render_localized_date(p[:finished_at] || p[:modified_at], "noseconds") %> +
<% if p[:started_at] and p[:finished_at] %> <% pipeline_time = p[:finished_at] - p[:started_at] %> - Active for <%= runtime(pipeline_time, false) %> + Active for <%= render_runtime(pipeline_time, false) %> <% end %> - + <% outputs = [] %> <% p.components.each do |k, c| %> <% outputs << c[:output_uuid] if c[:output_uuid] %> @@ -120,22 +105,23 @@ <% elsif outputs.size == 1 %> <%= link_to_if_arvados_object outputs[0], friendly_name: true %> <% else %> - Outputs + Outputs <% end %>
-
-
+
+
+
<% outputs.each do |out| %> -
+
<%= link_to_if_arvados_object out, friendly_name: true %>
<% end %>
- +
<% end %>
@@ -144,11 +130,20 @@
<% nodes = Node.all %> -
- +
+
Compute and job status + + <%= link_to jobs_path, class: 'btn btn-default btn-xs' do %> + All jobs + <% end %> + +
-
+
<%= render partial: 'compute_node_summary', locals: {nodes: nodes} %> +
<%= render partial: 'compute_node_status', locals: {nodes: nodes} %> @@ -156,18 +151,22 @@
-
Recent collections
+
Recent collections + + <%= link_to collections_path, class: 'btn btn-default btn-xs' do %> + All collections + <% end %> + +
<% r = recent_collections(8) %> <% r[:collections].each do |p| %>
<%= link_to_if_arvados_object r[:owners][p[:owner_uuid]], friendly_name: true %>/ - <%= p[:modified_at]%> + <%= render_localized_date(p[:modified_at], "noseconds") %>
-
<%= link_to_if_arvados_object p, friendly_name: true %> +
<%= link_to_if_arvados_object p, {friendly_name: true, no_tags: true} %>
<% end %>