Skip to content

Commit b906ebd

Browse files
committed
Emitting 'InProgress' ETW event for short functions.
1 parent cee6e18 commit b906ebd

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/WebJobs.Script.WebHost/Diagnostics/MetricsEventManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ internal FunctionActivityTracker(IMetricsEventGenerator generator, int metricEve
126126
{
127127
try
128128
{
129-
int currentSecond = 0;
129+
int currentSecond = _metricEventIntervalInSeconds;
130130
while (!_etwTaskCancellationSource.Token.IsCancellationRequested)
131131
{
132132
RaiseMetricsPerFunctionEvent();

test/WebJobs.Script.Tests/MetricsEventManagerTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class MetricsEventManagerTests
2020
{
2121
private Random _randomNumberGenerator = new Random();
2222
private const int MinimumLongRunningDurationInMs = 2000;
23-
private const int MinimumRandomValueForLongRunningDurationInMs = MinimumLongRunningDurationInMs + 200;
23+
private const int MinimumRandomValueForLongRunningDurationInMs = MinimumLongRunningDurationInMs + MinimumLongRunningDurationInMs;
2424

2525
[Fact]
2626
public async Task MetricsEventManager_BasicTest()
@@ -48,7 +48,7 @@ public async Task MetricsEventManager_MultipleConcurrentShortFunctionExecutions(
4848
}
4949

5050
await AwaitFunctionTasks(taskList);
51-
Assert.Equal(concurrency, argsList.Count);
51+
ValidateFunctionExecutionEventArgumentsList(argsList, concurrency);
5252
}
5353

5454
[Fact]
@@ -124,7 +124,7 @@ public async Task MetricsEventManager_NonParallelExecutionsShouldHaveDifferentEx
124124
// Let's make sure that the tracker is not running anymore
125125
await Task.Delay(TimeSpan.FromMilliseconds(MinimumRandomValueForLongRunningDurationInMs));
126126

127-
Assert.True(argsList[0].ExecutionId != argsList[1].ExecutionId, "Execution ids are same");
127+
Assert.True(argsList[0].ExecutionId != argsList[argsList.Count - 1].ExecutionId, "Execution ids are same");
128128
}
129129

130130
private static async Task AwaitFunctionTasks(List<Task> taskList)
@@ -209,8 +209,8 @@ private static bool ValidateFunctionExecutionEventArgumentsList(List<FunctionExe
209209
hashes.Add(lastEvent.InvocationId);
210210
}
211211

212-
var minEventsExpected = Math.Floor((double)lastEvent.ExecutionTimeSpan / (double)MinimumLongRunningDurationInMs) - 1;
213-
var maxEventsExpected = Math.Ceiling((double)lastEvent.ExecutionTimeSpan / (double)MinimumLongRunningDurationInMs) + 1;
212+
var minEventsExpected = Math.Floor((double)lastEvent.ExecutionTimeSpan / (double)MinimumLongRunningDurationInMs) - 2;
213+
var maxEventsExpected = Math.Ceiling((double)lastEvent.ExecutionTimeSpan / (double)MinimumLongRunningDurationInMs) + 2;
214214
// We should see atleast one InProgress event if it takes more than 5 seconds
215215
if (lastEvent.ExecutionTimeSpan >= MinimumLongRunningDurationInMs
216216
&& (relatedEventIds.Count < minEventsExpected

0 commit comments

Comments
 (0)