...
1
18
19 package utils
20
21 import (
22 "scheduler/log"
23 "scheduler/types"
24 "time"
25 )
26
27 func ComputeTimings(start *types.TimingsStart, timings *types.Timings) {
28 log.Log.Debug("Computing timings")
29 if start != nil && timings != nil {
30 now := time.Now()
31
32 if start.ArrivedAt != nil {
33 totalTime := now.Sub(*start.ArrivedAt).Seconds()
34 timings.TotalTime = &totalTime
35 }
36
37 if start.ScheduledAt != nil && start.ArrivedAt != nil {
38 schedulingTime := start.ScheduledAt.Sub(*start.ArrivedAt).Seconds()
39 timings.SchedulingTime = &schedulingTime
40 }
41
42 if start.ProbingStartedAt != nil && start.ProbingEndedAt != nil {
43 probingTime := (start.ProbingEndedAt.Sub(*start.ProbingStartedAt)).Seconds()
44 timings.ProbingTime = &probingTime
45 }
46 } else {
47 log.Log.Errorf("Computing timings problem: startNil=%v timingsNil=%", start == nil, timings == nil)
48 }
49 }
50
51 func GetTimeNow() *time.Time {
52 now := time.Now()
53 return &now
54 }
55
View as plain text