From 1cb1779d6bd8a04a02b330869e753f042fd922f6 Mon Sep 17 00:00:00 2001 From: Tingluo Huang Date: Mon, 22 Aug 2022 18:26:52 -0700 Subject: [PATCH] Include step context name and start/finish time in step telemetry (#2069) * Include step context name in telemetry. * . --- src/Runner.Worker/ExecutionContext.cs | 3 +++ src/Sdk/DTWebApi/WebApi/ActionsStepTelemetry.cs | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/Runner.Worker/ExecutionContext.cs b/src/Runner.Worker/ExecutionContext.cs index 4b63b15bc..1152f5845 100644 --- a/src/Runner.Worker/ExecutionContext.cs +++ b/src/Runner.Worker/ExecutionContext.cs @@ -369,6 +369,7 @@ namespace GitHub.Runner.Worker child.StepTelemetry.StepId = recordId; child.StepTelemetry.Stage = stage.ToString(); child.StepTelemetry.IsEmbedded = isEmbedded; + child.StepTelemetry.StepContextName = child.GetFullyQualifiedContextName(); ; return child; } @@ -959,6 +960,8 @@ namespace GitHub.Runner.Worker _record.StartTime != null) { StepTelemetry.ExecutionTimeInSeconds = (int)Math.Ceiling((_record.FinishTime - _record.StartTime)?.TotalSeconds ?? 0); + StepTelemetry.StartTime = _record.StartTime; + StepTelemetry.FinishTime = _record.FinishTime; } if (!IsEmbedded && diff --git a/src/Sdk/DTWebApi/WebApi/ActionsStepTelemetry.cs b/src/Sdk/DTWebApi/WebApi/ActionsStepTelemetry.cs index 713840139..e6ee7f647 100644 --- a/src/Sdk/DTWebApi/WebApi/ActionsStepTelemetry.cs +++ b/src/Sdk/DTWebApi/WebApi/ActionsStepTelemetry.cs @@ -30,6 +30,9 @@ namespace GitHub.DistributedTask.WebApi [DataMember(EmitDefaultValue = false)] public Guid StepId { get; set; } + [DataMember(EmitDefaultValue = false)] + public string StepContextName { get; set; } + [DataMember(EmitDefaultValue = false)] public bool? HasRunsStep { get; set; } @@ -57,6 +60,12 @@ namespace GitHub.DistributedTask.WebApi [DataMember(EmitDefaultValue = false)] public int? ExecutionTimeInSeconds { get; set; } + [DataMember(EmitDefaultValue = false)] + public DateTime? StartTime { get; set; } + + [DataMember(EmitDefaultValue = false)] + public DateTime? FinishTime { get; set; } + [DataMember(EmitDefaultValue = false)] public string ContainerHookData { get; set; } }