> WP Log in Browser wordpress plugin resources analysis

WP Log in Browser wordpress plugin resources analysis

Download This Plugin
Download Elegant Themes
Name WP Log in Browser
Version 0.1.2
Author Daniel Dvorkin
Rating 0
Last updated 2012-12-17 12:54:00
Downloads
551
Download Plugins Speed Test plugin for Wordpress

Home page

Delta: 0%

Post page

Delta: 0%
WP Log in Browser plugin has no negative impact on PageSpeed score.

Home page PageSpeed score has been degraded by 0%, while Post page PageSpeed score has been degraded by 0%

WP Log in Browser plugin added 38 bytes of resources to the Home page and 17 bytes of resources to the sample Post page.

WP Log in Browser plugin added 0 new host(s) to the Home page and 0 new host(s) to the sample Post page.

Great! WP Log in Browser plugin ads no tables to your Wordpress blog database.

I'm working on a nice admin screen to config auto-logging of some common things (like wp_query in pre_get_posts and wp), and some other goodies.

To log things manually, you can use:

browser()->log  ( $var, $label );
browser()->warn ( $var, $label );
browser()->info ( $var, $label );
browser()->error( $var, $label );

Also, commandas are chainable:

browser()->log( 'This is a log...' )->error( '...and this is an error' );

For example, to log all your main query's query_vars:

add_filter( 'pre_get_posts', 'log_wp_query', 10000 );

function log_wp_query( $query ) {
    if ( $query->is_main_query() )
        browser()->log( $query->query_vars, 'pre_get_posts' );

    return $query;
}

Filters

wplinb-match-wp-debug: Set to true to only log when wp_debug is true. To prevent logging when wp_debug is false:

add_filter( 'wplinb-match-wp-debug', '__return_true' );

wplinb-enabled: To disable logging completely. It takes precedence over wplinb-match-wp-debug. To disable logging:

add_filter( 'wplinb-enabled', '__return_false' );

Profiling

The plugin includes a really simple function to allow you to track execution time of different parts of your code.

browser()->timer( $key, $log = false );

The first time you call this function with a given $key (string) it will start a timer, and return false. You can start as many timers as you want, using different $key values. You can ignore the second parameter for this first call.

The second time you call this function with a given $key, it will return the ellapsed time in seconds since you started this $key timer. If you set the second parameter to true, it will also log this value to the browser.

Example 1: Sequential use, log manually.

browser()->timer( 'Mega loop' );
for ( $i = 0; $i < 1000000; $i++ ) {
    //do something
}
$time = browser()->timer( 'Mega loop' );
browser()->log( $time, 'The mega loop took:' );

Example 2: Start and end in different places, log automatically.

add_action( 'posts_selection', 'start_timer', 100 );
add_filter( 'the_posts', 'end_timer', 1, 2 );

function start_timer( $query ) {
    browser()->timer( 'Main query time' );
}

function end_timer( $posts, $query ) {
    browser()->timer( 'Main query time', true );
    return $posts;
}

This is not a good way of measuring how much time a query takes to run, it's just to illustrate how to use the timer.

In exactly the same way, you can use the function

Browser()->memory( $key, $log = false );

to measure delta of memory consumption from your first call and your second call with the same $key.

Example:

Browser()->memory( 'testing' );
$test = array();
for ( $i = 0; $i < 100; $i++ ) {
    $test[$i] = md5( rand( 1, $i ) );
}
Browser()->memory( 'testing', true );

Browser()->memory( 'testing' );
$test = array();
for ( $i = 0; $i < 10000; $i++ ) {
    $test[$i] = md5( rand( 1, $i ) );
}
Browser()->memory( 'testing', true );
Resources added by plugin to Home page/Post page in kB
Total size of resources for Home page/Post page in kB
Random Theme Tests
Minima Lite screenshot

Minima Lite

by: minima.in

16976
20%
Advertica Lite screenshot

Advertica Lite

by: tikendramaitry

59197
85%