Hello. I'm your host Brian Chavez (twitter). Havoc is a collection of dangerous code that wreck havoc in .NET applications and the operating system for chaos-engineering. Havoc is built on Bogus generator fake data generator for .NET.
Havoc can help you stress test your .NET applications under various load conditions, simulation, fault and failure-injection scenarios. If you like Havoc star ⭐ the repository and show your friends! 😄 💫 💪
Nuget Package Havoc
Install-Package HavocMinimum Requirements: .NET Standard 2.0 or .NET Framework 4.0.
Legend: ❌ - Not Implemented Yet.
CpuStress- Saturate the CPU with excessive computational work.- ❌
ContextSwitching- Create a high amount of thread context switching.
Process- ❌
MassDeadlock- Create a massive mount of deadlocked threads. MassThread- Create a massive amount of threads in a process.FileOpenHandles- Excessively create large amount of open file handles.ThreadPoolStarvation- Create a situation where the thead pool is starved.ThreadPoolChaos- Keeps reference to thread pool threads, then later callsAbort()randomly causing thread pool threads to randomly abort executing code.ProcessExit- CallsEnvironment.FailFastand terminates the current running process immediately.
- ❌
DiskCachedWrites- Write as fast as possible using the same data to disk.- ❌
CachedReads- Read as fast as possible reading the same data on disk. - ❌
RandomWrites- Write random data to disk as fast as possible. - ❌
RandomReads- Read random data on disk as fast as possible. - ❌
RandomIO- Random reads and writes as fast as possible. - ❌
CachedIO- Cached reads and writes as fast as possible.
MemoryMemoryLeak- Create a slow memory leak situation.OutOfMemory- Excessive memory allocation that causesOutOfMemoryException.StackOverflow- Generate a stack overflow exception.- ❌
ExcessiveGC- Create a work load that causes excessive amounts of GC pauses. - ❌
MemoryCorruption- Reflects into object and manipulates private values. - ❌
DotNetFrameworkCorruption- Static values in the .NET Framework are manipulated at runtime with various out of range values that can cause problems if calling code is invoked.
NetworkLocalTcpPortExhaustionAsync- Exhaust the number of available TCP/IP ports on the local operating system.- ❌
TcpConnectionExhaustion- Create a massive amount of TCP/IP connections to a given host. - ❌
TcpSend- Sends TCP data as fast as possible saturating a TCP link with random data. - ❌
UdpSend- Send UDP data as fast as possible saturating UDP packets with random data.
Os- ❌
WaitHandles- Create a massive amount of wait handles registered in the operating system. MassMutex- Register a massive amount of handles in the operating system.MassSystemTimer- Create massive amounts ofSystem.Timers.Timerthat fire at random times.- ❌
Processes- Create a massive amount of processes in the operating system.
- ❌
Windows- ❌
BlueScreen- Cause a blue screen kernel bug check.
- ❌
Dangerous- ❌
DiskCorruption- Randomly modify executing assembly and reference assemblies. DiskFull- Continuously fill the disk until there is no free space left.WriteEicar- Write an EICAR test string to disk that will cause an anti-virus scanners to trigger.WriteEicarMany- Write an anti-virus test string to a folder on disk, creating as many Eicar files as possible. The directory will be filled with random file names and their contents with the Eicar test value.
- ❌