From cdedaac6cf939ad30fc20aab84cfb5c9e871d523 Mon Sep 17 00:00:00 2001 From: antyadev Date: Sun, 5 Jan 2025 21:39:23 +0200 Subject: [PATCH] updated README.md --- LICENSE | 75 ------------------------------------ README.md | 79 +++++++++++++++++++++++++++----------- src/NBomber/NBomber.fsproj | 4 +- 3 files changed, 57 insertions(+), 101 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index a0092365..00000000 --- a/LICENSE +++ /dev/null @@ -1,75 +0,0 @@ -NBOMBER BUSINESS LICENSE AGREEMENT - -Version: 1.1, June 2023 - -This NBomber Business License Agreement ("Agreement") is entered into by and between the customer ("Customer") identified in the corresponding Commercial Subscription order for the NBomber Software license and Anton Moldovan ("Sole proprietor of NBomber"). - -1. DEFINITIONS - -Capitalized terms not otherwise defined elsewhere in this Agreement will have the following meaning: - -- Activation Key: means the activation key provided by NBomber to activate Software under a Commercial Subscription for the Subscription Period. - -- Commercial Subscription: means a paid subscription to the Software pursuant to an order form. An Activation Key, as defined above, is necessary for Commercial Subscriptions. - -- Software: the English version of the standard computer program(s) in executable object code, for which the License is granted to Customer under the Agreement and the Documentation, any Updates provided to Customer under the Maintenance, and all copies in whole or in part of the Software. - -- Pre-Release Software: means a beta or pre-release version of the Software. - -- Customer: the legal entity identified in the Purchase Order, which signs the Agreement and for which the License is granted and the Maintenance is provided. - -- Documentation: the English version of the documentation, which describes the main processes and guidelines to facilitate the installation and use of the Software, and its Update, if any, as provided to Customer by NBomber. - -- License: the right to use the Software in accordance with the terms of the Agreement. - -- Subscription Period: means the subscription period specified in an Order. - -- Third-party software: the third parties’ open source software, which may be included in the Software defined in the Documentation and subject to their own license terms and conditions, as contained in the Documentation. - -- Update: any correction and/or enhancement of the Software provided to Customer as part of the Maintenance as they become available. - -2. LICENSE & RESTRICTIONS - -2.1 Subject to the terms and conditions of this Agreement and the applicable order form, NBomber grants to Customer a limited, non-exclusive, non-sublicensable, non-transferable, revocable license during the term of the Subscription Period to use the Software for which Customer has purchased a Commercial Subscription. The license should be used solely in connection with the Customer’s internal operations. - -2.2 The License being non-exclusive, NBomber reserves the right to commercialize directly or indirectly the Software and/or the Maintenance to any third party. - -2.3 Customer agrees that it shall not (and will not allow any third party to): - -a) distribute or publish the Software license activation keys; -b) sell, sublicense, rent, lease, distribute, allow any other people to use the Software for the benefit of a third party and/or provide any Software as a Service (SaaS), Application Service Provider (ASP); -c) distribute the Software: as a standalone product or a similar product, or as a part of any (including yours) product; -d) remove or change any product identification, proprietary, copyright, or other notices contained in the Software; -e) reverse-engineer, decompile, disassemble, recreate the Software, even partially, or attempt to or enable third parties to perform such acts; - -2.4 Customer acknowledges and agrees that in the event of any use of the Software by Customer beyond the limits defined in the Agreement, NBomber shall be entitled to invoice Customer for the amount that would be due if the same use was made under the applicable License. - -2.5 Customer acknowledges and agrees that the Software may include Third-party software subject to open source license agreements, notwithstanding any clause to the contrary in the General Terms and Conditions, and provided by NBomber “as is” without any warranty of any kind. In no event shall NBomber be liable for any damage suffered by Customer or a third party, resulting directly or indirectly from the use of such Third-party software. - -2.6 Customer acknowledges and agrees that the Pre-Release Software may include: - -a) is not at the level of performance or compatibility of final, generally available products; -b) may not operate correctly; -c) may be modified at any time before being made generally available; -d) may not be made available for general release; -e) may not be used in a production environment; - -3. PROVISION OF THE SOFTWARE - -The Agreement does not include any installation and/or setup services. Consequently, and unless otherwise expressly agreed between the Parties, Customer is solely responsible for the downloading and installing of the Software, for which, under no circumstances, shall NBomber be held liable. - -4. WARRANTIES - -4.1 NBomber represents and warrants that: - -a) it has all rights necessary to provide the Software to Customer, and the Software does not infringe, misappropriate or violate any patent, copyright, trademark, trade secret, publicity, privacy, data security, or other rights of any third party; -b) the Software is and will comply with the specifications in the Agreement and documentation; - -c) the Software provided under this Agreement does not contain any Trojan horses, worms, undocumented disabling devices, malicious code, or other internal component (e.g., a computer virus) which could damage, destroy, or alter software, firmware, or hardware or which could reveal any data or other information accessed through or processed by the Software; - -d) it has acquired and shall maintain in effect at all times during the Term any licenses and/or permits and/or mandated insurances necessary for providing the Software; -e) the Software does not use any viral or copyleft open source materials that would impact Customer (i.e., obligate Customer to adhere to such open source licenses); -f) it shall not use any cookies, action tags, or any similar current or future technology, used to obtain, track, monitor, implement any form of profiling, or assess information obtained through the use hereof under this Agreement except as may be expressly set forth herein in order to provide the Software; - -4.2 NBomber is not liable for any damage caused by incorrect usage of the Software. - diff --git a/README.md b/README.md index b65052f3..ff27fc4b 100644 --- a/README.md +++ b/README.md @@ -5,17 +5,41 @@ [![NuGet](https://img.shields.io/nuget/v/nbomber.svg)](https://www.nuget.org/packages/nbomber/) [![Nuget](https://img.shields.io/nuget/dt/nbomber.svg)](https://www.nuget.org/packages/nbomber/) -NBomber is a modern and flexible load-testing framework for Pull and Push scenarios, designed to test any system regardless of a protocol (HTTP/WebSockets/AMQP, etc) or a semantic model (Pull/Push). - -NBomber is free for personal use, developer-centric, and extensible. -Using NBomber, you can test the reliability and performance of your systems and catch performance regressions and problems earlier. -NBomber will help you to build resilient and performant applications that scale. +**NBomber** - Distributed load-testing framework for .NET. +It is designed to test any system regardless of the protocol (HTTP/WebSockets/AMQP) or a semantic model (Pull/Push). +It allows to write distributed load test scenarios in plain C# or F#. [![NBomber 5](https://cdn.jsdelivr.net/gh/PragmaticFlow/NBomber@assets/v5.0/assets/NBomber_5_youtube.png)](https://youtu.be/Z51PyZvZNF8) -### Links -- [Website](https://nbomber.com/) -- [Documentation](https://nbomber.com/docs/getting-started/overview/) +NBomber as a modern framework provides: +- Zero dependencies on protocol (HTTP/WebSockets/AMQP/SQL) +- Zero dependencies on semantic model (Pull/Push) +- Very flexible configuration and dead simple API +- **Native Debug** - debug your tests using your favorite IDE (Visual Studio, VS Code, Rider) +- [Asserts and Thresholds](https://nbomber.com/docs/nbomber/asserts_and_thresholds) +- Protocols/extensions support: + - [HTTP](https://nbomber.com/docs/protocols/http), + - [WebSockets](https://nbomber.com/docs/protocols/websockets), + - [MQTT](https://nbomber.com/docs/protocols/mqtt), + - [WebBrowser](https://nbomber.com/docs/protocols/webbrowser) + - [Redis](https://github.com/PragmaticFlow/NBomber/tree/dev/examples/Demo/DB/Redis), + - [SQLite](https://github.com/PragmaticFlow/NBomber/tree/dev/examples/Demo/DB/SQLiteDB), + - MongoDB + - AMQP + - gRPC +- [Reports](https://nbomber.com/docs/reporting/reports): [HTML](https://nbomber.com/assets/reports/html_report.html) +- Realtime reporting: + - [NBomber Studio](https://nbomber.com/docs/nbomber-studio/overview) - is a powerful management tool designed by NBomber. Monitor tests in real time with NBomber Studio and conduct detailed result analysis to identify trends. + - [Reporting Sinks](https://nbomber.com/docs/nbomber/reporting-sinks) for integration with popular systems for real-time monitoring + - [InfluxDB](https://nbomber.com/docs/reporting/realtime/influx-db) + - [TimescaleDB](https://nbomber.com/docs/reporting/realtime/timescale) + - [Grafana](https://nbomber.com/docs/reporting/realtime/grafana) +- [Data Feed](https://nbomber.com/docs/nbomber/data) - inject real or fake data into your tests +- [Distributed Cluster](https://nbomber.com/docs/cluster/overview) - run your load tests in distributed mode +- [Load Simulation](https://nbomber.com/docs/nbomber/load-simulation) - simulate realistic workloads +- [Dynamic Workloads](https://nbomber.com/docs/nbomber/dynamic-workloads) - simulate dynamic workloads +- [JSON Configuration](https://nbomber.com/docs/nbomber/json-config) - configure your load tests via JSON Config +- CI/CD integration ([xUnit](https://github.com/PragmaticFlow/NBomber/blob/dev/examples/xUnitExample/LoadTestExample.cs#L11) and NUnit runners are supported) ### Why we build NBomber and what you can do with it? The main reason behind NBomber is to provide a lightweight framework for writing load tests which you can use to test literally any system and simulate any production workload. We wanted to provide only a few abstractions so that we could describe any type of load and still have a simple, intuitive API. @@ -23,17 +47,6 @@ Another goal is to provide building blocks to validate your POC (proof of concep With NBomber you can test any PULL or PUSH system (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis etc). With NBomber you can convert some of your integration tests to load tests easily. -NBomber as a modern framework provides: -- Zero dependencies on protocol (HTTP/WebSockets/AMQP/SQL) -- Zero dependencies on semantic model (Pull/Push) -- Very flexible configuration and dead simple API -- [Distributed cluster support](https://nbomber.com/docs/cluster/overview) -- Real-time reporting -- CI/CD integration (xUnit and NUnit runners are supported) -- Plugins/extensions support - add your own plugins or data sinks -- Data feed support - inject real or fake data into your tests -- **Debuggability of your load test** - debug your tests using your favorite IDE - ### What makes it very simple? One of the design goals of NBomber is to keep API as minimal as possible. Because of this, NBomber focuses on fully utilizing programming language(C#/F#) constructs instead of reinventing a new DSL that should be learned. @@ -60,8 +73,28 @@ NBomberRunner .Run(); ``` -### Examples -|Type|Language -|--|--| -| [NBomber Demo](https://github.com/PragmaticFlow/NBomber/tree/dev/examples/Demo) | C# | +### Videos + +[Load Testing with C# and NBomber (Part 1)](https://youtu.be/XnK5sLhqXms) + +### Links +- [Website](https://nbomber.com/) +- [Documentation](https://nbomber.com/docs/getting-started/overview/) +- [Examples](https://github.com/PragmaticFlow/NBomber/tree/dev/examples/Demo) + +### Frequently asked questions + +| Question | Answer | +|---------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| +| How NBomber can be installed? | NBomber is shipped as .NET library and can be installed via [NuGet package manager](https://www.nuget.org/packages/NBomber/) | +| How can I run NBomber load test scenario? | You can run it as Console application or as Unit test (xUnit/NUnit) | +| Can I use NBomber for free? | You can use it for free, only for personal use. For the organization usage, you should have a license. | +| Can multiple teams use the same license within one organization? | Yes, a single license can be shared for the whole organization | +| How many users from the same organization can use the license at the same time? | Unlimited | +| Can I run NBomber Cluster without purchasing a license? | Yes, you can try [Local Dev Cluster](https://nbomber.com/docs/cluster/local-dev-cluster) mode | +| How many instances can be installed with one NBomber license? | Unlimited | +| How many NBomber executions can be run in parallel? | Unlimited | + +### About Us +We are US based company [NBomber LLC](https://www.linkedin.com/company/nbomber) (8 The Green, Dover, Delaware 19901, USA). diff --git a/src/NBomber/NBomber.fsproj b/src/NBomber/NBomber.fsproj index 4cd9cdc7..7a88d5ea 100644 --- a/src/NBomber/NBomber.fsproj +++ b/src/NBomber/NBomber.fsproj @@ -6,8 +6,7 @@ 4.2.0-beta.0 NBomber@2023 true - snupkg - LICENSE + snupkg nbomber_icon.png https://github.com/PragmaticFlow/NBomber load-testing, performance-testing, integration-testing, fsharp @@ -68,7 +67,6 @@ -