@@ -23,6 +23,7 @@ import (
23
23
apieni "github.com/aws/amazon-ecs-agent/agent/api/eni"
24
24
apitask "github.com/aws/amazon-ecs-agent/agent/api/task"
25
25
apitaskstatus "github.com/aws/amazon-ecs-agent/agent/api/task/status"
26
+ "github.com/aws/amazon-ecs-agent/agent/logger"
26
27
"github.com/aws/amazon-ecs-agent/agent/statechange"
27
28
"github.com/pkg/errors"
28
29
@@ -223,29 +224,42 @@ func NewAttachmentStateChangeEvent(eniAttachment *apieni.ENIAttachment) Attachme
223
224
}
224
225
}
225
226
227
+ func (c * ContainerStateChange ) ToFields () logger.Fields {
228
+ return logger.Fields {
229
+ "eventType" : "ContainerStateChange" ,
230
+ "taskArn" : c .TaskArn ,
231
+ "containerName" : c .ContainerName ,
232
+ "containerStatus" : c .Status .String (),
233
+ "exitCode" : strconv .Itoa (* c .ExitCode ),
234
+ "reason" : c .Reason ,
235
+ "portBindings" : c .PortBindings ,
236
+ }
237
+ }
238
+
226
239
// String returns a human readable string representation of this object
227
240
func (c * ContainerStateChange ) String () string {
228
- res := fmt .Sprintf ("%s %s -> %s" , c . TaskArn , c .ContainerName , c .Status .String ())
241
+ res := fmt .Sprintf ("containerName= %s containerStatus=%s" , c .ContainerName , c .Status .String ())
229
242
if c .ExitCode != nil {
230
- res += ", Exit " + strconv .Itoa (* c .ExitCode ) + ", "
243
+ res += " containerExitCode= " + strconv .Itoa (* c .ExitCode )
231
244
}
232
245
if c .Reason != "" {
233
- res += ", Reason " + c .Reason
246
+ res += " containerReason= " + c .Reason
234
247
}
235
248
if len (c .PortBindings ) != 0 {
236
- res += fmt .Sprintf (", Ports %v" , c .PortBindings )
249
+ res += fmt .Sprintf (" containerPortBindings= %v" , c .PortBindings )
237
250
}
238
251
if c .Container != nil {
239
- res += ", Known Sent: " + c .Container .GetSentStatus ().String ()
252
+ res += fmt .Sprintf (" containerKnownSentStatus=%s containerRuntimeID=%s" ,
253
+ c .Container .GetSentStatus ().String (), c .Container .GetRuntimeID ())
240
254
}
241
255
return res
242
256
}
243
257
244
258
// String returns a human readable string representation of ManagedAgentStateChange
245
259
func (m * ManagedAgentStateChange ) String () string {
246
- res := fmt .Sprintf ("%s %s %s -> %s" , m . TaskArn , m .Container .Name , m .Name , m .Status .String ())
260
+ res := fmt .Sprintf ("containerName= %s managedAgentName= %s managedAgentStatus=%s" , m .Container .Name , m .Name , m .Status .String ())
247
261
if m .Reason != "" {
248
- res += ", Reason " + m .Reason
262
+ res += " managedAgentReason= " + m .Reason
249
263
}
250
264
return res
251
265
}
@@ -287,6 +301,29 @@ func (change *TaskStateChange) ShouldBeReported() bool {
287
301
return false
288
302
}
289
303
304
+ func (change * TaskStateChange ) ToFields () logger.Fields {
305
+ fields := logger.Fields {
306
+ "eventType" : "TaskStateChange" ,
307
+ "taskArn" : change .TaskARN ,
308
+ "taskStatus" : change .Status .String (),
309
+ "taskReason" : change .Reason ,
310
+ "taskKnownSentStatus" : change .Task .GetSentStatus ().String (),
311
+ "taskPullStartedAt" : change .Task .GetPullStartedAt ().UTC ().Format (time .RFC3339 ),
312
+ "taskPullStoppedAt" : change .Task .GetPullStoppedAt ().UTC ().Format (time .RFC3339 ),
313
+ "taskExecutionStoppedAt" : change .Task .GetExecutionStoppedAt ().UTC ().Format (time .RFC3339 ),
314
+ }
315
+ if change .Attachment != nil {
316
+ fields ["eniAttachment" ] = change .Attachment .String ()
317
+ }
318
+ for i , containerChange := range change .Containers {
319
+ fields ["containerChange-" + strconv .Itoa (i )] = containerChange .String ()
320
+ }
321
+ for i , managedAgentChange := range change .ManagedAgents {
322
+ fields ["managedAgentChange-" + strconv .Itoa (i )] = managedAgentChange .String ()
323
+ }
324
+ return fields
325
+ }
326
+
290
327
// String returns a human readable string representation of this object
291
328
func (change * TaskStateChange ) String () string {
292
329
res := fmt .Sprintf ("%s -> %s" , change .TaskARN , change .Status .String ())
0 commit comments