New in v3.3.0 * Optionally traces plugin load times * Supports ad-hoc Action timing points New in v3.2.0 * Daily trace summary records contains the http response code New in v3.0.0 * All trace files are written within a user defined Trace files directory. * Tracing will not be activated if the Trace files directory is not specified or is not valid. * Supports purging of trace files from the Dashboard using a defined retention period. * The Daily Trace Summary file base name is now user defined. * Separated Trace 'shutdown' status report from Daily Trace summary. * Improvements to the [bwtrace] shortcode; moved from the oik plugin. * Improved support for tracing REST requests. * Added support for WP-CLI; initial prototype of 'wp trace' command. * Supports trace file generation logic for tracing parallel requests. * Improved support for tracing REST requests, with early detection of REST API calls * Fixes to logic broken by WordPress 4.7 * Tested: With Gutenberg * Tested: With PHP 7.2 thru' 7.4 * Tested: With WordPress 5.3 and WordPress Multi Site See also: * [bw_trace2()](https://www.oik-plugins.com/oik_api/bw_trace2) * [bw_backtrace()](https://www.oik-plugins.com/oik_api/bw_backtrace) == Upgrade Notice == = 4.0.0 = Resolved function name conflict with ep(). Potentially this is a breaking change, hence the new major version. = 3.5.0 = Update for initial support for reporing PHP 8.4's planned end of life = 3.4.7 = Reconciles the bobbfunc shared library which was changed for a security fix to the oik plugin. = 3.4.6 = Reconciles the bobbfunc shared library which was changed for a security fix to the oik plugin. = 3.4.5 = Update for support for PHP 8.3 = 3.4.4 = Fixes a problem with PHP 8.2 = 3.4.3 = Fixes a problem when mu-plugins folder is not present. = 3.4.2 = Now supports PHP 8.1 and PHP 8.2. = 3.4.1 = Upgrade for improved detection of when not to write the trace summary output. Tested with WordPress 6.3 = 3.4.0 = Update for the experimental performance trace and front end trace file links options. = 3.3.1 = Update for minor improvements. = 3.3.0 = Update for Action timing points and plugin load timings. = 3.2.2 = Tested with WordPress 5.8 = 3.2.1 = Tested with PHP 8.0 = 3.2.0 = Update for http response code in the daily trace summary records. = 3.1.0 = Update for improved reporting of saved queries. Tested with WordPress 5.6-beta4 and PHP 7.4. = 3.0.0 = Major update to support tracing of browser requests, AJAX, REST and CLI to a trace files directory. Tested with WordPress 5.3, PHP 7.3 and PHP 7.4. = 3.0.0-RC2 = Many more issues fixed. Tested with WordPress 5.3 = 3.0.0-RC1 = Upgrade for PHP 7.3 support = 3.0.0-beta-20190404 = One-off package for EBPS - the British Fern Society = 3.0.0-alpha-20181009 = Upgrade for better reporting of client IP addresses = 3.0.0-alpha-20180525 = Fixes for problems detected in v3.0.0-alpha-20108054 = 3.0.0-alpha-20108054 = Fixes for problems detected in v3.0.0-alpha-20180523 = 3.0.0-alpha-20180523 = Now uses a Trace files directory for storing trace output files. = 2.2.0-alpha-20180424 = Update for improved support for tracing REST requests and the WP-CLI trace command. = 2.1.1 = Upgrade for PHP 7.2 support = 2.1.1-beta-20171023 = Upgrade to ensure shared library file compatibility with oik v3.2.0-RC1 = 2.1.1-alpha.20170303 = Version used to attempt to detect changes to the PHP_SAPI constant. = 2.1.1-alpha.1124 Started adding an Information section to help assist problem determination = 2.1.0 = Tested with WordPress 4.7-RC1 and WPMS. No longer requires PHP 5.3 or higher. = 2.0.12 = Now includes prototype 'string watch' capability. Tested with WordPress 4.5.2 and WordPress MultiSite = 2.0.11 = Upgrade for additional fields in the daily summary log. = 2.0.10 = Fixes problem where tracing was being performed when the specific IP did not match = 2.0.9 = Tested with WordPress 4.4 and WordPress MultiSite = 2.0.8 = Upgrade for ad hoc debug backtracing = 2.0.7 = Upgrade for improved support for AJAX requests = 2.0.6 = Now supports user selected action hook tracing * "Other hooks to trace", * "Filter results to trace" * "Trace the global post object" * "Trace attached hook functions" Added BW_TRACE_VERBOSE ( 64 ); an even higher level than BW_TRACE_DEBUG ( 32 ). = 2.0.5 = Now supports multiple trace levels. = 2.0.4 = Upgrade to use 'Error, Warning and Notice' detection in output buffered situations. = 2.0.3 = Upgrade for improved deprecated logic support and information related to Error, Warning and Notice type messages = 2.0.2 = Use to find the cause of those pesky "Deprecated constructor" messages = 2.0.1 = Improved response to "oik_query_libs" = 2.0.0 = Now works as a standalone plugin. Prior to upgrading oik-bwtrace please deactivate it and upgrade the oik base plugin to 2.6-alpha.0724 or higher. = 1.28 = Now operates as a standalone plugin = 1.27 = Current filter reporting and other minor improvements = 1.26 = Improved logic for self implementation as an MU plugin = 1.25 = Improved support for action hooks and filters. Now implements itself as a Must Use (MU) plugin if action counting is selected. Also contains logic that can be activated in db.php. = 1.24 = Upgrade to get remote IP address in the summary log = 1.23 = Fixes warning message when tracing not active but action count tracing is. = 1.22 = Now outputs a single summary record for each transaction. Required for oik-plugins.com analysis = 1.21 = Now outputs summary information in comments to the page, except during AJAX processing = 1.20 = Contains a couple of minor improvements for better analysis of page loading = 1.19.0307 = This version is tested with WordPress 3.6-alpha-23627 = 1.18.1219 = This version is a standalone version from www.oik-plugins.com = 1.18.1218 = This version is a standalone version from www.oik-plugins.com = 1.18 = This version is a standalone version from www.oik-plugins.com This version matches the child plugin oik-bwtrace in oik v1.17 == Changelog == = 4.0.0 = * Changed: Update main and must use plugin versions to 4.0.0 #118 * Changed: Rename bobbfunc's ep() to bw_ep() to avoid function name conflict #118 * Tested: With WordPress 6.6.2 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.3 = 3.5.0 = * Changed: Adjust some US English strings to avoid need for translation to UK English #60 * Fixed: Cater for AJAX actions containing commas and/or quotes #90 * Fixed: Avoid Notice by checking globals are not WP Errors before comparing #115 * Fixed: Ensure bobbfunc shared library is loaded before 'shutdown' #117 * Changed: Add support for reporting PHP 8.4 EOL #116 * Tested: With WordPress 6.6.2 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.3 = 3.4.7 = * Changed: Reconcile bobbfunc shared library. * Tested: With WordPress 6.6 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.3 = 3.4.6 = * Changed: Reconcile bobbfunc shared library. * Tested: With WordPress 6.4.3 and WordPress Multisite * Tested: With WordPress 6.5-RC1 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.3 = 3.4.5 = * Changed: Support PHP 8.3 #116 * Tested: With WordPress 6.4.2 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.3 = 3.4.4 = * Fixed: Declare properties #113 * Tested: With WordPress 6.4.1 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.0, 8.1 and 8.2 = 3.4.3 = * Fixed: Caters for mu-plugins folder not being present #109 * Tested: With WordPress 6.3.1 and WordPress Multisite * Tested: With WordPress 6.4-beta3 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.0, 8.1 and 8.2 = 3.4.2 = * Changed: Restore performance trace .json files after PHPUnit tests #109 * Changed: Several changes to support PHP 8.2 #113 * Tested: With WordPress 6.3.1 and WordPress Multisite * Tested: With WordPress 6.4-beta2 and WordPress Multisite * Tested: With PHPUnit 9.6 * Tested: With PHP 8.0, 8.1 and 8.2 = 3.4.1 = * Changed: Improve bw_backtrace output for parameters which are null #112 * Changed: Add bw_trace_check_content_type_header(). Use static $ok in bw_trace_ok_to_echo() #107 #78 * Changed: Update shared libraries used by oik v4.9.0 * Tested: With WordPress 6.3 and WordPress Multi Site * Tested: With PHPUnit 9 * Tested: With PHP 8.0 = 3.4.0 = * Changed: Previous change history moved to changelog.txt * Added: Added display trace file links option #110 * Changed: Reconcile shared libraries * Fixed: Avoid Fatal at shutdown for heartbeat requests not being traced #109 * Added: Experiment with only tracing scalar data when performance tracing #109 * Added: Load options from JSON files if available #109 * Added: Support tracing to memory when performance_trace is 'on' #109 * Added: Add BW_TRACE_START_TIMESTAMP timing point #109 * Fixed: Update languages. Adjust tests for newly translated strings #87 #109 * Added: Add class trace_json_options and Enable performance trace checkbox #109 * Changed: Update bw_action do page tests #87 * Tested: With WordPress 6.0.1 and WordPress Multi Site * Tested: With PHPUnit 9 * Tested: With PHP 8.0 = 3.3.1 = * Changed: Correct plugin load time heading #87 * Changed: Reconcile shared library file change * Tested: With WordPress 5.9.2 and WordPress Multi Site = 3.3.0 = * Added: Action timing points showing the first invocation of relevant hooks #87 * Added: Add Plugin load times #87 * Added: Add trace_plugin_load option to control display of Plugin load times report #87 * Changed: Set $timer_start to $_SERVER['REQUEST_TIME_FLOAT'] #87 * Changed: Add end of life for PHP 8.1 #106 * Tested: With WordPress 5.9 and WordPress Multi Site * Tested: With PHP 8.0 = 3.2.2 = * Fixed: Check get_current_screen is available before calling it,[github bobbingwide oik-bwtrace issues 104] * Fixed: Check bw_add_shortcode exists before calling it, [github bobbingwide oik-bwtrace issues 103] * Fixed: Don't write trace summary report for customizer; when request contains customize_changeset_uuid,[github bobbingwide oik-bwtrace issues 102] * Fixed: Trim trace_directory before storing.,[github bobbingwide oik-bwtrace issue 101] * Fixed: Don't write trace summary report when exporting from Visual-Form-Builder (VFB),[github bobbingwide oik-bwtrace issues 100] * Tested: With PHP 8.0 * Tested: With PHPUnit 9 * Tested: With WordPress 5.8 and WordPress Multi Site = 3.2.1 = * Changed: Set EOL date for PHP 8.0 to 2023/11/26,[github bobbingwide oik-bwtrace issues 98] * Changed: Support PHP 8.0,[github bobbingwide oik-bwtrace issues 98] * Changed: Update language files * Fixed: Avoid deprecated messages from PHP 8.0,[github bobbingwide oik-bwtrace issues 98] * Fixed: Don't call attempt_reset when there's no trace file selector instance,[github bobbingwide oik-bwtrace issues 99] * Tested: With PHP 8.0 * Tested: With PHPUnit 9 * Tested: With WordPress 5.7 and WordPress Multi Site = 3.2.0 = * Added: Add http_response_code output to daily trace summary record,[github bobbingwide oik-bwtrace issues 96] * Changed: Set trace admin block width to 100% * Changed: Updated some shared library files * Fixed: Attempt to avoid out of memory tracing large objects,[github bobbingwide oik-bwtrace issues 97] * Fixed: In bw_lazy_log() check if the $value is scalar first; avoid calling bw_trace_print_r(),[github bobbingwide oik-bwtrace issues 97] * Tested: With WordPress 5.6 and WordPress Multi Site * Tested: With Gutenberg 9.8.2 * Tested: With PHP 7.4 = 3.1.0 = * Added: Add saved queries report ordered by longest query time,[github bobbingwide oik-bwtrace issues 93] * Added: Add saved queries report grouped by calling function,[github bobbingwide oik-bwtrace issues 93] * Changed: Updated saved queries report to make it easier to load into a spreadsheet,[github bobbingwide oik-bwtrace issues 93] * Fixed: Trace 'shutdown' status report causes Gutenberg's Site Editor (beta) to fail,[github bobbingwide oik-bwtrace issues 92] * Fixed: Avoid tracing enormous objects with little value. Use wp_json_encode to see what the $result actually contains,[github bobbingwide oik-bwtrace issues 88] * Changed: Update shared library for plugin updates,[github bobbingwide oik-bwtrace issues 89] * Fixed: Trace fails if you don't complete a file name but check the Enabled checkbox,[github bobbingwide oik-bwtrace issues 85] * Tested: With WordPress 5.6-beta4 and WordPress Multi Site * Tested: With Gutenberg 9.3.0 * Tested: With PHP 7.4 = 3.0.0 = * Changed: Reintroduced logic to only trace a specific IP,[github bobbingwide oik-bwtrace issues 17] * Changed: Remove test on $_REQUEST['wc-ajax'] now that trace file generation limit logic's available,[github bobbingwide oik-bwtrace issues 49] * Changed: Document Hook count in the Daily Trace Summary file,[github bobbingwide oik-bwtrace issues 53] * Changed: Don't count BW_TRACE_INFO as a Trace error,[github bobbingwide oik-bwtrace issues 73] * Changed: Support PHP 7.4,[github bobbingwide oik-bwtrace issues 81] = 3.0.0-RC2 = * Changed: Tidy up bw_trace_http_user_agent,[github bobbingwide oik-bwtrace issues 22] * Added: Hook count in daily trace summary and trace records,[github bobbingwide oik-bwtrace issues 53] * Fixed: check for edd_action in bw_trace_oik_to_echo,[github bobbingwide oik-bwtrace issues 41] * Changed: Eliminate gob() - gobang - calls,[github bobbingwide oik-bwtrace issues 70] * Changed: Add button to purge daily trace summary files separately from other trace files,[github bobbingwide oik-bwtrace issues 71] * Changed: Remove anything to do with bwtron and bwtroff,[github bobbingwide oik-bwtrace issues 71] * Changed: Further changes to fields traced at startup,[github bobbingwide oik-bwtrace issues 72] * Changed: Add option to purge the trace file if no errors traced,[github bobbingwide oik-bwtrace issues 73] * Changed: Change bw_trace2()'s to make them BW_TRACE_ERROR level,[github bobbingwide oik-bwtrace issues 73] * Changed: Check count( $handlers ) when reporting active output buffering handlers,[github bobbingwide oik-bwtrace issues 74] * Fixed: Don't append Trace Summary when Wordfence is downloading .htaccess,[github bobbingwide oik-bwtrace issues 75] * Fixed: Add hex dump support for trace output wth helper function bw_trace_hexdump,[github bobbingwide oik-bwtrace issues 76] * Fixed: Don't echo trace summary for health check,[github bobbingwide oik-bwtrace issues 77] * Changed: Don't write trace status report when request is edd-api,[github bobbingwide oik-bwtrace issues 78] * Fixed: Add tests for PHP 7.3 end-of-life and zlib.output_compression,[github bobbingwide oik-bwtrace issues 79] * Fixed: Tested under PHPUnit 8,[github bobbingwide oik-bwtrace issues 80] * Tested: Add PHPUnit test for bw_trace_inspect_current,[github bobbingwide oik-bwtrace issues 63] * Tested: With WordPress 5.3 and WordPress Multi Site * Tested: With PHP 7.3 * Tested: With PHPUnit 8 = 3.0.0-RC1 = * Changed: No longer register [bwtron] and [bwtroff] shortcodes,[github bobbingwide oik-bwtrace issues 71] * Changed: Ignore any files in tests\bwtrace * Changed: Add end of life date for PHP 7.3 and prepare for 7.4,[github bobbingwide oik-bwtrace issues 79] * Fixed: Don't write trace status report when ...,[github bobbingwide oik-bwtrace issues 78] * Changed: Update language files,[github bobbingwide oik-bwtrace issues 69] * Changed: Simplify [bwtrace] shortcode,[github bobbingwide oik-bwtrace issues 69] * Changed: Adjust tests for bwtrace shortcode,[github bobbingwide oik-bwtrace issues 69] * Changed: Delete deprecated functions from deprecated.php,[github bobbingwide oik-bwtrace issues 69] * Changed: Update oik_trace_notes, don't call oik_trace_reset_notes,[github bobbingwide oik-bwtrace issues 71] * Changed: Start increasing robustness of bw_trace_log * Changed: Correct class trace_file_selector tests,[github bobbingwide oik-bwtrace issues 16] * Tested: Incomplete object class tracing tested elsewhere,[github bobbingwide oik-bwtrace issues 56] * Tested: Update tests for trace options page,[github bobbingwide oik-bwtrace issues 71] = 3.0.0-beta-20190404 = * Fixed: Don't write trace summary for site health check,[github bobbingwide oik-bwtrace issues 77] * Changed: Update bobbforms library file and adjust tests accordingly * Fixed: Ensure includes\oik-actions.php loaded for bwtrace_get_remote_addr call,[github bobbingwide oik-bwtrace issues 71] = 3.0.0-alpha-20181009 = * Changed: Improve logic to get the remote IP address [github bobbingwide oik-bwtrace issues 71] * Changed: Check trace levels before tracing $_SERVER [github bobbingwide oik-bwtrace issues 72] * Changed: Include list of output buffer handlers in bw_trace_print_r [github bobbingwide oik-bwtrace issues 74] = 3.0.0-alpha-20180525 = * Fixed: Problems noted with v3.0.0-alpha-20180524 [github bobbingwide oik-bwtrace issues 71] * Changed: Reconciled shared libraries; updating version numbers = 3.0.0-alpha-20180524 = * Fixed: Problems noted with v3.0.0-alpha-20180523 [github bobbingwide oik-bwtrace issues 71] = 3.0.0-alpha-20180523 = * Added: Trace files Purge capability with defined retention period [github bobbingwide oik-bwtrace issues 71] * Added: Trace files directory required before any tracing can be performed [github bobbingwide oik-bwtrace issues 71] * Changed: Improvements to the Daily Trace Summary report [github bobbingwide oik-bwtrace issues 68] * Changed: Move shortcodes from oik and add bwtrace option=logs [github bobbingwide oik-bwtrace issues 69] * Fixed: Cater for Linux file name case sensitivity on includes/class-BW-trace-controller.php * Fixed: Fix trace file reset when $this->limit is null [github bobbingwide oik-bwtrace issues 16] * Tested: With Gutenberg 2.9.0 * Tested: With PHP 7.1 and 7.2 * Tested: With WordPress 4.9.6 and 5.0-alpha and WordPress Multisite = 2.2.0-alpha-20180424 = * Added: WP-CLI support [github bobbingwide oik-bwtrace issues 54] * Added: Support trace limits by request type [github bobbingwide oik-bwtrace issues 16] * Changed: Change trace of SAVEQUERIES to verbose [github bobbingwide oik-bwtrace issues 34] * Changed: Improve support for tracing REST requests [github bobbingwide oik-bwtrace issues 67] * Changed: Improved Daily Trace Summary logic [github bobbingwide oik-bwtrace issues 68] * Changed: Pre-detect REST API calls [github bobbingwide oik-bwtrace issues 52] * Fixed: bw_trace_get_attached_hook_count not working since WordPress 4.7 [github bobbingwide oik-bwtrace issues 66] * Fixed: bw_trace_inspect_current no longer determines the current priority [github bobbingwide oik-bwtrace issues 63] * Tested: With Gutenberg 2.7.0 * Tested: With PHP 7.1 and 7.2 * Tested: With WordPress 4.9.5 and 5.0-alpha and WordPress Multsite = 2.1.1 = * Added: Display information related to WPMS installations [github bobbingwide oik-bwtrace issues 51] * Changed: 100% translatable and localizable on wordpress.org [github bobbingwide oik-bwtrace issues 60] * Changed: Convert php.net URLs into links [github bobbingwide oik-bwtrace issues 51] * Changed: Display End of Life for PHP 7.2 [github bobbingwide oik-bwtrace issues 55] * Changed: First pass at tracing $_GET and $_POST as well as $_REQUEST [github bobbingwide oik-bwtrace issues 61] * Changed: Fix Warning: Count() messages for PHP 7.2 * Changed: Logic to watch for a constant changing [github bobbingwide oik-bwtrace issues 57] * Changed: Test bw_invoke_shortcode exists even if oik-sc-help loaded [github bobbingwide oik-bwtrace issues 62] * Tested: With WordPress 4.9.1 and WordPress Multisite * Tested: With PHP 7.1 and 7.2 = 2.1.1-beta-20171023 = * Changed: Synchronized shared libraries with oik v3.2.0-RC1, * Changed: Regenerate language files for en_GB and bb_BB * Added: bw_trace_all_attached_hooks() for when problem determination gets serious * Tested: With WordPress 4.8.2 and 4.9-beta3 = 2.1.1-alpha.20170303 = * Added: Logic to limit tracing to CLI processing [github bobbingwide oik-bwtrace issues 58] * Changed: Logic to detect changes to a constant ( e.g. PHP_SAPI ) [github bobbingwide oik-bwtrace issue 57] * Changed: Further analysis in oik_yourehavingmeon() * Fixed: Catchable fatal error when tracing __PHP_Incomplete_Class [github bobbingwide oik-bwtrace issues 56] * Changed: Reduce messages produced by bw_trace_reset() [github bobbingwide oik-bwtrace issues 46] = 2.1.1-alpha.1124 = * Changed: Improve handling of temporary (random?) problems with file_exists() * Added: Add an Information section to improve problem determination [github bobbingwide oik-bwtrace issues 51] * Added: Include output_buffering and implicit_flush, EOL for PHP 7.1 [github bobbingwide oik-bwtrace issues 51] = 2.1.0 = * Changed: Add logging library functions under bw_log [github bobbingwide oik-bwtrace issues 50] * Changed: Cater for REST API v2 [github bobbingwide oik-bwtrace issues 42] * Changed: Do not enqueue jQuery when DOING_AJAX [github bobbingwide oik-bwtrace issues 47] * Changed: Improve bw_trace_error_handler output [github bobbingwide oik-bwtrace issues 44] * Changed: Make bw_trace_reset_status() more context sensitive [github bobbingwide oik-bwtrace issues 49] * Changed: Part 1 - include yyyy in the file name [github bobbingwide oik-bwtrace issues 45] * Changed: Reconcile shared libraries with oik v3.1.0 * Changed: Reduce messages produced by trace reset [github bobbingwide oik-bwtrace issue 46] * Fixed: trace shutdown sometimes can't find all the functions it needs; Wrong type of slash [github bobbingwide oik-bwtrace issues 43] * Tested: With WordPress 4.7-RC1 = 2.0.12 = * Added: 'String watch' capability [github bobbingwide oik-bwtrace issues 36] * Changed: Support tracing of nested Closures in bw_trace_obsafe_print_r() [github bobbingwide oik-bwtrace issues 28] * Changed: Improve output for saved queries [github bobbingwide oik-bwtrace issues 29] * Changed: Improve formatting of included files [github bobbingwide oik-bwtrace issues 32] * Changed: Improve formatting of hooks [github bobbingwide oik-bwtrace issues 33] * Changed: Blessed task - reduce trace output produced [github bobbingwide oik-bwtrace issues 34] * Changed: Add attached functions to hook shortcode [github bobbingwide oik-bwtrace issues 35] * Changed: Trace real memory usage [github bobbingwide oik-bwtrace issue 40] * Changed: Sync shared libraries with oik and oik-libs * Fixed: Don't call undefined c() function from bw_trace_c3() [github bobbingwide oik-bwtrace issues 37] * Fixed: bw_trace_c3() should not produce comments after "load-async-upload.php" action [github bobbingwide oik-bwtrace issues 38] * Fixed: Avoid Notice when $GLOBALS['id'] is not just a post ID [github bobbingwide oik-bwtrace issues 39] * Tested: With WordPress 4.5.2 and WordPress MultiSite = 2.0.11 = * Added: github issue 21 - Show intentions to work on issue - though not yet implemented * Fixed: github issue 19 - don't use timer_stop() * Fixed: github issue 20 - don't write trace summary output to robots.txt * Fixed: github issue 22 - Record additional information in the daily trace summary report * Fixed: github issue 23 - Support tracing of Closures and protected fields in bw_trace_obsafe_print_r() * Fixed: github issue 24 - Update bw_trace_inspect_current() with better solution * Fixed: github issue 25 - Uncaught Error: Call to undefined function bw_invoke_shortcode() * Tested: up to WordPress 4.4.2 and WordPress MultiSite = 2.0.10 = * Fixed: Tracing being performed when the specific IP does not match. github issues 17 = 2.0.9 = * Fixed: Issue github issue 15 - Handle WP_Error from oik_require_lib() in bw_trace_query_plugins * Tested: Tested with WordPress 4.4 and WordPress MultiSite = 2.0.8 = * Added: Ad hoc debug backtracing of selected hooks ( github issue 14 ) * Changed: No longer calls oik_register_plugin_server() ( github issue 13 ) * Changed: Updated readme to better reflect ad hoc tracing = 2.0.7 = * Added: Trace AJAX transactions to a separate file, if defined * Added: Control tracing of AJAX transactions * Changed: Improve setting of ABSPATH for Windows * Changed: Removed unused constants * Changed: Support trace level parameter on bw_trace() * Changed: Improve output from bw_trace_included_files() * Changed: Cater for failure to fopen() in bw_write() - store results for later * Changed: Delete some previously commented out code * Changed: bw_trace_the_post() trace level should be ALWAYS * Fixed: Issue #10 - Ad hoc tracing should allow selection of the hook priority * Fixed: Issue #11 - Re-enable the logic for the Trace enabled checkbox = 2.0.6 = * Added: Ad hoc tracing of filter functions for selected hooks ( Issue #3 ) * Added: Ad hoc tracing of parameters to selected hooks ( Issue #2 ) * Added: Ad hoc tracing of the global post object on selected hooks ( Issue #2 ) * Added: Ad hoc tracing of filter results ( Issue #6 ) * Added: Ad hoc tracing should allow selection of the hook priority ( Issue #10 ) * Added: BW_TRACE_VERBOSE ( 64 ) level, which is even more detailed than BW_TRACE_DEBUG ( 32 ) * Changed: Enhanced output from Count action hooks and filters ( Issue #7 ) * Changed: Functions traced should allow OO methods invoking trace ( Issue #8 ) * Fixed: Ensure BW_TRACE_level constants are defined ( Issue #4 ) * Fixed: Fix for problem with symlinked file's drive letters ( similar to TRAC #33265 ) * Fixed: Only trace $errcontext when tracing with BW_TRACE_VERBOSE ( Issue #5 ) * Fixed: Strings containing commas in the trace summary file should be wrapped in quotes ( Issue #9 ) = 2.0.5 = * Added: $level parameter (default BW_TRACE_ALWAYS) to the bw_trace2() and bw_backtrace() APIs * Added: Select box to choose the level of tracing * Changed: Some bw_trace2() and bw_backtrace() calls to make use of the level capability * Fixed: Problem when BW_COUNT_ON defined in wp-config.php = 2.0.4 = * Changed: Now detects when output buffering is in place and uses an alternative function to print_r() = 2.0.3 = * Added: bw_trace_error_handler() logic for Error, Warning and Notice type messages * Added: Add logic for each deprecated action or filter * Changed: Anonymize path in output from bw_trace_included_files() * Changed: Updated bw_trace_count_report() = 2.0.2 = * Changed: Now supports deprecated filters and actions * Changed: Enabled using "Trace deprecated messages" checkbox = 2.0.1 = * Changed: libs/bwtrace.php now at 2.0.1 * Changed: libs/oik-lib.php now at 0.0.2 * Changed: libs/oik_boot.php now at 3.0.0 * Changed: libs/bobbfunc.php now at 3.0.0 * Changed: libs/oik-admin.php now at 3.0.0 and uses _bw_c() instead of c() * Changed: Uses "wp_loaded" to test for shared libraries for admin logic * Changed: Implements "oik_query_libs" with priority 12, was 10 = 2.0.0 = * Changed: Summary trace record doesn't show trace file name if 0 trace records produced * Changed: Merged shared libraries with oik-libs v0.0.1 * Changed: Reversioned using semantic versioning, to reflect incompatibility with oik v2.5 * Changed: Must Use plugin also version 2.0.0 * Changed: Some docblock comment updates * Deleted: Some commented out code removed = 1.28 = * Added: Shared library files in /libs folder to enable standalone operation * Added: includes/bwtrace_actions.php to register trace action processing * Added: option to control inclusion of the current filter ( cf=aaa ) in trace records * Added: option to control the files loaded count ( F=nnn ) in trace records * Changed: Admin pages no longer display "oik documentation" or "support oik" boxes * Changed: Sequence of input fields in the oik trace options page * Changed: Some functions deleted from libs/bobbfunc.php * Changed: Some functions renamed in libs/bobbfunc.php * Changed: Trace options and action options admin pages are only available when "oik-admin" library is available * Changed: Uses bw_trace_anonymize_symlinked_file() to cater for symlinked files * Changed: admin/oik-bwaction.inc is now redundant; but not yet deleted. * Changed: oik_trace_reset_notes() checks for "oik-sc-help" library. * Deleted: oik_action_summary() * Fixed: br() does not attempt to translate null text * Tested: With WordPress and WPMS 4.2 and above. * Tested: With and without: oik-lib v0.1 and oik v2.6 = 1.27 = * Changed: current filter now shows the full tree. No longer necessary to trace the array separately * Fixed: Trace function count no longer doubly incremented. * Added: Option to report the $bw_trace_functions array at shutdown. bw_trace_functions_traced() * Changed: Sequence of action hooks invoked for 'shutdown': included files, saved queries, output buffer, functions traced, status report * Changed: Improved more docblock comments and some programming style = 1.26 = * Changed: Improved activating/de-activating of the oik-bwtrace MU plugin when BW_COUNT_ON is not defined true * Deprecated: Moved more deprecated functions and logic related to the original action tracing and logging to includes/deprecated.php * Changed: bw_lazy_trace_config_startup() no longer references BW_ACTIONS_ON nor BW_ACTIONS_RESET; deprecated constants * Changed: bw_trace_plugin_startup() loads global $bw_action_options regardless of the $bw_trace_options settings. * Changed: bw_trace_count_plugins_loaded() now uses global $bw_action_options * Changed: bw_trace_output_buffer() checks the output buffer status = 1.25 = * Added: includes/deprecated.php for deprecated functions, excluding original immediate action tracing * Changed: Dependent upon oik v2.6-alpha.0525 for .php versions of include files * Changed: Deprecated some .inc files in favour of .php files. * Changed: Moved bw_this_plugin_first() to admin/oik-bwtrace.inc * Changed: Relabelled 'Count immediate actions' to 'Count action hooks and filters' * Changed: Added options for specific action tracing functionality that was previously hardcoded * Changed: bw_summarise_actions() - deprecated; no longer called by bw_action_summary() * Changed: oik action options page rewrite; * Changed: removed the slow action trace logic. * Disabled: Disabled immediate action tracing... the last WordPress version for which this logic was supported was 3.6 * Changed: Improved some docblock comments * Added: includes/_oik-bwtrace-mu.php - implements the MU version of the plugin * Changed: Moved bw_lazy_trace_config_startup() to includes/bwtrace-config.php * Changed: bw_lazy_trace_config_startup() now supports BW_COUNT_ON constant. When true it loads the action hook and filter counting logic and 'activates' the MU version of the plugin * Changed: oik-bwtrace.php now uses oik_bwtrace_loaded() to perform startup processing = 1.24 = * Added: records the trace file name in the summary log file * Added: remote IP address included in the summary log file * Fixed: Doesn't write HTML comments for JSON or XMLRPC requests * Fixed: Doesn't write HTML comments for SiteGround cache check: sgCacheCheck * Changed: Commented out tracing of global wp_rewrite = 1.23 = * Fixed: Warning $wpdb->elapsed_query_time property missing * Changed: Documented the fields in the bwtrace.vt.mmdd log file; where vt is simply an abbreviation of value and text = 1.22 = * Added: Automatically sets SAVEQUERIES if recording the total number of queries performed * Changed: bw_trace_saved_queries() formats the output in the trace log * Changed: bw_trace_included_files() formats the output in the trace log * Fixed: bw_trace_c3() now detects "short" parameter - set for async-upload of a new file * Added: bwtrace.vt file stores summary of all activity * Added: trace action counting - with "Count immediate actions" checkbox * Added: Responds to "plugins_loaded" to start trace count logic * Added: bw_trace_wp() * Added: bw_trace_add_shutdown_actions() to defer adding actions responding to "shutdown" = 1.21 = * Added: Logic originally developed for oik-shortcodes to display summary information at shutdown * Added: Logic to trace included files: at startup and shutdown * Added: Logic to trace saved queries: at startup and shutdown * Added: Trace elapsed time - displayed after current timestamp * Added: Trace number of included files as F=nnnn * Changed: bw_lazy_backtrace() handles args which are arrays = 1.20 = * Fixed: oik action tracing is not invoked if oik action settings have not been defined * Added: Lists loaded files during shutdown processing * Changed: trace IP is trimmed on input validation * Added: Support for action trace output to be written in CSV format * Added: bw_trace_bwechos() * Added: tracing will attempt to use obsafe_print_r() instead of print_r() * Changed: Minor improvement in determining the calling function * Added: bw_trace_hook_all() for performing immediate action tracing. Makes original solution partially redundant. * Changed: bw_action_file() - minor performance improvements * Changed: bw_lazy_trace_action_immediate() also logs $arg3 = 1.19.0307 * Added official support for WordPress 3.5.1 * Added support for WordPress 3.6-alpha-23627 - there have been some minor comment changes in plugin.php = 1.18.1219 = * Added support for WordPress 3.5.1-alpha (as of 2012/12/19) = 1.18.1218.2100 * Fixed: New optional values no longer included in the action log = 1.18.1218 = * Added: Immediate action tracing helps you discover ALL the actions and filters * Added: Immediate action tracing automatically replaces wp-includes/plugin.php * Added: Trace record may includes current and peak memory usage (in bytes) * Added: Inclusion of post ID and number of queries now optional = 1.18 = * Added: Code to relocate from part of oik to a separate plugin * Added: Updates are provided from oik-plugins = up to 1.16 = * Please see the change log in oik for versions prior to 1.17