I am looking for a view that lists all executions of a specific SQL during a certain time frame.
I have seen a almost similar question in Is it possible to list all SQLs directly but this is not what I am searching for as results are aggregated in this dashboard.
I need to list all execution of a single statement (e.g. Select * from XY) to find out, at exactly which time this statement took much longer then expected (factor 1Mio) .
Is this possible with Dynatrace - what steps do I have to perform?
I can't think of a way to list out every single individual query in a table. Although the Performance Warehouse aggregates data points to 1 minute after an hour, I think your best bet would be to create a "Database Time" measure for the query you're interested in. Then, you can chart that measure over time and see when the response time spiked (to the minute).
Hi Brett, thanks for your recommendation, I have 2 questions about it:
Is there any chance to apply this retrospectively?
Do you have experience of the impact (memory/cpu) if I simple record all SQL that contains "SELECT" ?
Thanks for your help so far!
When you place a sensor, it is only future-facing. Technically, if you want to review a certain timeframe, you can place the sensor, take a session store of the timeframe you want to re-analyze, and then process configuration changes. There's not a way to retroactively create this measure for all historic data. This process will essentially reprocesses that session store and then activates that measure. Let me know if you have questions how to complete this.
I do not have experience with this exact request, but the DB Time measure would write an entry to the PWH for each SQL Select (in your case) for the time it took to process that statement. I can imagine that tracking anything with SELECT is going to be a huge list, so it may actually impact the size of your DB and the write speed (imagine you are adding another 1000 writes/min (in a small environment)).