Daniel Bachhuber
bb64f248f9
Support for profiling wp_loaded:after
2016-10-26 06:54:43 -07:00
Daniel Bachhuber
c2268124f4
Merge pull request #109 from runcommand/round-time-no-name-column
...
Ensure time is rounded when there's no name column present
2016-10-26 06:53:55 -07:00
Daniel Bachhuber
64afe65175
Use an explicit flag to indicate when the total should be displayed
2016-10-26 06:38:17 -07:00
Daniel Bachhuber
d6f4fc28f2
Ensure tick_callback
is nullified when ignoring a callback
2016-10-26 06:29:07 -07:00
Daniel Bachhuber
199b515b73
Ensure time is rounded when there's no name column present
...
Also drops the total footer when there's only one item displayed
2016-10-26 06:17:12 -07:00
Daniel Bachhuber
c95664f0b6
Use --spotlight
to filter zero-ish results from the set
2016-10-26 05:40:34 -07:00
Daniel Bachhuber
85d1c1debf
Disable opcode cache when using register_tick_function()
2016-10-19 18:14:28 -07:00
Daniel Bachhuber
8ac705fc1c
Merge pull request #104 from runcommand/clarify-fiels
...
Clarify the `--fields` argument
2016-10-19 05:49:37 -07:00
Daniel Bachhuber
20c3b66323
Clarify the --fields
argument
2016-10-19 05:27:31 -07:00
Daniel Bachhuber
6a2052244a
Start profiling right away when profiling muplugins_loaded:before
2016-10-19 04:56:53 -07:00
Daniel Bachhuber
54ffc02ed5
Mention that the hook needs to fire in order to profile it
2016-10-12 05:01:32 -07:00
Daniel Bachhuber
0989767e2e
Shorten the code location at the point of rendering the loggers
2016-10-09 16:15:16 -07:00
Daniel Bachhuber
0a365862d3
Use more precise hooks for profiling intermediate stages
2016-10-09 15:43:02 -07:00
Daniel Bachhuber
e6a05be838
Reset tick callback after we've completed profiling
2016-10-09 10:45:38 -07:00
Daniel Bachhuber
7bb69131f2
First pass at profiling intermediate stages
2016-10-09 10:33:48 -07:00
Daniel Bachhuber
944696431a
Put names to the intermediate stages
...
For the most part, it's `<hook>:before`, except when it's the last hook
in the sequence.
2016-10-09 09:05:27 -07:00
Daniel Bachhuber
178e0454b6
Use --all
to profile callbacks on all hooks
2016-10-08 16:18:48 -07:00
Daniel Bachhuber
5f2c0f52cc
Keep track of recursion in a more precise manner
2016-10-08 16:02:46 -07:00
Daniel Bachhuber
4e6cc627cf
Omit <hook>
to profile all called hooks
2016-10-08 07:27:46 -07:00
Daniel Bachhuber
8af2db1892
Fully resolve ABSPATH
2016-10-08 07:00:05 -07:00
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