Understanding mini-profiler output `Executing action: show`

In between SQL statements I’m seeing Executing action: show — XX.XX ms

What exactly does do the Executing action: show times mean?

In a MySQL client you might see two times a “duration” (execution time) “fetch” (how long the data took to transfer over the wire).

The “show” time doesn’t seem to match “duration” or “fetch” in MySQL terms.

Sometimes “show” is many times larger than the sum of the previous queries so it would be good to understand what exactly is being done here.

Thanks!

2 Likes

Do ?pp=flamegraph to get a full breakdown

Usually time outside of SQL is in Active Record and ranges from 30% on fast machines to 70% on slow machines for something like the topic page, depending on a pile of factors

3 Likes

Adding ?pp=flamegraph is “interesting”, not sure how this helps me understand a specific “show” that has already occurred.

If I spot a long “show” is there a way to see a flame graph of that specific one?

I can’t build a time machine :slight_smile: but if you repeat the same GET request with ?pp=flamegraph it will drill into what happens, in general performance is close enough for repeated requests.

If you get an outlier not much you can do.

2 Likes