Daniel Bachhuber
16f905b597
Use --hook[=<hook>]
to profile all hooks, or callbacks to spec hook
2016-11-14 06:30:19 -08:00
Daniel Bachhuber
0f6dee25b5
Add an inline example for wp profile stage
2016-11-03 07:18:24 -07:00
Daniel Bachhuber
e74a9487d9
Support for profiling wp_loaded:after
2016-10-26 06:54:43 -07:00
Daniel Bachhuber
0ca0cf77a0
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
60ae6e4490
Use an explicit flag to indicate when the total should be displayed
2016-10-26 06:38:17 -07:00
Daniel Bachhuber
c295a28ea1
Ensure tick_callback
is nullified when ignoring a callback
2016-10-26 06:29:07 -07:00
Daniel Bachhuber
2b57115c55
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
4aef374308
Use --spotlight
to filter zero-ish results from the set
2016-10-26 05:40:34 -07:00
Daniel Bachhuber
b9ea658b7e
Disable opcode cache when using register_tick_function()
2016-10-19 18:14:28 -07:00
Daniel Bachhuber
922bab3f77
Merge pull request #104 from runcommand/clarify-fiels
...
Clarify the `--fields` argument
2016-10-19 05:49:37 -07:00
Daniel Bachhuber
75bb6f6c50
Clarify the --fields
argument
2016-10-19 05:27:31 -07:00
Daniel Bachhuber
8ef779f8cd
Start profiling right away when profiling muplugins_loaded:before
2016-10-19 04:56:53 -07:00
Daniel Bachhuber
d07b98046d
Mention that the hook needs to fire in order to profile it
2016-10-12 05:01:32 -07:00
Daniel Bachhuber
040a9fa7b3
Shorten the code location at the point of rendering the loggers
2016-10-09 16:15:16 -07:00
Daniel Bachhuber
76fb50b5c1
Use more precise hooks for profiling intermediate stages
2016-10-09 15:43:02 -07:00
Daniel Bachhuber
870b947fd2
Reset tick callback after we've completed profiling
2016-10-09 10:45:38 -07:00
Daniel Bachhuber
7729a11118
First pass at profiling intermediate stages
2016-10-09 10:33:48 -07:00
Daniel Bachhuber
49f9159ff2
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
a553050462
Use --all
to profile callbacks on all hooks
2016-10-08 16:18:48 -07:00
Daniel Bachhuber
35390961eb
Keep track of recursion in a more precise manner
2016-10-08 16:02:46 -07:00
Daniel Bachhuber
828f7d618e
Omit <hook>
to profile all called hooks
2016-10-08 07:27:46 -07:00
Daniel Bachhuber
da5e2e1b25
Fully resolve ABSPATH
2016-10-08 07:00:05 -07:00
Daniel Bachhuber
4256195368
Abstract, to avoid direct manipulation of the global
2016-10-08 06:49:28 -07:00
Daniel Bachhuber
2ea5138f08
Abstract profiler to a dedicated class
2016-10-08 06:37:41 -07:00
Daniel Bachhuber
ff802e8de9
WordPress doesn't like this last hook added to shutdown
2016-10-08 05:56:25 -07:00
Daniel Bachhuber
7be192206e
Indicate callback count when profiling a stage
2016-10-07 16:18:04 -07:00
Daniel Bachhuber
c24c302f4f
Use --all flag to profile all stages
2016-10-07 15:45:48 -07:00
Daniel Bachhuber
5d4d6450ce
Keep track of filter depth to appropriately handle recursion
2016-10-07 15:27:29 -07:00
Daniel Bachhuber
5a3cffcd79
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
99914b71b2
Include callback definition source when profiling hooks
2016-10-07 14:20:08 -07:00
Daniel Bachhuber
be24080cb2
Don't include 'total' cell when the name column is omitted
2016-10-07 13:56:38 -07:00
Daniel Bachhuber
6572e96664
Support profiling arbitrary file execution
2016-10-04 14:38:12 -07:00
Daniel Bachhuber
072d80e2d6
Support profiling the shutdown
hook
2016-10-04 14:10:27 -07:00
Daniel Bachhuber
3ff6ba0229
Use wp profile eval
to profile arbitrary code execution
2016-10-04 12:57:10 -07:00
Daniel Bachhuber
781db99ed7
Trailingslash provided URL to avoid canonical redirect
2016-10-04 07:18:01 -07:00
Daniel Bachhuber
767d9cb38c
Regenerate README for command split
2016-10-04 06:49:18 -07:00
Daniel Bachhuber
7e05977968
Split wp profile
into wp profile stage
and wp profile hook
2016-10-04 06:47:01 -07:00
Daniel Bachhuber
98c92bca7c
Ensure last callback is extremely late
2016-09-28 05:27:58 -07:00
Daniel Bachhuber
89ffa3a8cb
Fix incorrect variable
2016-09-28 05:12:54 -07:00
Daniel Bachhuber
f2960d7eab
Properly handle an unset $wp_filter
2016-09-27 08:10:41 -07:00
Daniel Bachhuber
024142a69a
Drop method that's no longer used
2016-09-27 08:01:12 -07:00
Daniel Bachhuber
f114b404e1
Take a more durable approach to timing callbacks by wrapping each
2016-09-27 07:58:36 -07:00
Daniel Bachhuber
b991373784
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
033d53aaaf
Ensure the last step to a stage is logged appropriately
2016-09-08 17:42:58 -07:00
Daniel Bachhuber
bdf94d8b1f
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
c1d7639e9b
Catch hook Exceptions incrementally
...
This permits our output buffering to work as expected.
2016-09-08 06:02:48 -07:00
Daniel Bachhuber
f548144ab2
Bail early when there aren't any hook callbacks to run
2016-09-08 05:43:42 -07:00
Daniel Bachhuber
5a3748b62b
Register some basic hooks for the template stage
2016-08-30 06:57:55 -07:00
Daniel Bachhuber
7a00bd3938
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
f34f47f4db
Add installing and support details to README
2016-08-29 07:20:58 -07:00