We're running Dynatrace 6.5.3. On one of our SQL database queries, the bind value contains the contents of an IN list, with long numeric values. An IN list allows up to 1000 entries (Oracle database). I don't think we're coming close to that limit, but It looks like Dynatrace is chopping the value off at 500 characters. Is there somewhere I can increase this length? We want this full value so our DB Team can duplicate a performance issue we're experiencing.
Thank you, Mike G.
Solved! Go to Solution.
The default max length is indeed 512 characters. You can change it in the properties of the JDBC sensor configuration. You get to the sensor configuration by opening the system profile and expanding the agent tier in question.
Thanks for the response, Mike. However, I've already increased that value ("Maximum SQL Command capture length") to 2048. However, as I understand it, I believe this value affects the SQL statement and not the bind value length. I'm guessing the bind value max length is a different setting (which appears to be 500, not 512), and am concerned that it's not able to be increased. (Fingers crossed.)
since dt 6.1 we have an agent option called "optionJDBCBindValuesMaxLengthJava" which by default is 500. Try to set it to a higher value by enabling debug mode (Ctrl+Shift+F9), going to "Agent Mapping", clicking Debug... and adding the option to the "Agent Options" tab. Note that this affects all the bind values for this agent group.
In general, larger strings mean more agent memory consumption (in extreme cases, this could affect your application). Best regards,
As per documentation the SQL string, to a maximum of 512 characters by default.
As @ Peter said for the other database aggregations you can use the debug mode to configure.