@@ -24,12 +24,16 @@ type TestRunPoller struct {
24
24
}
25
25
26
26
func NewTestRunPoller (host , token , plzName string , logger logr.Logger ) * TestRunPoller {
27
- logrusLogger := & logrus.Logger {
27
+ // We need two loggers here because of logrus dependency in cloudapi.
28
+ // This will have a re-visit during or after https://github.com/grafana/k6-operator/issues/571
29
+ l := & logrus.Logger {
28
30
Out : os .Stdout ,
29
31
Formatter : new (logrus.TextFormatter ),
30
32
Hooks : make (logrus.LevelHooks ),
31
33
Level : logrus .InfoLevel ,
32
34
}
35
+ logrusLogger := l .WithFields (logrus.Fields {"k6_cloud_host" : host })
36
+ logger = logger .WithValues ("k6_cloud_host" , host )
33
37
34
38
testRunsCh := make (chan string )
35
39
@@ -110,35 +114,46 @@ func GetTestRunData(client *cloudapi.Client, refID string) (*TestRunData, error)
110
114
}
111
115
112
116
// called by TestRun controller
113
- func GetTestRunState (client * cloudapi.Client , refID string , log logr.Logger ) (TestRunStatus , error ) {
114
- url := fmt .Sprintf ("%s/loadtests/v4/test_runs(%s)?$select=id,run_status" , ApiURL (client .BaseURL ()), refID )
117
+ // If there's an error, it'll be logged.
118
+ func GetTestRunState (client * cloudapi.Client , refID string , logger logr.Logger ) (TestRunStatus , error ) {
119
+ host := ApiURL (client .BaseURL ())
120
+ logger = logger .WithValues ("k6_cloud_host" , host )
121
+
122
+ url := fmt .Sprintf ("%s/loadtests/v4/test_runs(%s)?$select=id,run_status" , host , refID )
115
123
trData , err := getTestRun (client , url )
116
124
if err != nil {
125
+ logger .Error (err , "Failed to get test run state." )
117
126
return TestRunStatus (cloudapi .RunStatusRunning ), err
118
127
}
119
128
120
- return TestRunStatus (trData .RunStatus ), nil
129
+ status := TestRunStatus (trData .RunStatus )
130
+ logger .Info (fmt .Sprintf ("Received test run status %v" , status ))
131
+
132
+ return status , nil
121
133
}
122
134
123
135
// called by TestRun controller
124
136
// If there's an error, it'll be logged.
125
- func SendTestRunEvents (client * cloudapi.Client , refID string , log logr.Logger , events * Events ) {
137
+ func SendTestRunEvents (client * cloudapi.Client , refID string , logger logr.Logger , events * Events ) {
126
138
if len (* events ) == 0 {
127
139
return
128
140
}
129
141
130
- url := fmt .Sprintf ("%s/orchestrator/v1/testruns/%s/events" , strings .TrimSuffix (client .BaseURL (), "/v1" ), refID )
142
+ host := strings .TrimSuffix (client .BaseURL (), "/v1" )
143
+ logger = logger .WithValues ("k6_cloud_host" , host )
144
+
145
+ url := fmt .Sprintf ("%s/orchestrator/v1/testruns/%s/events" , host , refID )
131
146
req , err := client .NewRequest ("POST" , url , events )
132
147
133
148
if err != nil {
134
- log .Error (err , fmt .Sprintf ("Failed to create events HTTP request %+v" , events ))
149
+ logger .Error (err , fmt .Sprintf ("Failed to create events HTTP request %+v" , events ))
135
150
return
136
151
}
137
152
138
- log .Info (fmt .Sprintf ("Sending events to k6 Cloud %+v" , * events ))
153
+ logger .Info (fmt .Sprintf ("Sending events to k6 Cloud %+v" , * events ))
139
154
140
155
// status code is checked in Do
141
156
if err = client .Do (req , nil ); err != nil {
142
- log .Error (err , fmt .Sprintf ("Failed to send events %+v" , events ))
157
+ logger .Error (err , fmt .Sprintf ("Failed to send events %+v" , events ))
143
158
}
144
159
}
0 commit comments