All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Get null return value from ExecutionContext caused an exception
- Updated to .NET10.0
- Updated dependencies to latest versions
- Benchmarks can be written in a class with the Methods to benchmark marked with the help of attributes.
- Added a new Stack (ContextStack) that is run per thread for each test. The Stack can be extended with IContextMiddleware
- Get null value from ExecutionContext caused an exception
- Removed On OnStartPipeline and OnEndPipeline Benchmark because these are per profiler session and not per benchmark
- Removed deprecated Method AddCondition
- Removed deprecated Property SessionHandler
- Removed deprecated Property TaskHandler
- Removed deprecated Property AverageMilliseconds
- Removed deprecated Method Trace
- Removed deprecated Interface ITaskHandler
- ThreadNumber is emitted in the result
- Extension to log to the console
- OnStartPipeline Event that is run when starting the threads to create the IExecutionContext per Thread
- OnEndPipeline Event that is run after the pipeline per thread is finished
- Settings contain a IsWarmup flag to indicate if the run is a warmup run
- CreateContext Extensionmethod on Settings to create a new IExecutionContext based on the Settings
- Write debug log when the OnPipelineStart event gets executed
- Ensure that all threads are setup and created before the first task is run
- Added Rampup to start threads delayed
- Get from the IExecutionContext needed the Key to be lowercase
- Throughput was not calculated correctly when using multiple threads
- ThreadBehaviour to define how a thread is created
- Allow benchmarks to be run on the MainThread
- OnExecuted to run a delegate after each task run
- Trace - Edit TraceOptions as delegate
- Added IDisposable to IThreadSessionHandler
- Markdowntracer traced all data when using DetailPerThread
- ThreadBehaviour to define how a thread is created
- Allow benchmarks to be run on the MainThread
- Added IDisposable to IThreadSessionHandler
- Added Benchmarks and samples oh how to use the BenchmarkRunner
- SetDuration on BenchmarkRunner
- Factories to easily create trace metrics
- Benchmarks to test MeasureMap features
- Samples to show how to use MeasureMap
- Traces are now writen to the Logger
- Refactored Trace
- Duration is calculated from ticks
- TraceOptions uses TraceDetail enum to define the granularity of the traces
- ProfilerSettings are now passed to all elements of a session
- Benchmarks Trace throughput per second
- Customizable Tracer for Results
- Benchmarks now Trace iterartions instead of memory used
- Complete redo of the trace output
- Add ThreadId and Iteration to the Tracedetails
- Wait for all threads to end
- Changed Targetframework to netstandard2.0
- Changed from Task to full Threads
- Display more infos in the traces
- Use Stopwatch instead of DateTime.Now for more accuracy
- Set the duration that a Profilersession should run for
- Set a Interval to define the pace a task should be executed at
- Updated .NET Versions to .NetStandard 2.1 and .NET Framework 4.8