From d96332df96e38ab39977c6590b20467c78a810c0 Mon Sep 17 00:00:00 2001 From: Melih Odabas Date: Fri, 11 Apr 2025 22:32:50 +0300 Subject: [PATCH 1/4] - cleanup test code --- tests/ModEndpoints.TestServer/Features/Books/ListBooks.cs | 2 +- .../Features/Customers/Configuration/CustomersRouteGroup.cs | 1 - .../BusinessResultEndpoints/HandlerTests.cs | 3 +-- .../MinimalEndpoints/MappingAndHandlerTests.cs | 6 +++--- .../ModEndpoints.Tests/MinimalEndpoints/ValidationTests.cs | 6 +++--- tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs | 1 - tests/ModEndpoints.Tests/TestServerFixture.cs | 3 +-- .../WebResultEndpoints/LocationStoreTests.cs | 2 +- 8 files changed, 10 insertions(+), 14 deletions(-) diff --git a/tests/ModEndpoints.TestServer/Features/Books/ListBooks.cs b/tests/ModEndpoints.TestServer/Features/Books/ListBooks.cs index 9edad23..a4a34a4 100644 --- a/tests/ModEndpoints.TestServer/Features/Books/ListBooks.cs +++ b/tests/ModEndpoints.TestServer/Features/Books/ListBooks.cs @@ -29,6 +29,6 @@ protected override async Task> HandleAsync( new ListBooksResponseItem(Guid.NewGuid(), "Book 1", "Author 1", 19.99m), new ListBooksResponseItem(Guid.NewGuid(), "Book 2", "Author 2", 29.99m) ]); - + } } diff --git a/tests/ModEndpoints.TestServer/Features/Customers/Configuration/CustomersRouteGroup.cs b/tests/ModEndpoints.TestServer/Features/Customers/Configuration/CustomersRouteGroup.cs index 22e71c1..8456ffe 100644 --- a/tests/ModEndpoints.TestServer/Features/Customers/Configuration/CustomersRouteGroup.cs +++ b/tests/ModEndpoints.TestServer/Features/Customers/Configuration/CustomersRouteGroup.cs @@ -1,5 +1,4 @@ using ModEndpoints.Core; -using ModEndpoints.TestServer.Features; namespace ModEndpoints.TestServer.Features.Customers.Configuration; diff --git a/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs b/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs index 11770c8..25f46c6 100644 --- a/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs +++ b/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs @@ -2,7 +2,6 @@ using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.AspNetCore.Http; -using ModEndpoints.TestServer.Features.Books; using ModEndpoints.TestServer.Features.Stores; using ModResults; @@ -35,7 +34,7 @@ public async Task EndpointOfTRequestAndTResponse_Returns_SuccessAsync() Assert.Equal(StatusCodes.Status200OK, (int)httpResponse.StatusCode); var responseContent = await httpResponse.Content.ReadAsStringAsync(); - var response = await JsonSerializer.DeserializeAsync>( + var response = await JsonSerializer.DeserializeAsync>( await httpResponse.Content.ReadAsStreamAsync(), _defaultJsonDeserializationOptions); diff --git a/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs b/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs index b5b8a79..b560e2c 100644 --- a/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs +++ b/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs @@ -63,9 +63,9 @@ await httpResponse.Content.ReadAsStreamAsync(), [Fact] public async Task Post_Returns_SuccessAsync() { - var httpRequest = new HttpRequestMessage(HttpMethod.Post, "/api/customers") - { - Content = JsonContent.Create(new CreateCustomerRequestBody("John", "Doe", "Smith")) + var httpRequest = new HttpRequestMessage(HttpMethod.Post, "/api/customers") + { + Content = JsonContent.Create(new CreateCustomerRequestBody("John", "Doe", "Smith")) }; var httpResponse = await _testClient.SendAsync(httpRequest); diff --git a/tests/ModEndpoints.Tests/MinimalEndpoints/ValidationTests.cs b/tests/ModEndpoints.Tests/MinimalEndpoints/ValidationTests.cs index 770b2fb..c1fb1ae 100644 --- a/tests/ModEndpoints.Tests/MinimalEndpoints/ValidationTests.cs +++ b/tests/ModEndpoints.Tests/MinimalEndpoints/ValidationTests.cs @@ -27,9 +27,9 @@ public async Task InvalidRouteParameter_ForTypedResultEndpoint_Returns_InvalidAs [Fact] public async Task InvalidBodyParameter_ForTypedResultEndpoint_Returns_InvalidAsync() { - var httpRequest = new HttpRequestMessage(HttpMethod.Post, "/api/customers") - { - Content = JsonContent.Create(new CreateCustomerRequestBody("", null, "")) + var httpRequest = new HttpRequestMessage(HttpMethod.Post, "/api/customers") + { + Content = JsonContent.Create(new CreateCustomerRequestBody("", null, "")) }; var httpResponse = await _testClient.SendAsync(httpRequest); diff --git a/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs b/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs index 0c57701..44efb78 100644 --- a/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs +++ b/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs @@ -2,7 +2,6 @@ using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc.Testing; using ModEndpoints.TestServer.Features.StoresWithServiceEndpoint; using ModResults; diff --git a/tests/ModEndpoints.Tests/TestServerFixture.cs b/tests/ModEndpoints.Tests/TestServerFixture.cs index c4e7a34..1fa369c 100644 --- a/tests/ModEndpoints.Tests/TestServerFixture.cs +++ b/tests/ModEndpoints.Tests/TestServerFixture.cs @@ -1,5 +1,4 @@ -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc.Testing; +using Microsoft.AspNetCore.Mvc.Testing; namespace ModEndpoints.Tests; diff --git a/tests/ModEndpoints.Tests/WebResultEndpoints/LocationStoreTests.cs b/tests/ModEndpoints.Tests/WebResultEndpoints/LocationStoreTests.cs index bf44f81..e8349e7 100644 --- a/tests/ModEndpoints.Tests/WebResultEndpoints/LocationStoreTests.cs +++ b/tests/ModEndpoints.Tests/WebResultEndpoints/LocationStoreTests.cs @@ -1,6 +1,6 @@ using System.Net.Http.Json; -using System.Text.Json.Serialization; using System.Text.Json; +using System.Text.Json.Serialization; using Microsoft.AspNetCore.Http; using ModEndpoints.TestServer.Features.Books; From ba3b4b79e157198263c8bd9e78c5664d1d821833 Mon Sep 17 00:00:00 2001 From: Melih Odabas Date: Sat, 12 Apr 2025 10:23:20 +0300 Subject: [PATCH 2/4] - add more test assertions - add test coverage to MapPatch method of EndpointConfigurator --- .../Features/Customers/ListCustomers.cs | 2 +- .../Features/Customers/PartialUpdateCustomer.cs | 2 +- .../BusinessResultEndpoints/HandlerTests.cs | 4 ++++ .../MinimalEndpoints/MappingAndHandlerTests.cs | 8 ++++++++ tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs | 1 + .../ModEndpoints.Tests/WebResultEndpoints/HandlerTests.cs | 8 ++++++++ 6 files changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/ModEndpoints.TestServer/Features/Customers/ListCustomers.cs b/tests/ModEndpoints.TestServer/Features/Customers/ListCustomers.cs index b411033..5e26e6c 100644 --- a/tests/ModEndpoints.TestServer/Features/Customers/ListCustomers.cs +++ b/tests/ModEndpoints.TestServer/Features/Customers/ListCustomers.cs @@ -18,7 +18,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapGet("/"); + MapMethods("/", [HttpMethod.Get.Method]); } protected override async Task HandleAsync( diff --git a/tests/ModEndpoints.TestServer/Features/Customers/PartialUpdateCustomer.cs b/tests/ModEndpoints.TestServer/Features/Customers/PartialUpdateCustomer.cs index 2827b97..a85dc3c 100644 --- a/tests/ModEndpoints.TestServer/Features/Customers/PartialUpdateCustomer.cs +++ b/tests/ModEndpoints.TestServer/Features/Customers/PartialUpdateCustomer.cs @@ -27,7 +27,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapMethods("/{Id}", ["PATCH"]) + MapPatch("/{Id}") .Produces(); } diff --git a/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs b/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs index 25f46c6..3eaf599 100644 --- a/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs +++ b/tests/ModEndpoints.Tests/BusinessResultEndpoints/HandlerTests.cs @@ -43,6 +43,7 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.False(response.IsFailed); Assert.NotNull(response.Value); Assert.Equal(bookId, response.Value.Id); + Assert.Equal("Name 1", response.Value.Name); } [Fact] @@ -65,6 +66,9 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.NotNull(response.Value); Assert.NotNull(response.Value.Stores); Assert.Equal(2, response.Value.Stores.Count); + var store2 = response.Value.Stores[1]; + Assert.NotNull(store2); + Assert.Equal("Name 2", store2.Name); } [Fact] diff --git a/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs b/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs index b560e2c..21dd34c 100644 --- a/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs +++ b/tests/ModEndpoints.Tests/MinimalEndpoints/MappingAndHandlerTests.cs @@ -39,6 +39,9 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.NotNull(response); Assert.Equal(customerId, response.Id); + Assert.Equal("FirstName", response.FirstName); + Assert.Equal("MiddleName", response.MiddleName); + Assert.Equal("LastName", response.LastName); } [Fact] @@ -58,6 +61,11 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.NotNull(response); Assert.NotNull(response.Customers); Assert.Equal(2, response.Customers.Count); + var customer2 = response.Customers[1]; + Assert.NotNull(customer2); + Assert.Equal("Jane", customer2.FirstName); + Assert.Null(customer2.MiddleName); + Assert.Equal("Doe", customer2.LastName); } [Fact] diff --git a/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs b/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs index 44efb78..3c3c33b 100644 --- a/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs +++ b/tests/ModEndpoints.Tests/ServiceEndpoints/HandlerTests.cs @@ -47,6 +47,7 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.False(response.IsFailed); Assert.NotNull(response.Value); Assert.Equal(storeId, response.Value.Id); + Assert.Equal("Name 1", response.Value.Name); } [Fact] diff --git a/tests/ModEndpoints.Tests/WebResultEndpoints/HandlerTests.cs b/tests/ModEndpoints.Tests/WebResultEndpoints/HandlerTests.cs index e21bd15..07a1f56 100644 --- a/tests/ModEndpoints.Tests/WebResultEndpoints/HandlerTests.cs +++ b/tests/ModEndpoints.Tests/WebResultEndpoints/HandlerTests.cs @@ -40,6 +40,9 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.NotNull(response); Assert.Equal(bookId, response.Id); + Assert.Equal("Book 1", response.Title); + Assert.Equal("Author 1", response.Author); + Assert.Equal(19.99m, response.Price); } [Fact] @@ -59,6 +62,11 @@ await httpResponse.Content.ReadAsStreamAsync(), Assert.NotNull(response); Assert.NotNull(response.Books); Assert.Equal(2, response.Books.Count); + var book2 = response.Books[1]; + Assert.NotNull(book2); + Assert.Equal("Book 2", book2.Title); + Assert.Equal("Author 2", book2.Author); + Assert.Equal(29.99m, book2.Price); } [Fact] From d97fe811e1bd35af5c2fadaa0c5a02a021fba8c4 Mon Sep 17 00:00:00 2001 From: Melih Odabas Date: Sat, 12 Apr 2025 10:44:25 +0300 Subject: [PATCH 3/4] -update README to include AddModEndpointsFromAssemblyContaining DI method - utilize AddModEndpointsFromAssemblyContaining method in BenchmarkWebApi project --- README.md | 4 ++-- .../Extensions/DependencyInjectionExtensions.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 44e26c5..1bc1530 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ The request is processed in 'HandleAsync' method which returns a strongly typed ### Service Registration -Use AddModEndpointsFromAssembly extension method to register all endpoints defined in an assembly. +Use AddModEndpointsFromAssembly or AddModEndpointsFromAssemblyContaining extension method to register all endpoints defined in an assembly. Optional: Use FluentValidation.DependencyInjectionExtensions package to add FluentValidation validators to dependency injection for request validation. @@ -55,7 +55,7 @@ These methods register and map services required for all endpoint types. ``` csharp var builder = WebApplication.CreateBuilder(args); -builder.Services.AddModEndpointsFromAssembly(typeof(MyEndpoint).Assembly); +builder.Services.AddModEndpointsFromAssemblyContaining(); //Validation builder.Services.AddValidatorsFromAssemblyContaining(includeInternalTypes: true); diff --git a/samples/BenchmarkWebApi/Extensions/DependencyInjectionExtensions.cs b/samples/BenchmarkWebApi/Extensions/DependencyInjectionExtensions.cs index 6c3d5a6..9874cc9 100644 --- a/samples/BenchmarkWebApi/Extensions/DependencyInjectionExtensions.cs +++ b/samples/BenchmarkWebApi/Extensions/DependencyInjectionExtensions.cs @@ -1,4 +1,4 @@ -using BenchmarkWebApi.Features.RegularEndpoints; +using BenchmarkWebApi.Features.MinimalEndpoints; using BenchmarkWebApi.Services; using FluentValidation; using ModEndpoints; @@ -10,7 +10,7 @@ public static WebApplicationBuilder AddFeatures(this WebApplicationBuilder build { // A service for more real world example builder.Services.AddScoped(); - builder.Services.AddModEndpointsFromAssembly(typeof(DependencyInjectionExtensions).Assembly); + builder.Services.AddModEndpointsFromAssemblyContaining(); builder.Services.AddValidatorsFromAssemblyContaining(includeInternalTypes: true); return builder; From c8addab60afc603343e04fd8e2e6dadd521db86f Mon Sep 17 00:00:00 2001 From: Melih Odabas Date: Sat, 12 Apr 2025 14:20:44 +0300 Subject: [PATCH 4/4] - organize benchmark endpoints, tests and result files - update README --- README.md | 2 +- .../Results/0.6.5/basic_benchmark_results.txt | 121 ++++++++++++++++++ .../0.6.5/inprocess_benchmark_results.txt} | 86 ++++++------- .../minimal_api_basic.js} | 2 +- .../minimal_api_inprocess.js} | 2 +- .../{ => Tests}/minimal_endpoint_basic.js | 0 .../{ => Tests}/minimal_endpoint_inprocess.js | 0 .../{ => Tests}/webresult_endpoint_basic.js | 0 .../webresult_endpoint_inprocess.js | 0 .../basic_benchmark_results.txt | 121 ------------------ .../basic_benchmark_results_pass2.txt | 121 ------------------ .../basic_benchmark_results_pass3.txt | 121 ------------------ .../inprocess_benchmark_results.txt | 121 ------------------ .../inprocess_benchmark_results_pass2.txt | 121 ------------------ .../BenchmarkWebApi/BenchmarkWebApi.csproj | 5 + .../BasicTest.cs | 2 +- .../InProcessTest.cs | 2 +- .../_MinimalApis.http} | 4 +- .../Features/MinimalEndpoints/BasicTest.cs | 2 +- .../MinimalEndpoints/InProcessTest.cs | 2 +- .../Features/WebResultEndpoints/BasicTest.cs | 2 +- .../WebResultEndpoints/InProcessTest.cs | 2 +- 22 files changed, 180 insertions(+), 659 deletions(-) create mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/basic_benchmark_results.txt rename samples/BenchmarkWebApi/BenchmarkFiles/{inprocess_benchmark_results_pass3.txt => Results/0.6.5/inprocess_benchmark_results.txt} (52%) rename samples/BenchmarkWebApi/BenchmarkFiles/{regular_endpoint_basic.js => Tests/minimal_api_basic.js} (88%) rename samples/BenchmarkWebApi/BenchmarkFiles/{regular_endpoint_inprocess.js => Tests/minimal_api_inprocess.js} (83%) rename samples/BenchmarkWebApi/BenchmarkFiles/{ => Tests}/minimal_endpoint_basic.js (100%) rename samples/BenchmarkWebApi/BenchmarkFiles/{ => Tests}/minimal_endpoint_inprocess.js (100%) rename samples/BenchmarkWebApi/BenchmarkFiles/{ => Tests}/webresult_endpoint_basic.js (100%) rename samples/BenchmarkWebApi/BenchmarkFiles/{ => Tests}/webresult_endpoint_inprocess.js (100%) delete mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results.txt delete mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass2.txt delete mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass3.txt delete mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results.txt delete mode 100644 samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass2.txt rename samples/BenchmarkWebApi/Features/{RegularEndpoints => MinimalApis}/BasicTest.cs (83%) rename samples/BenchmarkWebApi/Features/{RegularEndpoints => MinimalApis}/InProcessTest.cs (95%) rename samples/BenchmarkWebApi/Features/{RegularEndpoints/_RegularEndpoints.http => MinimalApis/_MinimalApis.http} (68%) diff --git a/README.md b/README.md index 1bc1530..3a4439b 100644 --- a/README.md +++ b/README.md @@ -353,7 +353,7 @@ MinimalEndpoints perform about same as regular Minimal Apis. The web apis called for tests, perform only in-process operations like resolving dependency, validating input, calling local methods with no network or disk I/O. -See [test results](./samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results.txt) under [BenchmarkFiles](https://github.com/modabas/ModEndpoints/tree/main/samples/BenchmarkWebApi/BenchmarkFiles) folder of BenchmarkWebApi project for detailed results and test scripts. +See [test results](./samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/inprocess_benchmark_results.txt) under [BenchmarkFiles](https://github.com/modabas/ModEndpoints/tree/main/samples/BenchmarkWebApi/BenchmarkFiles) folder of BenchmarkWebApi project for detailed results and test scripts. ## Endpoint Types diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/basic_benchmark_results.txt b/samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/basic_benchmark_results.txt new file mode 100644 index 0000000..ca18db5 --- /dev/null +++ b/samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/basic_benchmark_results.txt @@ -0,0 +1,121 @@ + k6  .\k6 run minimal_api_basic.js + + /\ Grafana /‾‾/ + /\ / \ |\ __ / / + / \/ \ | |/ / / ‾‾\ + / \ | ( | (‾) | + / __________ \ |_|\_\ \_____/ + + execution: local + script: minimal_api_basic.js + output: - + + scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): + * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) + + + ✓ status was 200 + + checks.........................: 100.00% 8240792 out of 8240792 + data_received..................: 1.4 GB 13 MB/s + data_sent......................: 841 MB 7.6 MB/s + http_req_blocked...............: avg=3.22µs min=0s med=0s max=38.46ms p(90)=0s p(95)=0s + http_req_connecting............: avg=7ns min=0s med=0s max=2.54ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=921.27µs min=0s med=999.6µs max=73.43ms p(90)=1.99ms p(95)=2.05ms + { expected_response:true }...: avg=921.27µs min=0s med=999.6µs max=73.43ms p(90)=1.99ms p(95)=2.05ms + http_req_failed................: 0.00% 0 out of 8240792 + http_req_receiving.............: avg=31.91µs min=0s med=0s max=70.47ms p(90)=0s p(95)=0s + http_req_sending...............: avg=10.25µs min=0s med=0s max=58.65ms p(90)=0s p(95)=0s + http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s + http_req_waiting...............: avg=879.1µs min=0s med=999.4µs max=73.43ms p(90)=1.87ms p(95)=2.02ms + http_reqs......................: 8240792 74916.177037/s + iteration_duration.............: avg=1.01ms min=0s med=1ms max=80.43ms p(90)=2ms p(95)=2.32ms + iterations.....................: 8240792 74916.177037/s + vus............................: 1 min=1 max=100 + vus_max........................: 100 min=100 max=100 + + +running (1m50.0s), 000/100 VUs, 8240792 complete and 0 interrupted iterations +default ✓ [======================================] 000/100 VUs 1m50s + + + k6  .\k6 run minimal_endpoint_basic.js + + /\ Grafana /‾‾/ + /\ / \ |\ __ / / + / \/ \ | |/ / / ‾‾\ + / \ | ( | (‾) | + / __________ \ |_|\_\ \_____/ + + execution: local + script: minimal_endpoint_basic.js + output: - + + scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): + * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) + + + ✓ status was 200 + + checks.........................: 100.00% 8101231 out of 8101231 + data_received..................: 1.4 GB 13 MB/s + data_sent......................: 867 MB 7.9 MB/s + http_req_blocked...............: avg=3.13µs min=0s med=0s max=53.35ms p(90)=0s p(95)=0s + http_req_connecting............: avg=10ns min=0s med=0s max=15.67ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=942.4µs min=0s med=1ms max=79.74ms p(90)=1.9ms p(95)=2.2ms + { expected_response:true }...: avg=942.4µs min=0s med=1ms max=79.74ms p(90)=1.9ms p(95)=2.2ms + http_req_failed................: 0.00% 0 out of 8101231 + http_req_receiving.............: avg=31.66µs min=0s med=0s max=49.47ms p(90)=0s p(95)=0s + http_req_sending...............: avg=9.95µs min=0s med=0s max=45.94ms p(90)=0s p(95)=0s + http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s + http_req_waiting...............: avg=900.79µs min=0s med=1ms max=79.19ms p(90)=1.8ms p(95)=2.14ms + http_reqs......................: 8101231 73647.482907/s + iteration_duration.............: avg=1.03ms min=0s med=1.01ms max=79.74ms p(90)=2ms p(95)=2.36ms + iterations.....................: 8101231 73647.482907/s + vus............................: 1 min=1 max=100 + vus_max........................: 100 min=100 max=100 + + +running (1m50.0s), 000/100 VUs, 8101231 complete and 0 interrupted iterations +default ✓ [======================================] 000/100 VUs 1m50s + + + k6  .\k6 run webresult_endpoint_basic.js + + /\ Grafana /‾‾/ + /\ / \ |\ __ / / + / \/ \ | |/ / / ‾‾\ + / \ | ( | (‾) | + / __________ \ |_|\_\ \_____/ + + execution: local + script: webresult_endpoint_basic.js + output: - + + scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): + * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) + + + ✓ status was 200 + + checks.........................: 100.00% 7848931 out of 7848931 + data_received..................: 1.3 GB 12 MB/s + data_sent......................: 856 MB 7.8 MB/s + http_req_blocked...............: avg=3.26µs min=0s med=0s max=61.26ms p(90)=0s p(95)=0s + http_req_connecting............: avg=8ns min=0s med=0s max=2.36ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=974.65µs min=0s med=1ms max=98.18ms p(90)=1.99ms p(95)=2.04ms + { expected_response:true }...: avg=974.65µs min=0s med=1ms max=98.18ms p(90)=1.99ms p(95)=2.04ms + http_req_failed................: 0.00% 0 out of 7848931 + http_req_receiving.............: avg=32.4µs min=0s med=0s max=56.13ms p(90)=0s p(95)=0s + http_req_sending...............: avg=10.34µs min=0s med=0s max=56.72ms p(90)=0s p(95)=0s + http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s + http_req_waiting...............: avg=931.89µs min=0s med=999.8µs max=98.18ms p(90)=1.99ms p(95)=2.02ms + http_reqs......................: 7848931 71353.491423/s + iteration_duration.............: avg=1.06ms min=0s med=1ms max=100.18ms p(90)=2ms p(95)=2.24ms + iterations.....................: 7848931 71353.491423/s + vus............................: 1 min=1 max=100 + vus_max........................: 100 min=100 max=100 + + +running (1m50.0s), 000/100 VUs, 7848931 complete and 0 interrupted iterations +default ✓ [======================================] 000/100 VUs 1m50s \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass3.txt b/samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/inprocess_benchmark_results.txt similarity index 52% rename from samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass3.txt rename to samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/inprocess_benchmark_results.txt index c829d55..ece9e4f 100644 --- a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass3.txt +++ b/samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.5/inprocess_benchmark_results.txt @@ -1,4 +1,4 @@ - k6  .\k6 run regular_endpoint_inprocess.js + k6  .\k6 run minimal_api_inprocess.js /\ Grafana /‾‾/ /\ / \ |\ __ / / @@ -7,7 +7,7 @@ / __________ \ |_|\_\ \_____/ execution: local - script: regular_endpoint_inprocess.js + script: minimal_api_inprocess.js output: - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): @@ -16,26 +16,26 @@ ✓ status was 200 - checks.........................: 100.00% 5737012 out of 5737012 + checks.........................: 100.00% 5752768 out of 5752768 data_received..................: 1.1 GB 9.8 MB/s data_sent......................: 1.4 GB 13 MB/s - http_req_blocked...............: avg=4.24µs min=0s med=0s max=40.69ms p(90)=0s p(95)=0s - http_req_connecting............: avg=14ns min=0s med=0s max=6.32ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.31ms min=0s med=1.01ms max=138.53ms p(90)=2.23ms p(95)=2.67ms - { expected_response:true }...: avg=1.31ms min=0s med=1.01ms max=138.53ms p(90)=2.23ms p(95)=2.67ms - http_req_failed................: 0.00% 0 out of 5737012 - http_req_receiving.............: avg=48.01µs min=0s med=0s max=105.22ms p(90)=0s p(95)=0s - http_req_sending...............: avg=19.74µs min=0s med=0s max=113.35ms p(90)=0s p(95)=0s + http_req_blocked...............: avg=3.98µs min=0s med=0s max=47.4ms p(90)=0s p(95)=0s + http_req_connecting............: avg=13ns min=0s med=0s max=3.4ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=1.31ms min=0s med=1.04ms max=103.01ms p(90)=2.18ms p(95)=2.55ms + { expected_response:true }...: avg=1.31ms min=0s med=1.04ms max=103.01ms p(90)=2.18ms p(95)=2.55ms + http_req_failed................: 0.00% 0 out of 5752768 + http_req_receiving.............: avg=45.46µs min=0s med=0s max=70.56ms p(90)=0s p(95)=0s + http_req_sending...............: avg=19µs min=0s med=0s max=62.5ms p(90)=0s p(95)=0s http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.24ms min=0s med=1.01ms max=115.25ms p(90)=2.15ms p(95)=2.58ms - http_reqs......................: 5737012 52154.385571/s - iteration_duration.............: avg=1.46ms min=0s med=1.13ms max=142.44ms p(90)=2.49ms p(95)=3ms - iterations.....................: 5737012 52154.385571/s + http_req_waiting...............: avg=1.25ms min=0s med=1.01ms max=100.94ms p(90)=2.11ms p(95)=2.52ms + http_reqs......................: 5752768 52297.803382/s + iteration_duration.............: avg=1.46ms min=0s med=1.27ms max=103.01ms p(90)=2.43ms p(95)=2.89ms + iterations.....................: 5752768 52297.803382/s vus............................: 1 min=1 max=100 vus_max........................: 100 min=100 max=100 -running (1m50.0s), 000/100 VUs, 5737012 complete and 0 interrupted iterations +running (1m50.0s), 000/100 VUs, 5752768 complete and 0 interrupted iterations default ✓ [======================================] 000/100 VUs 1m50s @@ -57,26 +57,26 @@ default ✓ [======================================] 000/100 VUs 1m50s ✓ status was 200 - checks.........................: 100.00% 5724672 out of 5724672 + checks.........................: 100.00% 5719673 out of 5719673 data_received..................: 1.1 GB 9.7 MB/s data_sent......................: 1.4 GB 13 MB/s - http_req_blocked...............: avg=4.26µs min=0s med=0s max=37.67ms p(90)=0s p(95)=0s - http_req_connecting............: avg=13ns min=0s med=0s max=2.6ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.31ms min=0s med=1.01ms max=94.15ms p(90)=2.26ms p(95)=2.67ms - { expected_response:true }...: avg=1.31ms min=0s med=1.01ms max=94.15ms p(90)=2.26ms p(95)=2.67ms - http_req_failed................: 0.00% 0 out of 5724672 - http_req_receiving.............: avg=46.72µs min=0s med=0s max=75.82ms p(90)=0s p(95)=0s - http_req_sending...............: avg=19.92µs min=0s med=0s max=64.82ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.25ms min=0s med=1.01ms max=94.15ms p(90)=2.18ms p(95)=2.58ms - http_reqs......................: 5724672 52042.396935/s - iteration_duration.............: avg=1.47ms min=0s med=1.2ms max=95.15ms p(90)=2.5ms p(95)=2.99ms - iterations.....................: 5724672 52042.396935/s + http_req_blocked...............: avg=4.16µs min=0s med=0s max=32.38ms p(90)=0s p(95)=0s + http_req_connecting............: avg=13ns min=0s med=0s max=2.05ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=1.31ms min=0s med=1.01ms max=104.59ms p(90)=2.21ms p(95)=2.59ms + { expected_response:true }...: avg=1.31ms min=0s med=1.01ms max=104.59ms p(90)=2.21ms p(95)=2.59ms + http_req_failed................: 0.00% 0 out of 5719673 + http_req_receiving.............: avg=46.32µs min=0s med=0s max=84.82ms p(90)=0s p(95)=0s + http_req_sending...............: avg=19.39µs min=0s med=0s max=65.45ms p(90)=0s p(95)=0s + http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s + http_req_waiting...............: avg=1.25ms min=0s med=1.01ms max=78.82ms p(90)=2.12ms p(95)=2.54ms + http_reqs......................: 5719673 51996.796171/s + iteration_duration.............: avg=1.47ms min=0s med=1.21ms max=107.83ms p(90)=2.5ms p(95)=2.99ms + iterations.....................: 5719673 51996.796171/s vus............................: 1 min=1 max=100 vus_max........................: 100 min=100 max=100 -running (1m50.0s), 000/100 VUs, 5724672 complete and 0 interrupted iterations +running (1m50.0s), 000/100 VUs, 5719673 complete and 0 interrupted iterations default ✓ [======================================] 000/100 VUs 1m50s @@ -98,24 +98,24 @@ default ✓ [======================================] 000/100 VUs 1m50s ✓ status was 200 - checks.........................: 100.00% 5690098 out of 5690098 - data_received..................: 1.1 GB 9.7 MB/s + checks.........................: 100.00% 5601694 out of 5601694 + data_received..................: 1.0 GB 9.5 MB/s data_sent......................: 1.4 GB 13 MB/s - http_req_blocked...............: avg=4.12µs min=0s med=0s max=50.53ms p(90)=0s p(95)=0s - http_req_connecting............: avg=13ns min=0s med=0s max=3.95ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.32ms min=0s med=1.02ms max=102.88ms p(90)=2.3ms p(95)=2.7ms - { expected_response:true }...: avg=1.32ms min=0s med=1.02ms max=102.88ms p(90)=2.3ms p(95)=2.7ms - http_req_failed................: 0.00% 0 out of 5690098 - http_req_receiving.............: avg=45.89µs min=0s med=0s max=94.8ms p(90)=0s p(95)=0s - http_req_sending...............: avg=19.48µs min=0s med=0s max=58.27ms p(90)=0s p(95)=0s + http_req_blocked...............: avg=4.23µs min=0s med=0s max=32.32ms p(90)=0s p(95)=0s + http_req_connecting............: avg=14ns min=0s med=0s max=7.35ms p(90)=0s p(95)=0s + ✓ http_req_duration..............: avg=1.34ms min=0s med=1.08ms max=105.89ms p(90)=2.27ms p(95)=2.62ms + { expected_response:true }...: avg=1.34ms min=0s med=1.08ms max=105.89ms p(90)=2.27ms p(95)=2.62ms + http_req_failed................: 0.00% 0 out of 5601694 + http_req_receiving.............: avg=50.15µs min=0s med=0s max=79.29ms p(90)=0s p(95)=0s + http_req_sending...............: avg=20.22µs min=0s med=0s max=60.37ms p(90)=0s p(95)=0s http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.26ms min=0s med=1.01ms max=91.25ms p(90)=2.22ms p(95)=2.59ms - http_reqs......................: 5690098 51727.985927/s - iteration_duration.............: avg=1.47ms min=0s med=1.24ms max=103.39ms p(90)=2.51ms p(95)=2.99ms - iterations.....................: 5690098 51727.985927/s + http_req_waiting...............: avg=1.27ms min=0s med=1.02ms max=105.89ms p(90)=2.19ms p(95)=2.56ms + http_reqs......................: 5601694 50924.317396/s + iteration_duration.............: avg=1.5ms min=0s med=1.33ms max=105.89ms p(90)=2.5ms p(95)=2.99ms + iterations.....................: 5601694 50924.317396/s vus............................: 1 min=1 max=100 vus_max........................: 100 min=100 max=100 -running (1m50.0s), 000/100 VUs, 5690098 complete and 0 interrupted iterations +running (1m50.0s), 000/100 VUs, 5601694 complete and 0 interrupted iterations default ✓ [======================================] 000/100 VUs 1m50s \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_basic.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_basic.js similarity index 88% rename from samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_basic.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_basic.js index 7e2b583..a56772a 100644 --- a/samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_basic.js +++ b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_basic.js @@ -17,7 +17,7 @@ export const options = { // Simulated user behavior export default function () { - let res = http.get("http://localhost:5102/RegularEndpoints/BasicTest/"); + let res = http.get("http://localhost:5102/MinimalApis/BasicTest/"); // Validate response status check(res, { "status was 200": (r) => r.status == 200 }); } \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_inprocess.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_inprocess.js similarity index 83% rename from samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_inprocess.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_inprocess.js index 3cb8767..fcb097a 100644 --- a/samples/BenchmarkWebApi/BenchmarkFiles/regular_endpoint_inprocess.js +++ b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_api_inprocess.js @@ -25,7 +25,7 @@ export default function () { timeout: 2000, }; let data = { name: 'Elizabeth' }; - let res = http.post("http://localhost:5102/RegularEndpoints/InProcessTest/2f81c55e-22e7-4410-96de-8a8559cec357", JSON.stringify(data), params); + let res = http.post("http://localhost:5102/MinimalApis/InProcessTest/2f81c55e-22e7-4410-96de-8a8559cec357", JSON.stringify(data), params); // Validate response status check(res, { "status was 200": (r) => r.status == 200 }); } \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/minimal_endpoint_basic.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_endpoint_basic.js similarity index 100% rename from samples/BenchmarkWebApi/BenchmarkFiles/minimal_endpoint_basic.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_endpoint_basic.js diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/minimal_endpoint_inprocess.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_endpoint_inprocess.js similarity index 100% rename from samples/BenchmarkWebApi/BenchmarkFiles/minimal_endpoint_inprocess.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/minimal_endpoint_inprocess.js diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/webresult_endpoint_basic.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/webresult_endpoint_basic.js similarity index 100% rename from samples/BenchmarkWebApi/BenchmarkFiles/webresult_endpoint_basic.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/webresult_endpoint_basic.js diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/webresult_endpoint_inprocess.js b/samples/BenchmarkWebApi/BenchmarkFiles/Tests/webresult_endpoint_inprocess.js similarity index 100% rename from samples/BenchmarkWebApi/BenchmarkFiles/webresult_endpoint_inprocess.js rename to samples/BenchmarkWebApi/BenchmarkFiles/Tests/webresult_endpoint_inprocess.js diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results.txt b/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results.txt deleted file mode 100644 index d0484bd..0000000 --- a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results.txt +++ /dev/null @@ -1,121 +0,0 @@ - k6  .\k6 run regular_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: regular_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8539057 out of 8539057 - data_received..................: 1.5 GB 13 MB/s - data_sent......................: 914 MB 8.3 MB/s - http_req_blocked...............: avg=2.99µs min=0s med=0s max=50.56ms p(90)=0s p(95)=0s - http_req_connecting............: avg=7ns min=0s med=0s max=1.66ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=877.69µs min=0s med=999.8µs max=89.12ms p(90)=1.68ms p(95)=2.01ms - { expected_response:true }...: avg=877.69µs min=0s med=999.8µs max=89.12ms p(90)=1.68ms p(95)=2.01ms - http_req_failed................: 0.00% 0 out of 8539057 - http_req_receiving.............: avg=30.45µs min=0s med=0s max=87.38ms p(90)=0s p(95)=0s - http_req_sending...............: avg=9.6µs min=0s med=0s max=68.42ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=837.62µs min=0s med=999.5µs max=88.59ms p(90)=1.63ms p(95)=2.01ms - http_reqs......................: 8539057 77627.644899/s - iteration_duration.............: avg=978.35µs min=0s med=1ms max=89.12ms p(90)=1.88ms p(95)=2.06ms - iterations.....................: 8539057 77627.644899/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8539057 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run minimal_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: minimal_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8519183 out of 8519183 - data_received..................: 1.5 GB 13 MB/s - data_sent......................: 912 MB 8.3 MB/s - http_req_blocked...............: avg=3.14µs min=0s med=0s max=48.14ms p(90)=0s p(95)=0s - http_req_connecting............: avg=8ns min=0s med=0s max=4.44ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=875.86µs min=0s med=999.7µs max=87.82ms p(90)=1.68ms p(95)=2.01ms - { expected_response:true }...: avg=875.86µs min=0s med=999.7µs max=87.82ms p(90)=1.68ms p(95)=2.01ms - http_req_failed................: 0.00% 0 out of 8519183 - http_req_receiving.............: avg=31.99µs min=0s med=0s max=52.43ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.22µs min=0s med=0s max=55.91ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=833.64µs min=0s med=999.4µs max=87.82ms p(90)=1.63ms p(95)=2ms - http_reqs......................: 8519183 77447.076853/s - iteration_duration.............: avg=979.74µs min=0s med=1ms max=115.04ms p(90)=1.86ms p(95)=2.05ms - iterations.....................: 8519183 77447.076853/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8519183 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run webresult_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: webresult_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8274029 out of 8274029 - data_received..................: 1.4 GB 13 MB/s - data_sent......................: 902 MB 8.2 MB/s - http_req_blocked...............: avg=3.1µs min=0s med=0s max=26.18ms p(90)=0s p(95)=0s - http_req_connecting............: avg=8ns min=0s med=0s max=4.61ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=908.87µs min=0s med=1ms max=105.94ms p(90)=1.72ms p(95)=2.01ms - { expected_response:true }...: avg=908.87µs min=0s med=1ms max=105.94ms p(90)=1.72ms p(95)=2.01ms - http_req_failed................: 0.00% 0 out of 8274029 - http_req_receiving.............: avg=31.66µs min=0s med=0s max=97.36ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.27µs min=0s med=0s max=84.99ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=866.92µs min=0s med=999.8µs max=100.73ms p(90)=1.66ms p(95)=2.01ms - http_reqs......................: 8274029 75218.420701/s - iteration_duration.............: avg=1.01ms min=0s med=1ms max=105.94ms p(90)=1.94ms p(95)=2.08ms - iterations.....................: 8274029 75218.420701/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8274029 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass2.txt b/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass2.txt deleted file mode 100644 index a7a52d9..0000000 --- a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass2.txt +++ /dev/null @@ -1,121 +0,0 @@ - k6  .\k6 run regular_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: regular_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8153621 out of 8153621 - data_received..................: 1.4 GB 13 MB/s - data_sent......................: 872 MB 7.9 MB/s - http_req_blocked...............: avg=3.02µs min=0s med=0s max=35.22ms p(90)=0s p(95)=0s - http_req_connecting............: avg=8ns min=0s med=0s max=1.57ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=949.63µs min=0s med=1ms max=92.02ms p(90)=1.82ms p(95)=2.16ms - { expected_response:true }...: avg=949.63µs min=0s med=1ms max=92.02ms p(90)=1.82ms p(95)=2.16ms - http_req_failed................: 0.00% 0 out of 8153621 - http_req_receiving.............: avg=31.45µs min=0s med=0s max=87.43ms p(90)=0s p(95)=0s - http_req_sending...............: avg=9.88µs min=0s med=0s max=54.59ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=908.29µs min=0s med=1ms max=85.14ms p(90)=1.77ms p(95)=2.09ms - http_reqs......................: 8153621 74123.510765/s - iteration_duration.............: avg=1.03ms min=0s med=1.01ms max=92.02ms p(90)=2ms p(95)=2.36ms - iterations.....................: 8153621 74123.510765/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8153621 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run minimal_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: minimal_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8065949 out of 8065949 - data_received..................: 1.4 GB 13 MB/s - data_sent......................: 863 MB 7.8 MB/s - http_req_blocked...............: avg=3.14µs min=0s med=0s max=34.85ms p(90)=0s p(95)=0s - http_req_connecting............: avg=8ns min=0s med=0s max=4.14ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=956.47µs min=0s med=1ms max=91.24ms p(90)=1.87ms p(95)=2.21ms - { expected_response:true }...: avg=956.47µs min=0s med=1ms max=91.24ms p(90)=1.87ms p(95)=2.21ms - http_req_failed................: 0.00% 0 out of 8065949 - http_req_receiving.............: avg=31.35µs min=0s med=0s max=79.59ms p(90)=0s p(95)=0s - http_req_sending...............: avg=9.77µs min=0s med=0s max=84.88ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=915.34µs min=0s med=1ms max=91.24ms p(90)=1.79ms p(95)=2.13ms - http_reqs......................: 8065949 73326.571646/s - iteration_duration.............: avg=1.04ms min=0s med=1.01ms max=91.24ms p(90)=2.01ms p(95)=2.44ms - iterations.....................: 8065949 73326.571646/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8065949 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run webresult_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: webresult_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 7968453 out of 7968453 - data_received..................: 1.4 GB 12 MB/s - data_sent......................: 869 MB 7.9 MB/s - http_req_blocked...............: avg=3.1µs min=0s med=0s max=45.98ms p(90)=0s p(95)=0s - http_req_connecting............: avg=7ns min=0s med=0s max=2.53ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=964.47µs min=0s med=1ms max=85.04ms p(90)=1.88ms p(95)=2.23ms - { expected_response:true }...: avg=964.47µs min=0s med=1ms max=85.04ms p(90)=1.88ms p(95)=2.23ms - http_req_failed................: 0.00% 0 out of 7968453 - http_req_receiving.............: avg=32.29µs min=0s med=0s max=66.74ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.12µs min=0s med=0s max=47.88ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=922.04µs min=0s med=1ms max=72.31ms p(90)=1.8ms p(95)=2.15ms - http_reqs......................: 7968453 72440.310925/s - iteration_duration.............: avg=1.05ms min=0s med=1.01ms max=85.04ms p(90)=2.01ms p(95)=2.5ms - iterations.....................: 7968453 72440.310925/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 7968453 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass3.txt b/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass3.txt deleted file mode 100644 index 2a75a55..0000000 --- a/samples/BenchmarkWebApi/BenchmarkFiles/basic_benchmark_results_pass3.txt +++ /dev/null @@ -1,121 +0,0 @@ - k6  .\k6 run regular_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: regular_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 8022875 out of 8022875 - data_received..................: 1.4 GB 13 MB/s - data_sent......................: 858 MB 7.8 MB/s - http_req_blocked...............: avg=3.23µs min=0s med=0s max=25.97ms p(90)=0s p(95)=0s - http_req_connecting............: avg=7ns min=0s med=0s max=1.52ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=947.1µs min=0s med=999.8µs max=107.46ms p(90)=1.99ms p(95)=2.12ms - { expected_response:true }...: avg=947.1µs min=0s med=999.8µs max=107.46ms p(90)=1.99ms p(95)=2.12ms - http_req_failed................: 0.00% 0 out of 8022875 - http_req_receiving.............: avg=33.04µs min=0s med=0s max=100.96ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.41µs min=0s med=0s max=61.32ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=903.63µs min=0s med=999.5µs max=104.64ms p(90)=1.99ms p(95)=2.06ms - http_reqs......................: 8022875 72934.974918/s - iteration_duration.............: avg=1.04ms min=0s med=1ms max=107.46ms p(90)=2ms p(95)=2.49ms - iterations.....................: 8022875 72934.974918/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 8022875 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run minimal_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: minimal_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 7982833 out of 7982833 - data_received..................: 1.4 GB 12 MB/s - data_sent......................: 854 MB 7.8 MB/s - http_req_blocked...............: avg=3.21µs min=0s med=0s max=32.64ms p(90)=0s p(95)=0s - http_req_connecting............: avg=8ns min=0s med=0s max=2.08ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=963.19µs min=0s med=1ms max=88.89ms p(90)=1.99ms p(95)=2.03ms - { expected_response:true }...: avg=963.19µs min=0s med=1ms max=88.89ms p(90)=1.99ms p(95)=2.03ms - http_req_failed................: 0.00% 0 out of 7982833 - http_req_receiving.............: avg=33.21µs min=0s med=0s max=84.11ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.71µs min=0s med=0s max=61.57ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=919.26µs min=0s med=999.8µs max=86.89ms p(90)=1.99ms p(95)=2.01ms - http_reqs......................: 7982833 72571.153673/s - iteration_duration.............: avg=1.05ms min=0s med=1ms max=114.7ms p(90)=2ms p(95)=2.15ms - iterations.....................: 7982833 72571.153673/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 7982833 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run webresult_endpoint_basic.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: webresult_endpoint_basic.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 7810360 out of 7810360 - data_received..................: 1.3 GB 12 MB/s - data_sent......................: 851 MB 7.7 MB/s - http_req_blocked...............: avg=3.15µs min=0s med=0s max=23.6ms p(90)=0s p(95)=0s - http_req_connecting............: avg=7ns min=0s med=0s max=3.05ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=980.31µs min=0s med=1ms max=79.6ms p(90)=1.99ms p(95)=2.06ms - { expected_response:true }...: avg=980.31µs min=0s med=1ms max=79.6ms p(90)=1.99ms p(95)=2.06ms - http_req_failed................: 0.00% 0 out of 7810360 - http_req_receiving.............: avg=32.61µs min=0s med=0s max=55.45ms p(90)=0s p(95)=0s - http_req_sending...............: avg=10.26µs min=0s med=0s max=46.44ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=937.42µs min=0s med=999.8µs max=79.6ms p(90)=1.99ms p(95)=2.03ms - http_reqs......................: 7810360 71003.094639/s - iteration_duration.............: avg=1.07ms min=0s med=1ms max=79.6ms p(90)=2ms p(95)=2.4ms - iterations.....................: 7810360 71003.094639/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 7810360 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results.txt b/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results.txt deleted file mode 100644 index e8ed513..0000000 --- a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results.txt +++ /dev/null @@ -1,121 +0,0 @@ - k6  .\k6 run regular_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: regular_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 6079613 out of 6079613 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 14 MB/s - http_req_blocked...............: avg=4.17µs min=0s med=0s max=38.67ms p(90)=0s p(95)=0s - http_req_connecting............: avg=13ns min=0s med=0s max=4.39ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.22ms min=0s med=1.01ms max=109.48ms p(90)=2.11ms p(95)=2.54ms - { expected_response:true }...: avg=1.22ms min=0s med=1.01ms max=109.48ms p(90)=2.11ms p(95)=2.54ms - http_req_failed................: 0.00% 0 out of 6079613 - http_req_receiving.............: avg=43.81µs min=0s med=0s max=87.95ms p(90)=0s p(95)=0s - http_req_sending...............: avg=17.9µs min=0s med=0s max=80.31ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.16ms min=0s med=1.01ms max=109.48ms p(90)=2.07ms p(95)=2.53ms - http_reqs......................: 6079613 55269.203263/s - iteration_duration.............: avg=1.38ms min=0s med=1.07ms max=200.59ms p(90)=2.34ms p(95)=2.7ms - iterations.....................: 6079613 55269.203263/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 6079613 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run minimal_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: minimal_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 6083911 out of 6083911 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 14 MB/s - http_req_blocked...............: avg=4.21µs min=0s med=0s max=70.42ms p(90)=0s p(95)=0s - http_req_connecting............: avg=12ns min=0s med=0s max=2.44ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.22ms min=0s med=1.01ms max=118.9ms p(90)=2.11ms p(95)=2.55ms - { expected_response:true }...: avg=1.22ms min=0s med=1.01ms max=118.9ms p(90)=2.11ms p(95)=2.55ms - http_req_failed................: 0.00% 0 out of 6083911 - http_req_receiving.............: avg=46.2µs min=0s med=0s max=116.01ms p(90)=0s p(95)=0s - http_req_sending...............: avg=18.76µs min=0s med=0s max=96.86ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.16ms min=0s med=1.01ms max=99.61ms p(90)=2.07ms p(95)=2.53ms - http_reqs......................: 6083911 55308.225152/s - iteration_duration.............: avg=1.38ms min=0s med=1.06ms max=122.3ms p(90)=2.34ms p(95)=2.71ms - iterations.....................: 6083911 55308.225152/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 6083911 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run webresult_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: webresult_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 5987636 out of 5987636 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 14 MB/s - http_req_blocked...............: avg=4.16µs min=0s med=0s max=46.49ms p(90)=0s p(95)=0s - http_req_connecting............: avg=13ns min=0s med=0s max=3.43ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.23ms min=0s med=1.01ms max=101.93ms p(90)=2.1ms p(95)=2.55ms - { expected_response:true }...: avg=1.23ms min=0s med=1.01ms max=101.93ms p(90)=2.1ms p(95)=2.55ms - http_req_failed................: 0.00% 0 out of 5987636 - http_req_receiving.............: avg=44.62µs min=0s med=0s max=81.56ms p(90)=0s p(95)=0s - http_req_sending...............: avg=18.85µs min=0s med=0s max=74.1ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.17ms min=0s med=1.01ms max=85.48ms p(90)=2.06ms p(95)=2.53ms - http_reqs......................: 5987636 54432.98309/s - iteration_duration.............: avg=1.4ms min=0s med=1.05ms max=107.7ms p(90)=2.36ms p(95)=2.77ms - iterations.....................: 5987636 54432.98309/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 5987636 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass2.txt b/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass2.txt deleted file mode 100644 index 752d049..0000000 --- a/samples/BenchmarkWebApi/BenchmarkFiles/inprocess_benchmark_results_pass2.txt +++ /dev/null @@ -1,121 +0,0 @@ - k6  .\k6 run regular_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: regular_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 5950366 out of 5950366 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 13 MB/s - http_req_blocked...............: avg=4.14µs min=0s med=0s max=42.07ms p(90)=0s p(95)=0s - http_req_connecting............: avg=13ns min=0s med=0s max=2.58ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.25ms min=0s med=1.01ms max=100.07ms p(90)=2.17ms p(95)=2.59ms - { expected_response:true }...: avg=1.25ms min=0s med=1.01ms max=100.07ms p(90)=2.17ms p(95)=2.59ms - http_req_failed................: 0.00% 0 out of 5950366 - http_req_receiving.............: avg=45.14µs min=0s med=0s max=82.67ms p(90)=0s p(95)=0s - http_req_sending...............: avg=18.47µs min=0s med=0s max=72.85ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.19ms min=0s med=1.01ms max=100.07ms p(90)=2.1ms p(95)=2.54ms - http_reqs......................: 5950366 54094.027413/s - iteration_duration.............: avg=1.41ms min=0s med=1.13ms max=100.07ms p(90)=2.44ms p(95)=2.79ms - iterations.....................: 5950366 54094.027413/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 5950366 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run minimal_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: minimal_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 5969476 out of 5969476 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 13 MB/s - http_req_blocked...............: avg=4.18µs min=0s med=0s max=61.07ms p(90)=0s p(95)=0s - http_req_connecting............: avg=12ns min=0s med=0s max=2.06ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.24ms min=0s med=1.01ms max=100.48ms p(90)=2.14ms p(95)=2.58ms - { expected_response:true }...: avg=1.24ms min=0s med=1.01ms max=100.48ms p(90)=2.14ms p(95)=2.58ms - http_req_failed................: 0.00% 0 out of 5969476 - http_req_receiving.............: avg=46.03µs min=0s med=0s max=75.31ms p(90)=0s p(95)=0s - http_req_sending...............: avg=19.07µs min=0s med=0s max=63.52ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.17ms min=0s med=1.01ms max=96.39ms p(90)=2.08ms p(95)=2.54ms - http_reqs......................: 5969476 54267.714548/s - iteration_duration.............: avg=1.4ms min=0s med=1.06ms max=117.11ms p(90)=2.4ms p(95)=2.8ms - iterations.....................: 5969476 54267.714548/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 5969476 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s - - - k6  .\k6 run webresult_endpoint_inprocess.js - - /\ Grafana /‾‾/ - /\ / \ |\ __ / / - / \/ \ | |/ / / ‾‾\ - / \ | ( | (‾) | - / __________ \ |_|\_\ \_____/ - - execution: local - script: webresult_endpoint_inprocess.js - output: - - - scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop): - * default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s) - - - ✓ status was 200 - - checks.........................: 100.00% 5895179 out of 5895179 - data_received..................: 1.1 GB 10 MB/s - data_sent......................: 1.5 GB 13 MB/s - http_req_blocked...............: avg=4.35µs min=0s med=0s max=39.11ms p(90)=0s p(95)=0s - http_req_connecting............: avg=17ns min=0s med=0s max=24.55ms p(90)=0s p(95)=0s - ✓ http_req_duration..............: avg=1.26ms min=0s med=1.01ms max=107.17ms p(90)=2.18ms p(95)=2.59ms - { expected_response:true }...: avg=1.26ms min=0s med=1.01ms max=107.17ms p(90)=2.18ms p(95)=2.59ms - http_req_failed................: 0.00% 0 out of 5895179 - http_req_receiving.............: avg=45.5µs min=0s med=0s max=101.55ms p(90)=0s p(95)=0s - http_req_sending...............: avg=18.34µs min=0s med=0s max=78.47ms p(90)=0s p(95)=0s - http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s - http_req_waiting...............: avg=1.2ms min=0s med=1.01ms max=103.8ms p(90)=2.11ms p(95)=2.54ms - http_reqs......................: 5895179 53592.397023/s - iteration_duration.............: avg=1.42ms min=0s med=1.19ms max=107.49ms p(90)=2.43ms p(95)=2.78ms - iterations.....................: 5895179 53592.397023/s - vus............................: 1 min=1 max=100 - vus_max........................: 100 min=100 max=100 - - -running (1m50.0s), 000/100 VUs, 5895179 complete and 0 interrupted iterations -default ✓ [======================================] 000/100 VUs 1m50s \ No newline at end of file diff --git a/samples/BenchmarkWebApi/BenchmarkWebApi.csproj b/samples/BenchmarkWebApi/BenchmarkWebApi.csproj index 03d928f..bef111d 100644 --- a/samples/BenchmarkWebApi/BenchmarkWebApi.csproj +++ b/samples/BenchmarkWebApi/BenchmarkWebApi.csproj @@ -11,4 +11,9 @@ + + + + + diff --git a/samples/BenchmarkWebApi/Features/RegularEndpoints/BasicTest.cs b/samples/BenchmarkWebApi/Features/MinimalApis/BasicTest.cs similarity index 83% rename from samples/BenchmarkWebApi/Features/RegularEndpoints/BasicTest.cs rename to samples/BenchmarkWebApi/Features/MinimalApis/BasicTest.cs index e608bc7..9904849 100644 --- a/samples/BenchmarkWebApi/Features/RegularEndpoints/BasicTest.cs +++ b/samples/BenchmarkWebApi/Features/MinimalApis/BasicTest.cs @@ -4,7 +4,7 @@ internal static class BasicTest { public static RouteHandlerBuilder MapMinimalApiForBasicTest(this IEndpointRouteBuilder builder) { - return builder.MapGet("RegularEndpoints/BasicTest", + return builder.MapGet("/MinimalApis/BasicTest", IResult () => { return Results.Ok("Hello World"); diff --git a/samples/BenchmarkWebApi/Features/RegularEndpoints/InProcessTest.cs b/samples/BenchmarkWebApi/Features/MinimalApis/InProcessTest.cs similarity index 95% rename from samples/BenchmarkWebApi/Features/RegularEndpoints/InProcessTest.cs rename to samples/BenchmarkWebApi/Features/MinimalApis/InProcessTest.cs index 1376a30..eab3716 100644 --- a/samples/BenchmarkWebApi/Features/RegularEndpoints/InProcessTest.cs +++ b/samples/BenchmarkWebApi/Features/MinimalApis/InProcessTest.cs @@ -26,7 +26,7 @@ internal static class InProcessTest { public static RouteHandlerBuilder MapMinimalApiForInProcessTest(this IEndpointRouteBuilder builder) { - return builder.MapPost("RegularEndpoints/InProcessTest/{Id}", + return builder.MapPost("/MinimalApis/InProcessTest/{Id}", async Task ( [AsParameters] InProcessTestRequest req, [FromServices] IValidator validator, diff --git a/samples/BenchmarkWebApi/Features/RegularEndpoints/_RegularEndpoints.http b/samples/BenchmarkWebApi/Features/MinimalApis/_MinimalApis.http similarity index 68% rename from samples/BenchmarkWebApi/Features/RegularEndpoints/_RegularEndpoints.http rename to samples/BenchmarkWebApi/Features/MinimalApis/_MinimalApis.http index 97609f6..a45b65a 100644 --- a/samples/BenchmarkWebApi/Features/RegularEndpoints/_RegularEndpoints.http +++ b/samples/BenchmarkWebApi/Features/MinimalApis/_MinimalApis.http @@ -3,11 +3,11 @@ @BaseUrl =http://localhost:5102 ###Regular endpoint simple test -GET {{BaseUrl}}/RegularEndpoints/BasicTest +GET {{BaseUrl}}/MinimalApis/BasicTest Accept: application/json ###Regular endpoint in-process test -POST {{BaseUrl}}/RegularEndpoints/InProcessTest/383dd966-67f2-4563-aea6-50d0b87f7f43 +POST {{BaseUrl}}/MinimalApis/InProcessTest/383dd966-67f2-4563-aea6-50d0b87f7f43 Accept: application/json Content-Type: application/json diff --git a/samples/BenchmarkWebApi/Features/MinimalEndpoints/BasicTest.cs b/samples/BenchmarkWebApi/Features/MinimalEndpoints/BasicTest.cs index 1fd4983..216793a 100644 --- a/samples/BenchmarkWebApi/Features/MinimalEndpoints/BasicTest.cs +++ b/samples/BenchmarkWebApi/Features/MinimalEndpoints/BasicTest.cs @@ -9,7 +9,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapGet("MinimalEndpoints/BasicTest") + MapGet("/MinimalEndpoints/BasicTest") .Produces(); } diff --git a/samples/BenchmarkWebApi/Features/MinimalEndpoints/InProcessTest.cs b/samples/BenchmarkWebApi/Features/MinimalEndpoints/InProcessTest.cs index a03d164..d9c14af 100644 --- a/samples/BenchmarkWebApi/Features/MinimalEndpoints/InProcessTest.cs +++ b/samples/BenchmarkWebApi/Features/MinimalEndpoints/InProcessTest.cs @@ -29,7 +29,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapPost("MinimalEndpoints/InProcessTest/{Id}") + MapPost("/MinimalEndpoints/InProcessTest/{Id}") .Produces(); } diff --git a/samples/BenchmarkWebApi/Features/WebResultEndpoints/BasicTest.cs b/samples/BenchmarkWebApi/Features/WebResultEndpoints/BasicTest.cs index ec11546..5b632e9 100644 --- a/samples/BenchmarkWebApi/Features/WebResultEndpoints/BasicTest.cs +++ b/samples/BenchmarkWebApi/Features/WebResultEndpoints/BasicTest.cs @@ -11,7 +11,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapGet("WebResultEndpoints/BasicTest") + MapGet("/WebResultEndpoints/BasicTest") .Produces(); } diff --git a/samples/BenchmarkWebApi/Features/WebResultEndpoints/InProcessTest.cs b/samples/BenchmarkWebApi/Features/WebResultEndpoints/InProcessTest.cs index fd86dd8..8fbb9f1 100644 --- a/samples/BenchmarkWebApi/Features/WebResultEndpoints/InProcessTest.cs +++ b/samples/BenchmarkWebApi/Features/WebResultEndpoints/InProcessTest.cs @@ -29,7 +29,7 @@ protected override void Configure( IServiceProvider serviceProvider, IRouteGroupConfigurator? parentRouteGroup) { - MapPost("WebResultEndpoints/InProcessTest/{Id}") + MapPost("/WebResultEndpoints/InProcessTest/{Id}") .Produces(); }