Skip to content

[HttpClient] Warmup measurements might be off #1988

Open
@ManickaP

Description

If ran locally and with some of the tracing on, the client fairly often reports this exception:

Unhandled exception: System.Exception: No successful requests during warmup.
   at HttpClientBenchmarks.Program.Measure(Func`1 sendAsync) in /home/manicka/repositories/aspnet-benchmarks/src/BenchmarksApps/HttpClientBenchmarks/Clients/HttpClient/Program.cs:line 312
   at HttpClientBenchmarks.Program.RunScenario() in /home/manicka/repositories/aspnet-benchmarks/src/BenchmarksApps/HttpClientBenchmarks/Clients/HttpClient/Program.cs:line 222
   at HttpClientBenchmarks.Program.<>c.<<Main>b__14_0>d.MoveNext() in /home/manicka/repositories/aspnet-benchmarks/src/BenchmarksApps/HttpClientBenchmarks/Clients/HttpClient/Program.cs:line 58
--- End of stack trace from previous location ---
   at System.CommandLine.Invocation.AnonymousCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass26_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__23_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass21_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__8_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__7_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseExceptionHandler>b__0>d.MoveNext()

While I clearly see in the logs, that requests were exchange with the server.

Note that the client's Main was altered to start with:

public static async Task<int> Main(string[] args)
{
    using var _ = new TestEventListener(Console.Out, "Private.InternalDiagnostics.System.Net.Quic", "Private.InternalDiagnostics.System.Net.Http");
    ...

/cc @CarnaViire

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions