This is a question after a fair amount of hunting. The starting point is a desire to know where my jobs are spending time, to eventually make changes to run faster.
I’m running on hosted gitlab.com, in a private project, but I think my question focuses on the API.
What I want looks a lot like the trace displayed in the job detail webpage:
which internally calls this endpoint
and gets back an application/json response where some objects in the
lines collection define a
section_duration with the timing information I ultimately want.
The problem is that this is the web UI, and if possible I’d prefer to script getting this detail for many recent jobs from the API.
The API endpoint for jobs works
And though it’s not in the API docs, the trace API exists
However that endpoint returns
text/plain and does not contain duration information. I’ve tried setting
Accept: application/json but that did’t change behavior. I’ve also tried looking for job.log under artifacts, but it’s not visible there.
Summary: I’m interested in answers at either level: how are you getting detailed information of job timings, or is there a way to get the same json from the job/trace API?