Make timing information visible in job log
Problem to Solve
We need to be able to spot which part of a job is taking a long time, so effort can be focused on that part. Relative time is handy for when you're checking job timings, but sometimes you also need to know for troubleshooting reasons when a particular command was run.
Insights
Timings should be the primary showcased information, timestamps and other time-related information will be considered secondary information and can be showcased in a different way.
In gitlab-runner#2412 (comment 186113554) has summarised information leading to this insight including 4+ comments with at least 15 thumbs-up
votes as well in support of this. This includes feedback on not making the view too noisy and considerations about technical feasibility + accuracy when displaying timestamps instead of timings.
Solution
- Timings will be shown on collapsable sections from https://gitlab.com/gitlab-org/gitlab-ce/issues/14664 in
00:00
format showcasing minutes and seconds. - Command line alternative row styling (text:
#a7a7a7
, alternative background#1f1f1f
) - Timing information will be positioned at the end of the line
- Hover interaction on time stamps
underline
and will render a tooltip with:- White background (Reuse popover UI)
- Left-aligned content
- Full UTC data timestamp
Jun 28, 2019 20:36pm GMT+0200
- Time elapsed since previous row total displayed in ms (this will be a copy of the initial timing data, but showcased in ms for better accuracy as requested by https://gitlab.com/gitlab-org/gitlab-ce/issues/22745#note_113584507)
- Time elapsed since job started total displayed in ms