Navigation


Changeset 575:66f188b3ca84 in freeDiameter for extensions/test_app/ta_bench.c


Ignore:
Timestamp:
Oct 8, 2010, 4:02:48 PM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Configurable parameters for the benchmark mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/test_app/ta_bench.c

    r572 r575  
    3939
    4040#include <semaphore.h>
    41 
    42 /* The number of messages that can be sent before waiting for a corresponding answer */
    43 #define NB_CONCURRENT_MESSAGES  100
    44 
    4541#include <stdio.h>
    4642
     
    5046};
    5147
    52 static sem_t ta_sem;
     48static sem_t ta_sem; /* To handle the concurrency */
    5349
    5450/* Cb called when an answer is received */
     
    221217        CHECK_POSIX_DO( pthread_mutex_unlock(&ta_conf->stats_lock), );
    222218       
    223         /* We will run for 10 seconds */
     219        /* We will run for ta_conf->bench_duration seconds */
    224220        CHECK_SYS_DO( clock_gettime(CLOCK_REALTIME, &end_time), );
    225         end_time.tv_sec += 10;
     221        end_time.tv_sec += ta_conf->bench_duration;
    226222       
    227223        /* Now loop until timeout is reached */
     
    254250        if (now.tv_nsec >= end_time.tv_nsec) {
    255251                fd_log_debug( " Executing for: %d.%06ld sec\n",
    256                                 (int)(now.tv_sec + 10 - end_time.tv_sec),
     252                                (int)(now.tv_sec + ta_conf->bench_duration - end_time.tv_sec),
    257253                                (long)(now.tv_nsec - end_time.tv_nsec) / 1000);
    258254        } else {
    259255                fd_log_debug( " Executing for: %d.%06ld sec\n",
    260                                 (int)(now.tv_sec + 9 - end_time.tv_sec),
     256                                (int)(now.tv_sec + ta_conf->bench_duration - 1 - end_time.tv_sec),
    261257                                (long)(now.tv_nsec + 1000000000 - end_time.tv_nsec) / 1000);
    262258        }
    263259        fd_log_debug( "   %llu messages sent\n", end.nb_sent - start.nb_sent);
    264         fd_log_debug( "   %llu errors received\n", end.nb_errs - start.nb_errs);
    265         fd_log_debug( "   %llu answers received\n", end.nb_recv - start.nb_recv);
     260        fd_log_debug( "   %llu error(s) received\n", end.nb_errs - start.nb_errs);
     261        fd_log_debug( "   %llu answer(s) received\n", end.nb_recv - start.nb_recv);
    266262        fd_log_debug( "   Overall:\n");
    267263        fd_log_debug( "     fastest: %ld.%06ld sec.\n", end.shortest / 1000000, end.shortest % 1000000);
    268264        fd_log_debug( "     slowest: %ld.%06ld sec.\n", end.longest / 1000000, end.longest % 1000000);
    269265        fd_log_debug( "     Average: %ld.%06ld sec.\n", end.avg / 1000000, end.avg % 1000000);
    270         fd_log_debug( "   Throughput: %llu message / sec\n", (end.nb_recv - start.nb_recv) / (( now.tv_sec + 10 - end_time.tv_sec ) + ((now.tv_nsec - end_time.tv_nsec) / 1000000000)));
    271        
    272 
     266        fd_log_debug( "   Throughput: %llu messages / sec\n", (end.nb_recv - start.nb_recv) / (( now.tv_sec + ta_conf->bench_duration - end_time.tv_sec ) + ((now.tv_nsec - end_time.tv_nsec) / 1000000000)));
    273267        fd_log_debug( "-------------------------------------\n");
    274268
     
    278272int ta_bench_init(void)
    279273{
    280         CHECK_SYS( sem_init( &ta_sem, 0, NB_CONCURRENT_MESSAGES) );
     274        CHECK_SYS( sem_init( &ta_sem, 0, ta_conf->bench_concur) );
    281275
    282276        CHECK_FCT( fd_sig_register(ta_conf->signal, "test_app.bench", ta_bench_start ) );
Note: See TracChangeset for help on using the changeset viewer.