RML Utilities and named parameters

Posted on February 5, 2008


I have been doing some benchmark/tracing for Katmai and came across the excellent RML Utilities. However I wanted to blog about a bug in this which has meant that the ostress tool couldn’t be used to  replay the trace.

ReadTrace allows you to read a trace file and output/split this into RML files (one per spid). You can then do some fancy stuff with ostress to replay these files. However,  readtrace appears to have a bug where it incorrectly parses your trace file if you have used named parameters in your rpc calls.

This is an example call from a trace file

exec up_Table_Search @tableid=1, @namedpar1 = N‘test’, @namedpar2 = 2, @namedpar3 = N‘test2’

When this is parsed by readtrace, it will produce a RML file that calls the proc like this:

exec up_Table_Search 1, ‘test’,2,‘test2’

Why is this a problem? Well, what if the order of parameters isn’t the same in the proc..

ReadTrace does not seem to cater for named parameters and products an RML file which can potentially either cause data corruption or fail to run at all if the datatypes are incompatible.

Please , someone let me know if there is a command line switch to fix this. There doesn’t seem to be.