Skip to content

Commit f850d75

Browse files
authored
Add HTTP event source logging to gRPC benchmark client (#1771)
1 parent 0ddbb72 commit f850d75

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

perf/benchmarkapps/GrpcClient/GrpcClient.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2222
</None>
2323

24+
<Compile Include="..\..\..\test\Shared\HttpEventSourceListener.cs" Link="HttpEventSourceListener.cs" />
25+
2426
<PackageReference Include="Microsoft.Crank.EventSources" Version="$(MicrosoftCrankEventSourcesPackageVersion)" />
2527
<PackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsPackageVersion)" />
2628
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsPackageVersion)" />

perf/benchmarkapps/GrpcClient/Program.cs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
using Grpc.Core;
3232
using Grpc.Net.Client;
3333
using Grpc.Testing;
34+
using Grpc.Tests.Shared;
3435
using Microsoft.Crank.EventSources;
3536
using Microsoft.Extensions.Logging;
3637

@@ -103,11 +104,27 @@ public static async Task<int> Main(string[] args)
103104
BenchmarksEventSource.Measure("IsServerGC", isServerGC.ToString());
104105
BenchmarksEventSource.Measure("ProcessorCount", processorCount);
105106

107+
HttpEventSourceListener? listener = null;
108+
if (_options.LogLevel != LogLevel.None)
109+
{
110+
Log($"Setting up logging. Log level: {_options.LogLevel}");
111+
112+
_loggerFactory = LoggerFactory.Create(c =>
113+
{
114+
c.AddConsole();
115+
c.SetMinimumLevel(_options.LogLevel);
116+
});
117+
118+
listener = new HttpEventSourceListener(_loggerFactory);
119+
}
120+
106121
CreateChannels();
107122

108123
await StartScenario();
109124

110125
await StopJobAsync();
126+
127+
listener?.Dispose();
111128
}, new ReflectionBinder<ClientOptions>(options));
112129

113130
Log("gRPC Client");
@@ -383,15 +400,6 @@ private static void CreateChannels()
383400
_latencyPerConnection = new List<List<double>>(_options.Connections);
384401
_latencyAverage = new List<(double sum, int count)>(_options.Connections);
385402

386-
if (_options.LogLevel != LogLevel.None)
387-
{
388-
_loggerFactory = LoggerFactory.Create(c =>
389-
{
390-
c.AddConsole();
391-
c.SetMinimumLevel(_options.LogLevel);
392-
});
393-
}
394-
395403
// Channel does not care about scheme
396404
var initialUri = _options.Url!;
397405
var resolvedUri = initialUri.Authority;

0 commit comments

Comments
 (0)