NAME ^

Parrot::Configure::Trace - Trace development of Parrot::Configure object through the configuration steps

SYNOPSIS ^

When calling perl Configure.pl:

    $ perl Configure.pl --configure_trace

After configuration has completed:

    use Parrot::Configure::Trace;

    $obj = Parrot::Configure::Trace->new();

    $steps_list = $obj->list_steps();

    $steps_index = $obj->index_steps();

    $attr = $obj->trace_options_c( {
        attr        => 'some_attr',
        verbose     => 1,               # optional
    } );

    $attr = $obj->trace_options_triggers( {
        trig        => 'some_trig',
        verbose     => 1,               # optional
    } );

    $attr = $obj->trace_data_c( {
        attr        => 'some_attr',
        verbose     => 1,               # optional
    } );

    $list_diff_steps = $obj->diff_data_c( {
        attr        => 'some_attr',
    } );

    $attr = $obj->trace_data_triggers( {
        trig        => 'some_trig',
        verbose     => 1,               # optional
    } );

    $state = $obj->get_state_at_step($step_no);

    $state = $obj->get_state_at_step('some::step');

DESCRIPTION ^

This module provides ways to trace the evolution of the data structure within the Parrot::Configure object over the various steps in the configuration process. An understanding of this data structure's development may be useful to Parrot developers working on the configuration process or its results.

To make use of Parrot::Configure::Trace's methods, first configure with the --configure_trace option. As configuration proceeds through what are currently 56 individual steps, the state of the Parrot::Configuration object is recorded in a Perl array reference. That array ref is stored on disk via the Storable module in a file called .configure_trace.sto found in the top-level of your Parrot sandbox directory.

Once that storable file has been created, you can write programs which retrieve its data into a Parrot::Configure::Trace object and then call methods on that object.

METHODS ^

new() ^

    $obj = Parrot::Configure::Trace->new();

list_steps() ^

    $steps_list = $obj->list_steps();

index_steps() ^

    $steps_index = $obj->index_steps();

trace_options_c() ^

trace_data_triggers() ^

trace_data_c() ^

diff_data_c() ^

trace_data_triggers() ^

get_state_at_step() ^

AUTHOR ^

James E Keenan (jkeenan@cpan.org)

SEE ALSO ^

Parrot::Configure, Parrot::Configure::Options, Configure.pl.


parrot