Skip to content

Commit 9279f11

Browse files
committed
Track timings for job updates.
This gives us a bit more insight as to where time is spent when a job is updated in hub. It breaks down into tracking the entire update per event type, the notify method per event time and propagation per event type, in the hope that this gives us a few more clues as to where time is spent.
1 parent 866ae05 commit 9279f11

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

lib/travis/model/job.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ def propagate(name, *args)
8585
if name == :cancel
8686
name = :cancel_job
8787
end
88-
source.send(name, *args)
88+
Metriks.timer("job.propagate.#{name}").time do
89+
source.send(name, *args)
90+
end
8991
true
9092
end
9193

lib/travis/model/job/test.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,10 @@ def unknown?
9090
end
9191

9292
def notify(event, *args)
93-
event = :create if event == :reset
94-
super
93+
Metriks.timer("job.notify.#{event}").time do
94+
event = :create if event == :reset
95+
super
96+
end
9597
end
9698

9799
delegate :id, :content, :to => :log, :prefix => true, :allow_nil => true

lib/travis/services/update_job.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ def run
1616
# the first one
1717
cancel_job_in_worker
1818
else
19-
job.send(:"#{event}!", data.except(:id))
19+
Metriks.timer("update_job.#{event}").time do
20+
job.send(:"#{event}!", data.except(:id))
21+
end
2022
end
2123
end
2224
instrument :run

0 commit comments

Comments
 (0)