Open schnorea opened 3 months ago
Hi, this looks like a very tricky issue.
I never have tried to make WorkloadTools compile and run under Mono. Seems to me that System.Runtime.Serialization.FormatterServices.GetUninitializedObject(type);
is implementation dependent. I don't think I can add much to your analysis, except that the exception is happening outside my code, probably in native code.
Sorry, I wish I could help you but this is outside my area of expertise
I appreciate the reply. I'm not as strong in C# either. I might take a look at creating a config file parser that is simpler when I get some time.
Another question: I have read alot about WorkloadTool and it seems like its can keep up with pretty high transacation rates. Any idea of the highest rate recorded to date might be?
Thank you
Hi, sorry for the delay, I got a few health issues. I honestly don't know. I have been told it managed to capture the workload on servers with 20K batches per second. I have experienced myself over 3K batches replayed per second.
I'm trying to run the commandline tool
SqlWorkload.exe
in mono in a docker container but I am getting an error when the Listener is getting instanced.Process:
WorkloadTools.sln
so theSqlWorkload
andWorkloadTools
projects are the only ones in the sln file.nuget restore
msbuild /p:Configuration=Debug WorkloadTools.sln
it compiles to x64mono --debug SqlWorkload.exe
SqlWorkload.json
to print help screenSqlWorkload.json
file below, prints out the exception/backtrace below.SqlWorkload.json
Error message
In a previous attempt at debugging the issue I put in print statements to determine where things went sideways and what the type was that it was not able to instance.
The source seems to be at the
p = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(type);
line in theModelConverter.cs
file as seen below.The type it was attempting to get (and seems to fail at) was
WorkloadTools.WorkloadListener
. It did fine with the first pass were it got theWorkloadTools.WorkloadController
.I verified the DB could be reached via the connection string I provided (the one above is modified) using
sqlcmd
from a docker container so I am pretty sure that works. Hunting around for what setup would causeGetUninitializedObject
to fail didn't turn up anything.Any ideas what might cause this would be appreciated.