Skip to content

Releases: spaghettidba/WorkloadTools

1.7.1

06 Dec 15:51
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.7.0...v1.7.1

v1.7.0

23 Nov 08:01
Compare
Choose a tag to compare
v1.7.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v.1.6.5...v1.7.0

v1.6.5

26 Oct 07:51
Compare
Choose a tag to compare
v1.6.5 Pre-release
Pre-release
  • Many performance and replay enhancements by @a-teece.
  • New setup build for msi and exe.

Regex are sorcery

28 Sep 10:45
Compare
Choose a tag to compare

Bug in a regex in SqlNormalizer

The future is flawed

20 Sep 15:55
Compare
Choose a tag to compare
  • Whoops! Corrected a bug in WorkloadSummary

Back to the Future

14 Sep 11:16
2d9cbb2
Compare
Choose a tag to compare

Incorporating many changes from @mcflyamorim (thanks man!)

  • Use sp_reset_connection RPC events to control connection pooling

  • Login event is also captured by default to be able to identify physical (non-pooled) connections and properly close/refresh the connection.
    This improvement should reduce the number of failed events in a replay.

  • Capture sql_batch_starting and rpc_starting commands to be able to run the commands in the correct order and preserve executions that may take more time than the workload record.

  • Some commands may not be possible to replay, hence they are skipped. An example is the insert bulk command.

  • Adds the ability to record a WorkloadSummary in addition to WorkloadDetails. Writing data to each table can be controlled with the properties WriteDetail and WriteSummary in AnalysisConsumer

Long time no see

20 Jun 09:24
Compare
Choose a tag to compare
Long time no see Pre-release
Pre-release

Pre release 1.5.18

You can dust it off and try again

27 Oct 14:16
Compare
Choose a tag to compare

The replay consumer now supports two properties to retry the same command multiple times when it times out (maybe it's just some cold cache, give it another go) or fails for any other reason.

  • FailRetryCount
  • TimeoutRetryCount

Set this to a any positive number to retry the command that many times.

Serial Killer

08 Oct 09:20
Compare
Choose a tag to compare

SqlWorkload can now replay workloads in Serial mode: all the events can be executed on a single thread.
This is particularly useful when replaying a workload to catpure regressions in migration projects: you're not really interested in mimicking the source workload closely, but all that you want is that all queries are run against the target SQL Server, so that you can capture the execution plans with Query Store and the execution statistics with WorkloadTools.
The property that controls this behavior is ReplayConsumer.ThreadingMode and it accepts 4 possible values:

  • 1 - ThreadPools
  • 2 - Tasks
  • 3 - WorkerTask
  • 4 - Serial

The default is 3 (WorkerTask), but you can use the other multithreaded implementations if you prefer, even if they are not as stable as the WorkerTask. If you want to use a single threaded implementation you can use 4 (Serial).

This makes sense when working with a FileWorkloadListener, but it makes no sense when working with the other listeners, especially for a real-time replay. You also probalby want to disable SynchronizationMode in the file listener.

Example:

{
    "Controller": {

        "Listener":
        {
            "__type": "FileWorkloadListener",
            "Source": "c:\\temp\\capture.sqlite",
            "SynchronizationMode": false // you probably want to disable synchronization mode in this case
        },

        "Consumers":
        [
            {
                "__type": "ReplayConsumer",
                "ConnectionInfo": 
                {
                    "ServerName": "(local)",
                    "DatabaseName": "test"
                },
                "ThreadingMode": 4 // Serial synchronization
            }
        ]
    }
}

v1.5.15

07 Oct 09:51
3bb890f
Compare
Choose a tag to compare
v1.5.15 Pre-release
Pre-release
untagged-b00a07e50f59f28b07a4

Update README.md