Skip to content

Commit 02883fb

Browse files
authored
Rename variables and args related to client certificate benchmark (#971)
1 parent 08a0a55 commit 02883fb

File tree

12 files changed

+29
-22
lines changed

12 files changed

+29
-22
lines changed

build/dependencies.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<GoogleProtobufPackageVersion>3.12.2</GoogleProtobufPackageVersion>
55
<GrpcDotNetPackageVersion>2.29.0</GrpcDotNetPackageVersion> <!-- Used by example projects -->
66
<GrpcPackageVersion>2.30.0-pre1</GrpcPackageVersion>
7-
<MicrosoftAspNetCorePackageVersion>3.1.3</MicrosoftAspNetCorePackageVersion>
7+
<MicrosoftAspNetCoreAppPackageVersion>3.1.3</MicrosoftAspNetCoreAppPackageVersion>
88
<MicrosoftAspNetCoreBlazorPackageVersion>3.2.0</MicrosoftAspNetCoreBlazorPackageVersion>
99
<MicrosoftBuildLocatorPackageVersion>1.2.2</MicrosoftBuildLocatorPackageVersion>
1010
<MicrosoftBuildPackageVersion>16.0.461</MicrosoftBuildPackageVersion>

examples/Blazor/Server/Server.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Protobuf Include="..\Proto\weather.proto" GrpcServices="Server" Link="Protos\weather.proto" />
99
<Protobuf Include="..\Proto\count.proto" GrpcServices="Server" Link="Protos\count.proto" />
1010

11-
<PackageReference Include="Microsoft.AspNetCore.Components" Version="$(MicrosoftAspNetCorePackageVersion)" />
11+
<PackageReference Include="Microsoft.AspNetCore.Components" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1212
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="$(MicrosoftAspNetCoreBlazorPackageVersion)" />
1313
<PackageReference Include="Grpc.AspNetCore" Version="$(GrpcDotNetPackageVersion)" />
1414
<PackageReference Include="Grpc.AspNetCore.Web" Version="$(GrpcDotNetPackageVersion)" />

examples/Certifier/Server/Server.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Protobuf Include="..\Proto\certify.proto" GrpcServices="Server" Link="Protos\certify.proto" />
99

1010
<PackageReference Include="Grpc.AspNetCore" Version="$(GrpcDotNetPackageVersion)" />
11-
<PackageReference Include="Microsoft.AspNetCore.Authentication.Certificate" Version="$(MicrosoftAspNetCorePackageVersion)" />
11+
<PackageReference Include="Microsoft.AspNetCore.Authentication.Certificate" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1212
</ItemGroup>
1313

1414
</Project>

examples/Tester/Tests/Tests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<FrameworkReference Include="Microsoft.AspNetCore.App" />
99

1010
<PackageReference Include="Grpc.Net.Client" Version="$(GrpcDotNetPackageVersion)" />
11-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCorePackageVersion)" />
11+
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1212

1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
1414
<PackageReference Include="NUnit" Version="$(NunitPackageVersion)" />

examples/Ticketer/Server/Server.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Protobuf Include="..\Proto\ticket.proto" GrpcServices="Server" Link="Protos\ticket.proto" />
99

1010
<PackageReference Include="Grpc.AspNetCore" Version="$(GrpcDotNetPackageVersion)" />
11-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCorePackageVersion)" />
11+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1212
</ItemGroup>
1313

1414
</Project>

perf/benchmarkapps/GrpcAspNetCoreServer/GrpcAspNetCoreServer.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@
4040
<PackageReference Include="Google.Protobuf" Version="$(GoogleProtobufPackageVersion)" />
4141
<PackageReference Include="Grpc.Tools" Version="$(GrpcPackageVersion)" PrivateAssets="All" />
4242
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
43-
<PackageReference Include="Microsoft.AspNetCore.Authentication.Certificate" Version="$(MicrosoftAspNetCorePackageVersion)" />
43+
<PackageReference Include="Microsoft.AspNetCore.Authentication.Certificate" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
4444
</ItemGroup>
4545
</Project>

perf/benchmarkapps/GrpcClient/ClientOptions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class ClientOptions
2929
public string? Scenario { get; set; }
3030
public bool Latency { get; set; }
3131
public string? Protocol { get; set; }
32-
public bool ClientCertificate { get; set; }
32+
public bool EnableCertAuth { get; set; }
3333
public LogLevel LogLevel { get; set; }
3434
public int RequestSize { get; set; }
3535
public int ResponseSize { get; set; }

perf/benchmarkapps/GrpcClient/Program.cs

+16-10
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static async Task<int> Main(string[] args)
7373
rootCommand.AddOption(new Option<int>(new string[] { "--responseSize" }, "Response payload size"));
7474
rootCommand.AddOption(new Option<GrpcClientType>(new string[] { "--grpcClientType" }, () => GrpcClientType.GrpcNetClient, "Whether to use Grpc.NetClient or Grpc.Core client"));
7575
rootCommand.AddOption(new Option<int>(new string[] { "--streams" }, () => 1, "Maximum concurrent streams per connection"));
76-
rootCommand.AddOption(new Option<bool>(new string[] { "--clientCertificate" }, () => false, "Flag indicating whether client sends a client certificate"));
76+
rootCommand.AddOption(new Option<bool>(new string[] { "--enableCertAuth" }, () => false, "Flag indicating whether client sends a client certificate"));
7777

7878
rootCommand.Handler = CommandHandler.Create<ClientOptions>(async (options) =>
7979
{
@@ -262,7 +262,9 @@ private static void CalculateLatency()
262262
_latencyPerConnection[i].Sort();
263263
}
264264

265-
BenchmarksEventSource.Measure("grpc/latency/mean", totalSum / totalCount);
265+
var mean = (totalCount != 0) ? totalSum / totalCount : totalSum;
266+
267+
BenchmarksEventSource.Measure("grpc/latency/mean", mean);
266268

267269
var allConnections = new List<double>();
268270
foreach (var connectionLatency in _latencyPerConnection)
@@ -280,6 +282,13 @@ private static void CalculateLatency()
280282
BenchmarksEventSource.Measure("grpc/latency/90", GetPercentile(90, allConnections));
281283
BenchmarksEventSource.Measure("grpc/latency/99", GetPercentile(99, allConnections));
282284
BenchmarksEventSource.Measure("grpc/latency/max", GetPercentile(100, allConnections));
285+
286+
Log($"Mean latency: {mean:0.###}ms");
287+
Log($"Max latency: {GetPercentile(100, allConnections):0.###}ms");
288+
Log($"50 percentile latency: {GetPercentile(50, allConnections):0.###}ms");
289+
Log($"75 percentile latency: {GetPercentile(75, allConnections):0.###}ms");
290+
Log($"90 percentile latency: {GetPercentile(90, allConnections):0.###}ms");
291+
Log($"99 percentile latency: {GetPercentile(99, allConnections):0.###}ms");
283292
}
284293
else
285294
{
@@ -291,15 +300,12 @@ private static void CalculateLatency()
291300
totalCount += average.count;
292301
}
293302

294-
if (totalCount != 0)
295-
{
296-
totalSum /= totalCount;
297-
}
303+
var mean = (totalCount != 0) ? totalSum / totalCount : totalSum;
298304

299-
BenchmarksEventSource.Measure("grpc/latency/mean", totalSum);
305+
BenchmarksEventSource.Measure("grpc/latency/mean", mean);
300306
BenchmarksEventSource.Measure("grpc/latency/max", _maxLatency);
301307

302-
Log($"Mean latency: {totalSum:0.###}ms");
308+
Log($"Mean latency: {mean:0.###}ms");
303309
Log($"Max latency: {_maxLatency:0.###}ms");
304310
}
305311
}
@@ -366,7 +372,7 @@ private static ChannelBase CreateChannel(string target)
366372
{
367373
default:
368374
case GrpcClientType.GrpcCore:
369-
if (_options.ClientCertificate)
375+
if (_options.EnableCertAuth)
370376
{
371377
throw new Exception("Client certificate not implemented for Grpc.Core");
372378
}
@@ -386,7 +392,7 @@ private static ChannelBase CreateChannel(string target)
386392
var httpClientHandler = new HttpClientHandler();
387393
httpClientHandler.UseProxy = false;
388394
httpClientHandler.AllowAutoRedirect = false;
389-
if (_options.ClientCertificate)
395+
if (_options.EnableCertAuth)
390396
{
391397
var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
392398
var certPath = Path.Combine(basePath!, "Certs", "client.pfx");

perf/benchmarkapps/GrpcClient/grpc-client.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
grpcClientType: GrpcNetClient
1717
requestSize: 0
1818
responseSize: 0
19-
clientCertificate: false
20-
arguments: "-c {{connections}} --streams {{streams}} -d {{duration}} -p {{protocol}} -s {{scenario}} -u {{serverUri}}:{{serverPort}}{{path}} -w {{warmup}} --grpcClientType {{grpcClientType}} --requestSize {{requestSize}} --responseSize {{responseSize}} --clientCertificate {{clientCertificate}} {% if logLevel != 'none' %} --logLevel {{ logLevel }} {% endif %}"
19+
enableCertAuth: false
20+
latency: false
21+
arguments: "-c {{connections}} --streams {{streams}} -d {{duration}} -p {{protocol}} -s {{scenario}} -u {{serverUri}}:{{serverPort}}{{path}} -w {{warmup}} --grpcClientType {{grpcClientType}} --requestSize {{requestSize}} --responseSize {{responseSize}} --enableCertAuth {{enableCertAuth}} --latency {{latency}} {% if logLevel != 'none' %} --logLevel {{ logLevel }} {% endif %}"

test/FunctionalTests/Grpc.AspNetCore.FunctionalTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
<ProjectReference Include="..\..\testassets\FunctionalTestsWebsite\FunctionalTestsWebsite.csproj" />
2525

26-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCorePackageVersion)" />
26+
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
2727
<PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
2828

2929
<None Update="server1.pfx">

testassets/FunctionalTestsWebsite/FunctionalTestsWebsite.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<ItemGroup>
1010
<ProjectReference Include="..\..\src\Grpc.AspNetCore.Web\Grpc.AspNetCore.Web.csproj" />
1111
<ProjectReference Include="..\..\src\Grpc.AspNetCore\Grpc.AspNetCore.csproj" />
12-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCorePackageVersion)" />
12+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1313

1414
<Protobuf Include="..\Proto\any.proto" Link="Protos\any.proto" />
1515
<Protobuf Include="..\Proto\authorize.proto" Link="Protos\authorize.proto" />

testassets/InteropTestsGrpcWebWebsite/InteropTestsGrpcWebWebsite.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.Components" Version="$(MicrosoftAspNetCorePackageVersion)" />
10+
<PackageReference Include="Microsoft.AspNetCore.Components" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
1111
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="$(MicrosoftAspNetCoreBlazorPackageVersion)" />
1212
</ItemGroup>
1313

0 commit comments

Comments
 (0)