Commit graph

80 commits

Author SHA1 Message Date
Daniel Bachhuber
d15f6ac6c9 Abstract, to avoid direct manipulation of the global 2016-10-08 06:49:28 -07:00
Daniel Bachhuber
8969a5a859 Abstract profiler to a dedicated class 2016-10-08 06:37:41 -07:00
Daniel Bachhuber
96a386def8 WordPress doesn't like this last hook added to shutdown 2016-10-08 05:56:25 -07:00
Daniel Bachhuber
e403ef86e0 Indicate callback count when profiling a stage 2016-10-07 16:18:04 -07:00
Daniel Bachhuber
c5c9179af5 Use --all flag to profile all stages 2016-10-07 15:45:48 -07:00
Daniel Bachhuber
f0ad855d0a Keep track of filter depth to appropriately handle recursion 2016-10-07 15:27:29 -07:00
Daniel Bachhuber
1162a866e4 Restore existing callbacks on the next hook
While this is less precise, doing so ensures our callbacks aren't called
twice (because they'll be called twice if they're restored to the
array).
2016-10-07 14:57:06 -07:00
Daniel Bachhuber
b352251d80 Include callback definition source when profiling hooks 2016-10-07 14:20:08 -07:00
Daniel Bachhuber
bf65cfd6f2 Don't include 'total' cell when the name column is omitted 2016-10-07 13:56:38 -07:00
Daniel Bachhuber
0e9528cdcc Support profiling arbitrary file execution 2016-10-04 14:38:12 -07:00
Daniel Bachhuber
8a29fd7e57 Support profiling the shutdown hook 2016-10-04 14:10:27 -07:00
Daniel Bachhuber
c206a27eea Use wp profile eval to profile arbitrary code execution 2016-10-04 12:57:10 -07:00
Daniel Bachhuber
ee16b7982a Trailingslash provided URL to avoid canonical redirect 2016-10-04 07:18:01 -07:00
Daniel Bachhuber
87b192afa3 Regenerate README for command split 2016-10-04 06:49:18 -07:00
Daniel Bachhuber
b22d0f85c7 Split wp profile into wp profile stage and wp profile hook 2016-10-04 06:47:01 -07:00
Daniel Bachhuber
290b7ff1a0 Ensure last callback is extremely late 2016-09-28 05:27:58 -07:00
Daniel Bachhuber
b6c5ddb2a5 Fix incorrect variable 2016-09-28 05:12:54 -07:00
Daniel Bachhuber
59579ccdea Properly handle an unset $wp_filter 2016-09-27 08:10:41 -07:00
Daniel Bachhuber
7721de219e Drop method that's no longer used 2016-09-27 08:01:12 -07:00
Daniel Bachhuber
e105a5490c Take a more durable approach to timing callbacks by wrapping each 2016-09-27 07:58:36 -07:00
Daniel Bachhuber
25e1f40ea7 Fix profiling of early hooks
When we throw an Exception to bail out of the call, this means the rest
of the bootstrap code hasn't executed, and important things aren't set
up. Instead, we need to summarize early.
2016-09-23 06:33:30 -07:00
Daniel Bachhuber
b31f5c39fa Ensure the last step to a stage is logged appropriately 2016-09-08 17:42:58 -07:00
Daniel Bachhuber
a789b3ce34 Fix bottom of the table when there aren't any items displayed
The cells need to be filled in appropriately
2016-09-08 06:15:10 -07:00
Daniel Bachhuber
440a13b7ff Catch hook Exceptions incrementally
This permits our output buffering to work as expected.
2016-09-08 06:02:48 -07:00
Daniel Bachhuber
5953df52c2 Bail early when there aren't any hook callbacks to run 2016-09-08 05:43:42 -07:00
Daniel Bachhuber
e32a5653cd Register some basic hooks for the template stage 2016-08-30 06:57:55 -07:00
Daniel Bachhuber
c041dc3839 Fix error notice when SAVEQUERIES is already defined
If `SAVEQUERIES` is defined as false, then we need to bail, as query
profiling won't work.
2016-08-30 05:12:48 -07:00
Daniel Bachhuber
e50fe5ed2d Add installing and support details to README 2016-08-29 07:20:58 -07:00
Daniel Bachhuber
55d4ef7b14 Add a description as to what this command is about 2016-08-29 06:51:40 -07:00
Daniel Bachhuber
ebdd75820d Rename scopes to stages 2016-08-27 07:05:35 -07:00
Daniel Bachhuber
a356003db9 Accurately display total percentages 2016-08-26 15:20:46 -07:00
Daniel Bachhuber
7a62f86549 Array values no longer exist 2016-08-26 15:00:42 -07:00
Daniel Bachhuber
f376dcf9d3 Display cache ratio first 2016-08-26 14:58:37 -07:00
Daniel Bachhuber
ce22a986dc Don't render a cache ratio when there were no hits or misses 2016-08-26 14:58:14 -07:00
Daniel Bachhuber
cc26b83877 Break apart logger headers 2016-08-26 13:19:09 -07:00
Daniel Bachhuber
8397304974 Collapse the execution_time heading 2016-08-26 13:00:32 -07:00
Daniel Bachhuber
87ed8b0b76 Convert hooks to use the logger 2016-08-26 09:57:28 -07:00
Daniel Bachhuber
316a39a0d2 Set some scope hooks for the main query 2016-08-26 09:41:12 -07:00
Daniel Bachhuber
a0bf59ae29 Make sure this logger is started 2016-08-26 09:37:41 -07:00
Daniel Bachhuber
dc8f84d28e Merge pull request #31 from runcommand/convert-scope-logger
Convert scopes to logger format
2016-08-26 09:34:29 -07:00
Daniel Bachhuber
db48754306 Merge pull request #30 from runcommand/fix-cache-hit-miss
Fix cache hit / miss ratio
2016-08-26 09:34:04 -07:00
Daniel Bachhuber
c4cd8ba7bf Set up the pseudo hooks too 2016-08-26 09:32:14 -07:00
Daniel Bachhuber
59b24ff04e Merge pull request #29 from runcommand/hook-count
Count all hook calls, regardless of whether we're in a current hook
2016-08-26 09:21:48 -07:00
Daniel Bachhuber
ddc5dd0faf Fix cache hit / miss ratio 2016-08-26 09:20:40 -07:00
Daniel Bachhuber
8b21576287 First pass at converting scopes to logger format 2016-08-26 09:20:19 -07:00
Daniel Bachhuber
996b5dc685 Count all hook calls, regardless of whether we're in a current hook 2016-08-26 09:06:49 -07:00
Daniel Bachhuber
257c7a40ef Percentages for the cache ratio 2016-08-26 09:04:20 -07:00
Daniel Bachhuber
b5bac6b2fe Capture cache hit / miss ratio 2016-08-26 09:00:11 -07:00
Daniel Bachhuber
aff0a95333 Create a smaller chart by collapsing fields 2016-08-26 08:46:22 -07:00
Daniel Bachhuber
c1319d704b Log request count and time 2016-08-26 08:26:42 -07:00