Changeset 8923568d00bddb39e34f82ee8b62152389321b77

Show
Ignore:
Timestamp:
09/15/06 17:10:25 (2 years ago)
Author:
Clément Stenac <zorglub@videolan.org>
git-committer:
Clément Stenac <zorglub@videolan.org> 1158333025 +0000
git-parent:

[f485214f09dd284cbb85674e937fbbb0a6032a2e]

git-author:
Clément Stenac <zorglub@videolan.org> 1158333025 +0000
Message:

Move stats stuff to the per-instance object

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/main.h

    rf485214 r8923568  
    4848 
    4949    module_bank_t *        p_module_bank; ///< The module bank 
    50  
    51     vlc_bool_t             b_stats;       ///< Should we collect stats 
    52     /* Timers handling */ 
    53     vlc_mutex_t            timer_lock;    ///< Lock to protect timers 
    54     int                    i_timers;      ///< Number of timers 
    55     counter_t            **pp_timers;     ///< Array of all timers 
    56  
    5750    intf_thread_t         *p_probe;       ///< Devices prober 
    5851 
     
    9992    void* ( *pf_memset ) ( void *, int, size_t ); 
    10093 
    101     /* Shared data - these structures are accessed directly from p_vlc by 
    102      * several modules */ 
     94    /* Statistics */ 
     95    vlc_bool_t             b_stats;       ///< Should we collect stats 
     96    /* Timers handling */ 
     97    vlc_mutex_t            timer_lock;    ///< Lock to protect timers 
     98    int                    i_timers;      ///< Number of timers 
     99    counter_t            **pp_timers;     ///< Array of all timers 
    103100 
    104101    /* Locks */ 
  • src/input/es_out.c

    rf485214 r8923568  
    10271027        i_delay = 0; 
    10281028 
    1029     if( p_input->p_libvlc_global->b_stats ) 
     1029    if( p_input->p_libvlc->b_stats ) 
    10301030    { 
    10311031        vlc_mutex_lock( &p_input->counters.counters_lock ); 
  • src/input/input.c

    rf485214 r8923568  
    686686#define INIT_COUNTER( p, type, compute ) p_input->counters.p_##p = \ 
    687687     stats_CounterCreate( p_input, VLC_VAR_##type, STATS_##compute); 
    688         if( p_input->p_libvlc_global->b_stats ) 
     688        if( p_input->p_libvlc->b_stats ) 
    689689        { 
    690690            INIT_COUNTER( read_bytes, INTEGER, COUNTER ); 
     
    722722                return VLC_EGENERIC; 
    723723            } 
    724             if( p_input->p_libvlc_global->b_stats ) 
     724            if( p_input->p_libvlc->b_stats ) 
    725725            { 
    726726                INIT_COUNTER( sout_sent_packets, INTEGER, COUNTER ); 
     
    11151115 
    11161116#define CL_CO( c ) stats_CounterClean( p_input->counters.p_##c ); p_input->counters.p_##c = NULL; 
    1117     if( p_input->p_libvlc_global->b_stats ) 
     1117    if( p_input->p_libvlc->b_stats ) 
    11181118    { 
    11191119        vlc_mutex_lock( &p_input->counters.counters_lock ); 
  • src/input/stream.c

    rf485214 r8923568  
    16561656        p_block = p_access->pf_block( p_access ); 
    16571657        if( pb_eof ) *pb_eof = p_access->info.b_eof; 
    1658         if( p_input &&  p_block && p_access->p_libvlc_global->b_stats ) 
     1658        if( p_input &&  p_block && p_access->p_libvlc->b_stats ) 
    16591659        { 
    16601660            vlc_object_yield( p_input ); 
  • src/libvlc.c

    rf485214 r8923568  
    715715    } 
    716716 
    717     libvlc_global.b_stats = config_GetInt( p_libvlc, "stats" ); 
    718     libvlc_global.i_timers = 0; 
    719     libvlc_global.pp_timers = NULL; 
    720     vlc_mutex_init( p_libvlc, &libvlc_global.timer_lock ); 
     717    p_libvlc->b_stats = config_GetInt( p_libvlc, "stats" ); 
     718    p_libvlc->i_timers = 0; 
     719    p_libvlc->pp_timers = NULL; 
     720    vlc_mutex_init( p_libvlc, &p_libvlc->timer_lock ); 
    721721 
    722722    /* 
  • src/misc/stats.c

    rf485214 r8923568  
    7979                    vlc_value_t val, vlc_value_t *val_new ) 
    8080{ 
    81     if( !p_this->p_libvlc_global->b_stats || !p_counter ) return VLC_EGENERIC; 
     81    if( !p_this->p_libvlc->b_stats || !p_counter ) return VLC_EGENERIC; 
    8282    return CounterUpdate( p_this, p_counter, val, val_new ); 
    8383} 
     
    9292int __stats_Get( vlc_object_t *p_this, counter_t *p_counter, vlc_value_t *val ) 
    9393{ 
    94     if( !p_this->p_libvlc_global->b_stats || !p_counter || p_counter->i_samples == 0 ) 
     94    if( !p_this->p_libvlc->b_stats || !p_counter || p_counter->i_samples == 0 ) 
    9595    { 
    9696        val->i_int = val->f_float = 0.0; 
     
    136136void stats_ComputeInputStats( input_thread_t *p_input, input_stats_t *p_stats ) 
    137137{ 
    138     if( !p_input->p_libvlc_global->b_stats ) return; 
     138    if( !p_input->p_libvlc->b_stats ) return; 
    139139 
    140140    vlc_mutex_lock( &p_input->counters.counters_lock ); 
     
    224224    int i_index; 
    225225 
    226     if( !p_obj->p_libvlc_global->b_stats ) return; 
     226    if( !p_obj->p_libvlc->b_stats ) return; 
    227227 
    228228    vlc_mutex_lock( &p_stats->lock ); 
     
    269269    int i; 
    270270    counter_t *p_counter = NULL; 
    271     if( !p_obj->p_libvlc_global->b_stats ) return; 
    272     vlc_mutex_lock( &p_obj->p_libvlc_global->timer_lock ); 
    273  
    274     for( i = 0 ; i < p_obj->p_libvlc_global->i_timers; i++ ) 
    275     { 
    276         if( p_obj->p_libvlc_global->pp_timers[i]->i_id == i_id ) 
    277         { 
    278             p_counter = p_obj->p_libvlc_global->pp_timers[i]; 
     271    if( !p_obj->p_libvlc->b_stats ) return; 
     272    vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); 
     273 
     274    for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) 
     275    { 
     276        if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) 
     277        { 
     278            p_counter = p_obj->p_libvlc->pp_timers[i]; 
    279279            break; 
    280280        } 
     
    287287        if( !p_counter ) 
    288288        { 
    289             vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     289            vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    290290            return; 
    291291        } 
    292292        p_counter->psz_name = strdup( psz_name ); 
    293293        p_counter->i_id = i_id; 
    294         INSERT_ELEM( p_obj->p_libvlc_global->pp_timers, p_obj->p_libvlc_global->i_timers, 
    295                      p_obj->p_libvlc_global->i_timers, p_counter ); 
     294        INSERT_ELEM( p_obj->p_libvlc->pp_timers, p_obj->p_libvlc->i_timers, 
     295                     p_obj->p_libvlc->i_timers, p_counter ); 
    296296 
    297297        /* 1st sample : if started: start_date, else last_time, b_started */ 
     
    309309    { 
    310310        msg_Warn( p_obj, "timer %s was already started !", psz_name ); 
    311         vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     311        vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    312312        return; 
    313313    } 
    314314    p_counter->pp_samples[0]->value.b_bool = VLC_TRUE; 
    315315    p_counter->pp_samples[0]->date = mdate(); 
    316     vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     316    vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    317317} 
    318318 
     
    321321    counter_t *p_counter = NULL; 
    322322    int i; 
    323     if( !p_obj->p_libvlc_global->b_stats ) return; 
    324     vlc_mutex_lock( &p_obj->p_libvlc_global->timer_lock ); 
    325     for( i = 0 ; i < p_obj->p_libvlc_global->i_timers; i++ ) 
    326     { 
    327         if( p_obj->p_libvlc_global->pp_timers[i]->i_id == i_id ) 
    328         { 
    329             p_counter = p_obj->p_libvlc_global->pp_timers[i]; 
     323    if( !p_obj->p_libvlc->b_stats ) return; 
     324    vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); 
     325    for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) 
     326    { 
     327        if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) 
     328        { 
     329            p_counter = p_obj->p_libvlc->pp_timers[i]; 
    330330            break; 
    331331        } 
     
    334334    { 
    335335        msg_Err( p_obj, "timer does not exist" ); 
    336         vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     336        vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    337337        return; 
    338338    } 
     
    341341    p_counter->pp_samples[0]->date = mdate() - p_counter->pp_samples[0]->date; 
    342342    p_counter->pp_samples[1]->date += p_counter->pp_samples[0]->date; 
    343     vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     343    vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    344344} 
    345345 
     
    348348    counter_t *p_counter = NULL; 
    349349    int i; 
    350     if( !p_obj->p_libvlc_global->b_stats ) return; 
    351     vlc_mutex_lock( &p_obj->p_libvlc_global->timer_lock ); 
    352     for( i = 0 ; i < p_obj->p_libvlc_global->i_timers; i++ ) 
    353     { 
    354         if( p_obj->p_libvlc_global->pp_timers[i]->i_id == i_id ) 
    355         { 
    356             p_counter = p_obj->p_libvlc_global->pp_timers[i]; 
     350    if( !p_obj->p_libvlc->b_stats ) return; 
     351    vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); 
     352    for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) 
     353    { 
     354        if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) 
     355        { 
     356            p_counter = p_obj->p_libvlc->pp_timers[i]; 
    357357            break; 
    358358        } 
    359359    } 
    360360    TimerDump( p_obj, p_counter, VLC_TRUE ); 
    361     vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     361    vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    362362} 
    363363 
     
    365365{ 
    366366    int i; 
    367     if( !p_obj->p_libvlc_global->b_stats ) return; 
    368     vlc_mutex_lock( &p_obj->p_libvlc_global->timer_lock ); 
    369     for ( i = 0 ; i< p_obj->p_libvlc_global->i_timers ; i++ ) 
    370         TimerDump( p_obj, p_obj->p_libvlc_global->pp_timers[i], VLC_FALSE ); 
    371     vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     367    if( !p_obj->p_libvlc->b_stats ) return; 
     368    vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); 
     369    for ( i = 0 ; i< p_obj->p_libvlc->i_timers ; i++ ) 
     370        TimerDump( p_obj, p_obj->p_libvlc->pp_timers[i], VLC_FALSE ); 
     371    vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    372372} 
    373373 
     
    375375{ 
    376376    int i; 
    377     vlc_mutex_lock( &p_obj->p_libvlc_global->timer_lock ); 
    378     for ( i = p_obj->p_libvlc_global->i_timers -1 ; i >= 0; i-- ) 
    379     { 
    380         counter_t *p_counter = p_obj->p_libvlc_global->pp_timers[i]; 
    381         REMOVE_ELEM( p_obj->p_libvlc_global->pp_timers, p_obj->p_libvlc_global->i_timers, i ); 
     377    vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); 
     378    for ( i = p_obj->p_libvlc->i_timers -1 ; i >= 0; i-- ) 
     379    { 
     380        counter_t *p_counter = p_obj->p_libvlc->pp_timers[i]; 
     381        REMOVE_ELEM( p_obj->p_libvlc->pp_timers, p_obj->p_libvlc->i_timers, i ); 
    382382        stats_CounterClean( p_counter ); 
    383383    } 
    384     vlc_mutex_unlock( &p_obj->p_libvlc_global->timer_lock ); 
     384    vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); 
    385385} 
    386386 
  • src/stream_output/stream_output.c

    rf485214 r8923568  
    364364    p_access->i_writes++; 
    365365    p_access->i_sent_bytes += p_buffer->i_buffer; 
    366     if( p_access->p_libvlc_global->b_stats && p_access->i_writes % 30 == 0 ) 
     366    if( p_access->p_libvlc->b_stats && p_access->i_writes % 30 == 0 ) 
    367367    { 
    368368        /* Access_out -> sout_instance -> input_thread_t */