update it

This commit is contained in:
Sukchan Lee 2017-02-28 19:40:44 +09:00
parent f64f71b122
commit 9e3d6493f2
4 changed files with 44 additions and 18 deletions

View File

@ -43,24 +43,33 @@ static void * s6a_stats(void * arg)
/* Now, display everything */
LOG_N( "------- app_test statistics ---------");
if (now.tv_nsec >= start.tv_nsec) {
if (now.tv_nsec >= start.tv_nsec)
{
LOG_N( " Executing for: %d.%06ld sec",
(int)(now.tv_sec - start.tv_sec),
(long)(now.tv_nsec - start.tv_nsec) / 1000);
} else {
}
else
{
LOG_N( " Executing for: %d.%06ld sec",
(int)(now.tv_sec - 1 - start.tv_sec),
(long)(now.tv_nsec + 1000000000 - start.tv_nsec) / 1000);
}
if (s6a_config->mode & MODE_HSS) {
LOG_N( " HSS: %" C_UINT64_T_FMT " message(s) echoed", copy.nb_echoed);
if (s6a_config->mode & MODE_HSS)
{
LOG_N( " HSS: %llu message(s) echoed",
copy.nb_echoed);
}
if (s6a_config->mode & MODE_MME) {
if (s6a_config->mode & MODE_MME)
{
LOG_N( " MME:");
LOG_N( " %" C_UINT64_T_FMT " message(s) sent", copy.nb_sent);
LOG_N( " %" C_UINT64_T_FMT " error(s) received", copy.nb_errs);
LOG_N( " %" C_UINT64_T_FMT " answer(s) received", copy.nb_recv);
LOG_N( " %llu message(s) sent", copy.nb_sent);
LOG_N( " %llu error(s) received", copy.nb_errs);
LOG_N( " %llu answer(s) received", copy.nb_recv);
LOG_N( " fastest: %ld.%06ld sec.", copy.shortest / 1000000, copy.shortest % 1000000);
LOG_N( " slowest: %ld.%06ld sec.", copy.longest / 1000000, copy.longest % 1000000);
LOG_N( " Average: %ld.%06ld sec.", copy.avg / 1000000, copy.avg % 1000000);
}
LOG_N( "-------------------------------------");
}

View File

@ -17,18 +17,18 @@ extern "C" {
struct s6a_config_t {
/* Diameter Identity of the local peer (FQDN -- ASCII) */
char *cnf_diamid;
char *cnf_diamid;
/* Diameter realm of the local peer, default to realm part of cnf_diamid */
char *cnf_diamrlm;
char *cnf_diamrlm;
/* the local port for legacy Diameter (default: 3868) in host byte order */
c_uint16_t cnf_port;
c_uint16_t cnf_port;
/* the local port for Diameter/TLS (default: 5658) in host byte order */
c_uint16_t cnf_port_tls;
c_uint16_t cnf_port_tls;
/* (supposedly) UTF-8, \0 terminated.
* The Diameter Identity of the remote peer. */
char *pi_diamid;
char *pi_diamid;
c_uint16_t pic_port; /* port to connect to. 0: default. */
c_uint32_t vendor_id; /* default 999999 */
@ -38,10 +38,13 @@ struct s6a_config_t {
char *dest_host; /* default NULL */
char *user_name; /* default NULL */
struct ta_stats {
c_uint64_t nb_echoed; /* server */
c_uint64_t nb_sent; /* client */
c_uint64_t nb_recv; /* client */
c_uint64_t nb_errs; /* client */
unsigned long long nb_echoed; /* server */
unsigned long long nb_sent; /* client */
unsigned long long nb_recv; /* client */
unsigned long long nb_errs; /* client */
unsigned long shortest; /* fastest answer, in microseconds */
unsigned long longest; /* slowest answer, in microseconds */
unsigned long avg; /* average answer time, in microseconds */
} stats;
pthread_mutex_t stats_lock;

View File

@ -14,7 +14,7 @@ int s6a_fd_init(const char *conffile)
{
int ret;
d_trace_level(&_s6a_fd, 0);
d_trace_level(&_s6a_fd, 1);
gnutls_global_set_log_function(s6a_gnutls_log_func);
gnutls_global_set_log_level(TRACE_MODULE);

View File

@ -93,6 +93,20 @@ static void s6a_aia_cb(void * data, struct msg ** msg)
CHECK_POSIX_DO( pthread_mutex_lock(&s6a_config->stats_lock), );
dur = ((ts.tv_sec - mi->ts.tv_sec) * 1000000) +
((ts.tv_nsec - mi->ts.tv_nsec) / 1000);
if (s6a_config->stats.nb_recv) {
/* Ponderate in the avg */
s6a_config->stats.avg = (s6a_config->stats.avg *
s6a_config->stats.nb_recv + dur) / (s6a_config->stats.nb_recv + 1);
/* Min, max */
if (dur < s6a_config->stats.shortest)
s6a_config->stats.shortest = dur;
if (dur > s6a_config->stats.longest)
s6a_config->stats.longest = dur;
} else {
s6a_config->stats.shortest = dur;
s6a_config->stats.longest = dur;
s6a_config->stats.avg = dur;
}
if (error)
s6a_config->stats.nb_errs++;
else