hallatore / netling Goto Github PK
View Code? Open in Web Editor NEWNetling is a load tester client for easy web testing.
License: MIT License
Netling is a load tester client for easy web testing.
License: MIT License
I downloaded the latest .NET 5 SDK preview 7. Yet, I cannot build netling project as I get error like:
Severity Code Description Project File Line Suppression State
Error MSB3644 The reference assemblies for .NETFramework,Version=v5.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks Netling.Core C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1177
Error Project '..\Netling.Core\Netling.Core.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Core.HttpClientWorker C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core.SocketWorker\Netling.Core.SocketWorker.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Benchmarks C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core\Netling.Core.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Benchmarks C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core.HttpClientWorker\Netling.Core.HttpClientWorker.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Client C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core.SocketWorker\Netling.Core.SocketWorker.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Client C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core\Netling.Core.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.Client C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core.HttpClientWorker\Netling.Core.HttpClientWorker.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.ConsoleClient C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core.SocketWorker\Netling.Core.SocketWorker.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.ConsoleClient C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error Project '..\Netling.Core\Netling.Core.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v5.0'. Netling.ConsoleClient C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1655
Error MSB3644 The reference assemblies for .NETFramework,Version=v5.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks Netling.Tests C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1177
Error MSB3644 The reference assemblies for .NETFramework,Version=v5.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks Netling.Benchmarks C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1177
Please advise what to do next.
Todo: Add better calculating and do it off the UI thread.
I'd like to expand your tool so that it can also run unit tests through a load-test scenario.
A full explanation of what I want is in this SO post.
How readily do you think your code could be adjusted for this?
It cna make post request and pass parameters?
I cloned the source open in vs 2019: try to build and get this error on building:
Severity Code Description Project File Line Suppression State
Error MC1000 Unknown build error, 'Could not find assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. Either explicitly load this assembly using a method such as LoadFromAssemblyPath() or use a MetadataAssemblyResolver that returns a valid assembly.' Netling.Client C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.WinFX.targets 243
The latest release was in 2018. Is this project supported?
We were planning to use this for our next project. Should we consider this?
I was trying the tool, It is pretty cool !! I am trying to understanding How to add Windows authentication process into the request
Hello,
How would you support multiple URLs into Netling ?
Thx
Hi, Netling looks very clean & modern. But I can't try it out as I m not into .Net world :) Can you release downloadable (if possible, portable) binary file? Thanks.
Hi,
Would like to use this application for Load testing. Could you please provide us user guide for setup the application and it's use.
Timely response on this would be highly appreciated
Regards,
Murali
Could you please explain how do we configure or switch between the workers. Read me is confusing.
Hi,
Is there a way by which I can test the post and put request using NetLing. If so please let me know.
I would love to be able to choco install netling
and be up in running in seconds on any computer, and I think a lot of other folks would agree.
Publishing an app to Chocolatey is the moral equivalent of publishing a library to NuGet and it can be automated on build servers.
Currently xbuild cannot compile the console version for it to run on mac or linux becasue it depends on Core
which is doing some unsafe byte operations. We need to add the code below to .csproj
file in Core
library to fix this.
Utils/ByteHelpers.cs(8,23): error CS0227: Unsafe code requires the `unsafe' command line option to be specified
Add line below in .csproj
file of Code
sub-project.
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Ref dotnet/wpf#1451
Please explain in readme.md what pipelining parameter does. It can be very confusing to understand without digging into source code.
Refactor the core logic back into Netling.Core in such a way that it's easier to support multiple types of apps. Netling.Core should be usable on it's own for third party libs.
The Readme implies that .Net Core is the only depencendy.
However, there are Windows-Only Libraries involved.
My url is substituted with google here
/usr/local/share/dotnet/dotnet /Users/bjustice/workspace/Netling/Netling.ConsoleClient/bin/Debug/netcoreapp2.1/Netling.ConsoleClient.dll -t 10 -d 10 -c 10 https://google.com
Running 10 test @ https://google.com
Unhandled Exception: System.PlatformNotSupportedException: Socket.IOControl handles Windows-specific control codes and is not supported on this platform.
at System.Net.Sockets.SocketPal.WindowsIoctl(SafeCloseSocket handle, Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue, Int32& optionLength)
at System.Net.Sockets.Socket.IOControl(Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue)
at Netling.Core.SocketWorker.Performance.HttpWorkerClient.CheckInit() in /Users/bjustice/workspace/Netling/Netling.Core.SocketWorker/Performance/HttpWorkerClient.cs:line 39
at Netling.Core.SocketWorker.Performance.HttpWorkerClient..ctor(IPEndPoint endPoint, Uri uri) in /Users/bjustice/workspace/Netling/Netling.Core.SocketWorker/Performance/HttpWorkerClient.cs:line 22
at Netling.Core.SocketWorker.SocketWorkerJob..ctor(Int32 index, Uri uri, WorkerThreadResult workerThreadResult) in /Users/bjustice/workspace/Netling/Netling.Core.SocketWorker/SocketWorkerJob.cs:line 48
at Netling.Core.SocketWorker.SocketWorkerJob.Init(Int32 index, WorkerThreadResult workerThreadResult) in /Users/bjustice/workspace/Netling/Netling.Core.SocketWorker/SocketWorkerJob.cs:line 73
at Netling.Core.Worker.DoWork_Count(Int32 count, ConcurrentQueue`1 results, CancellationToken cancellationToken, ManualResetEventSlim resetEvent, Int32 workerIndex) in /Users/bjustice/workspace/Netling/Netling.Core/Worker.cs:line 109
at Netling.Core.Worker.<>c__DisplayClass5_1.<b__0>d.MoveNext() in /Users/bjustice/workspace/Netling/Netling.Core/Worker.cs:line 56
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ThreadPoolWorkQueue.Dispatch()
[1] 95980 abort /usr/local/share/dotnet/dotnet -t 10 -d 10 -c 10 https://google.com
Hi there,
Would it please be possible to provide a direct link to the .exe download
Looking for a .net framework version
Kind Regards
Ash D
Is it possible to view the responses of the requests?
Hi,
To maximize the load testing horse-power, can we please consider the distributed capability?
I wrote a simple distributed load testing tool in c# quite a few years ago: https://github.com/unruledboy/loadrunner which supports authentication etc. But I think your implementation is better.
I can work on that, even creating github actions, but you've to put on your account.
Maybe I can work on dirty task and then you can put a cherry on it :)
@hallatore fixed bufferPtr
is not used nor is value
used in this overload see:
https://github.com/hallatore/Netling/blob/master/Netling.Core/Utils/ByteHelpers.cs#L26
I've made a few custom changes to Netling to accept different HTTP methods, authentication tokens etc. via the console app but I've not done this via the WPF because (a) I don't use it and (b) I don't really do any WPF development.
If I created a pull request would you integrate them into the master branch or are you not really interested in handling these kinds of additional features (additional work for you to manage etc)?
How do I read the results:
rps is clear - if the median is 5 ms then I should get ~ 200 rps.
But how I calculate the number when increasing threads? For example 5 threads and 200 rps would mean the web service worked on 1000 request/second for all?
Can we have some place to set the custom headers in the UI?
I'm adding request decompression to my API (as opposed to the more common response compression) and would like to load test with GZIP'ed requests. Any chance of a simple check box or perhaps a combo-box (You may want to support other compression methods such as Deflate or Brotli) containing this option?
Should support basic scenarios.
Options:
-t <number of threads to spawn> // default: 1
-d <duration to run for in seconds> // default: 10
-p <number of requests to pipeline> // default: 1
-a // Enables thread afinity
netling.exe <options> <url>
Example usage:
netling.exe http://localhost
netling.exe -t 4 -d 60 -p 10 -a http://localhost
Example output:
<TBD>
Hi. I love your application.
I am missing authentication options though. Working on client based applications, majority of pages are protected by either username & password combination or Windows authentication.
Is there a plan to implement this?
Please consider publishing Netling as a winget
package for easy installation.
Right now any request is a success as long as we don't get a socket exception. Change this to record the amount of requests per status code and count all status codes >= 400 as errors.
A small feature request, or perhaps a todo for myself to contribute: It would be nice to see the type of error in a run if a run contains errors. If the results say "Errors"=40 then it could list the errors (type + message) as a new tab after "URLs".
I have created a Windows Docker Image for Netling, please check https://github.com/QAInsights/Netling-Docker.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.