diff options
| author | 杨威 <[email protected]> | 2020-09-30 11:23:10 +0800 |
|---|---|---|
| committer | 杨威 <[email protected]> | 2020-09-30 11:23:10 +0800 |
| commit | fabea3c7063dfe29b3c0b223b0c0d1c099140a2f (patch) | |
| tree | b1370bbc8195552189c3868cdd9887fa8309e9e7 | |
| parent | af8d4382e08c29969fd2a5de1ad59e72c3b38b87 (diff) | |
✨feat(pkt_stat): sysinfo增加单双向流流量统计
| -rw-r--r-- | include/private/sapp_pkt_stat.h | 39 | ||||
| -rw-r--r-- | src/dealpkt/stream_manage.c | 26 | ||||
| -rw-r--r-- | src/packet_io/packet_io_status.cpp | 80 |
3 files changed, 113 insertions, 32 deletions
diff --git a/include/private/sapp_pkt_stat.h b/include/private/sapp_pkt_stat.h index 3b31b10..58e5e66 100644 --- a/include/private/sapp_pkt_stat.h +++ b/include/private/sapp_pkt_stat.h @@ -62,6 +62,14 @@ typedef enum __sapp_sys_stat_type{ SAPP_STAT_TCP_STREAM_S2C,/* ��������������ͳ��(total pkt num > m and total byte > n) */ SAPP_STAT_TCP_STREAM_DOUBLE,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_C2S_PKTS, /* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_S2C_PKTS,/* ��������������ͳ��(total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_DOUBLE_PKTS,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + + SAPP_STAT_TCP_STREAM_C2S_BYTES, /* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_S2C_BYTES,/* ��������������ͳ��(total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_DOUBLE_BYTES,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_TCP_STREAM_NEW, SAPP_STAT_TCP_STREAM_DEL, SAPP_STAT_TCP_STREAM_RESET, @@ -73,9 +81,17 @@ typedef enum __sapp_sys_stat_type{ SAPP_STAT_UDP_STREAM_DEL, SAPP_STAT_UDP_STREAM_RESET, - SAPP_STAT_TCP_STREAM_TOTAL_C2S, /* ȫ��TCP��ͳ�� */ - SAPP_STAT_TCP_STREAM_TOTAL_S2C,/* ȫ��TCP��ͳ�� */ - SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE, /* ȫ��TCP��ͳ�� */ + SAPP_STAT_TCP_STREAM_TOTAL_C2S, /* ȫ��TCP��ͳ�� ������*/ + SAPP_STAT_TCP_STREAM_TOTAL_S2C,/* ȫ��TCP��ͳ�� ������*/ + SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE, /* ȫ��TCP��ͳ�� ������*/ + + SAPP_STAT_TCP_STREAM_TOTAL_C2S_PKTS, /* ȫ��TCP��ͳ�� ���� */ + SAPP_STAT_TCP_STREAM_TOTAL_S2C_PKTS,/* ȫ��TCP��ͳ�� ����*/ + SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_PKTS, /* ȫ��TCP��ͳ�� ����*/ + + SAPP_STAT_TCP_STREAM_TOTAL_C2S_BYTES, /* ȫ��TCP��ͳ�� �ֽ��� */ + SAPP_STAT_TCP_STREAM_TOTAL_S2C_BYTES,/* ȫ��TCP��ͳ�� �ֽ���*/ + SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_BYTES, /* ȫ��TCP��ͳ�� �ֽ���*/ SAPP_STAT_TCP_LOST_PKT_STREAM_NUM, /* ���������������� */ SAPP_STAT_TCP_LOST_PKT, /* �����ֽ��ܼ��� */ @@ -84,10 +100,27 @@ typedef enum __sapp_sys_stat_type{ SAPP_STAT_UDP_STREAM_S2C,/* ��������������ͳ��(total pkt num > m and total byte > n) */ SAPP_STAT_UDP_STREAM_DOUBLE,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + + SAPP_STAT_UDP_STREAM_C2S_PKTS, /* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_UDP_STREAM_S2C_PKTS,/* ��������������ͳ��(total pkt num > m and total byte > n) */ + SAPP_STAT_UDP_STREAM_DOUBLE_PKTS,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + + SAPP_STAT_UDP_STREAM_C2S_BYTES, /* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_UDP_STREAM_S2C_BYTES,/* ��������������ͳ��(total pkt num > m and total byte > n) */ + SAPP_STAT_UDP_STREAM_DOUBLE_BYTES,/* ��������������ͳ�� (total pkt num > m and total byte > n) */ + SAPP_STAT_UDP_STREAM_TOTAL_C2S, /* ȫ��UDP��ͳ�� */ SAPP_STAT_UDP_STREAM_TOTAL_S2C,/* ȫ��UDP��ͳ�� */ SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE, /* ȫ��UDP��ͳ�� */ + SAPP_STAT_UDP_STREAM_TOTAL_C2S_PKTS, /* ȫ��UDP��ͳ�� */ + SAPP_STAT_UDP_STREAM_TOTAL_S2C_PKTS,/* ȫ��UDP��ͳ�� */ + SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_PKTS, /* ȫ��UDP��ͳ�� */ + + SAPP_STAT_UDP_STREAM_TOTAL_C2S_BYTES, /* ȫ��UDP��ͳ�� */ + SAPP_STAT_UDP_STREAM_TOTAL_S2C_BYTES,/* ȫ��UDP��ͳ�� */ + SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_BYTES, /* ȫ��UDP��ͳ�� */ + SAPP_STAT_HASH_LIST_MAX, /************* memory stat *******************/ diff --git a/src/dealpkt/stream_manage.c b/src/dealpkt/stream_manage.c index 090ff0d..653436e 100644 --- a/src/dealpkt/stream_manage.c +++ b/src/dealpkt/stream_manage.c @@ -1906,27 +1906,39 @@ void hash_del_stream(struct streamindex *pindex) if(ptmp->dir == DIR_DOUBLE) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_DOUBLE]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_DOUBLE_PKTS]+=(ptmp->pudpdetail->clientpktnum+ptmp->pudpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_DOUBLE_BYTES]+=(ptmp->pudpdetail->clientbytes+ptmp->pudpdetail->serverbytes); } else if(ptmp->dir == DIR_C2S) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_C2S]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_C2S_PKTS]+=(ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_C2S_BYTES]+=(ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } else if(ptmp->dir == DIR_S2C) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_S2C]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_S2C_PKTS]+=(ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_S2C_BYTES]+=(ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } } if(ptmp->dir == DIR_DOUBLE) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_PKTS] += (ptmp->pudpdetail->clientpktnum + ptmp->pudpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_BYTES] += (ptmp->pudpdetail->clientbytes + ptmp->pudpdetail->serverbytes); } else if(ptmp->dir == DIR_C2S) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_C2S]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_C2S_PKTS] += (ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_C2S_BYTES] += (ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } else if(ptmp->dir == DIR_S2C) { local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_S2C]++; + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_S2C_PKTS] += (ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_UDP_STREAM_TOTAL_S2C_BYTES] += (ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } } else if (STREAM_TYPE_TCP==ptmp->type) @@ -1948,16 +1960,22 @@ void hash_del_stream(struct streamindex *pindex) { //g_SysInputInfo[threadnum][LINK_DOUBLE]++; local_sys_stat->count[SAPP_STAT_TCP_STREAM_DOUBLE]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_DOUBLE_PKTS]+=(ptmp->ptcpdetail->clientpktnum+ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_DOUBLE_BYTES]+=(ptmp->ptcpdetail->clientbytes+ptmp->ptcpdetail->serverbytes ); } else if(ptmp->dir == DIR_C2S) { //g_SysInputInfo[threadnum][LINK_SINGLE_C2S]++; local_sys_stat->count[SAPP_STAT_TCP_STREAM_C2S]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_C2S_PKTS]+=(ptmp->ptcpdetail->clientpktnum+ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_C2S_BYTES]+=(ptmp->ptcpdetail->clientbytes+ptmp->ptcpdetail->serverbytes ); } else if(ptmp->dir == DIR_S2C) { //g_SysInputInfo[threadnum][LINK_SINGLE_S2C]++; local_sys_stat->count[SAPP_STAT_TCP_STREAM_S2C]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_S2C_PKTS]+=(ptmp->ptcpdetail->clientpktnum+ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_S2C_BYTES]+=(ptmp->ptcpdetail->clientbytes+ptmp->ptcpdetail->serverbytes ); } else ; @@ -1966,14 +1984,20 @@ void hash_del_stream(struct streamindex *pindex) if(ptmp->dir == DIR_DOUBLE) { local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_PKTS] += (ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_BYTES] += (ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } else if(ptmp->dir == DIR_C2S) { local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_C2S]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_C2S_PKTS] += (ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_C2S_BYTES] += (ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } else if(ptmp->dir == DIR_S2C) { local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_S2C]++; + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_S2C_PKTS] += (ptmp->ptcpdetail->clientpktnum + ptmp->ptcpdetail->serverpktnum); + local_sys_stat->count[SAPP_STAT_TCP_STREAM_TOTAL_S2C_BYTES] += (ptmp->ptcpdetail->clientbytes + ptmp->ptcpdetail->serverbytes); } }else{ @@ -2850,7 +2874,7 @@ void free_polling_inject_context(struct streaminfo_private *pstream_pr) pstream_pr->polling_inject_context = NULL; } -/* 全局流id, stream_index历史上已经表示单机内唯一id, 此处要保证集群所有机器不重复, 所以新建变�? +/* 全局流id, stream_index历史上已经表示单机内�?一id, 此�?��?�保证集群所有机器不重�??, 所以新建变�? 高位 --- 低位 1 | 12bit device_id | 8bit thread_id | 28bit timestamp in sec | 15bit sequence per thread */ diff --git a/src/packet_io/packet_io_status.cpp b/src/packet_io/packet_io_status.cpp index 97d5e01..6d4ac40 100644 --- a/src/packet_io/packet_io_status.cpp +++ b/src/packet_io/packet_io_status.cpp @@ -292,20 +292,32 @@ void sysinfo_output(void) } fprintf(fp,"-----------------------------------------------------------------\n"); - fprintf(fp,"%-12s %12s %12s\n","STREAM_TYPE", "total_stream", "link_del/s"); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_DOU", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE], - cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE]); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_C2S", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S], - cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S]); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_S2C", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C], - cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C]); - - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_DOU", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE], - cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE]); - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_C2S", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S], - cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S]); - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_S2C", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C], - cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C]); + fprintf(fp,"%-12s %12s %12s %12s %12s\n","STREAM_TYPE", "total_stream", "link_del/s", "total_pkts", "total_len"); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_DOU", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_TOTAL_DOUBLE_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_C2S", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_TOTAL_C2S_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_S2C", cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C] - history_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C], + cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_TOTAL_S2C_BYTES],1,1,s1)); + + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_DOU", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_TOTAL_DOUBLE_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_C2S", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_TOTAL_C2S_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_S2C", cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C] - history_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C], + cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_TOTAL_S2C_BYTES],1,1,s2)); fprintf(fp,"----------------------------------------------------------------\n"); fprintf(fp, "The follow TCP statistics meet the conditions:(total pkt_num>=%d and byte>=%d)\n", @@ -314,20 +326,32 @@ void sysinfo_output(void) fprintf(fp, "The follow UDP statistics meet the conditions:(total pkt_num>=%d and byte>=%d)\n", sapp_global_val->config.stream.udp.meaningful_statistics_minimum_pkt, sapp_global_val->config.stream.udp.meaningful_statistics_minimum_byte); - fprintf(fp,"%-12s %12s %12s\n","STREAM_TYPE", "total_stream", "link_del/s"); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_DOU", cur_count[SAPP_STAT_TCP_STREAM_DOUBLE], - cur_count[SAPP_STAT_TCP_STREAM_DOUBLE] - history_count[SAPP_STAT_TCP_STREAM_DOUBLE]); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_C2S", cur_count[SAPP_STAT_TCP_STREAM_C2S], - cur_count[SAPP_STAT_TCP_STREAM_C2S] - history_count[SAPP_STAT_TCP_STREAM_C2S]); - fprintf(fp,"%-12s %12llu %12llu\n", "TCP_S2C", cur_count[SAPP_STAT_TCP_STREAM_S2C], - cur_count[SAPP_STAT_TCP_STREAM_S2C] - history_count[SAPP_STAT_TCP_STREAM_S2C]); - - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_DOU", cur_count[SAPP_STAT_UDP_STREAM_DOUBLE], - cur_count[SAPP_STAT_UDP_STREAM_DOUBLE] - history_count[SAPP_STAT_UDP_STREAM_DOUBLE]); - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_C2S", cur_count[SAPP_STAT_UDP_STREAM_C2S], - cur_count[SAPP_STAT_UDP_STREAM_C2S] - history_count[SAPP_STAT_UDP_STREAM_C2S]); - fprintf(fp,"%-12s %12llu %12llu\n", "UDP_S2C", cur_count[SAPP_STAT_UDP_STREAM_S2C], - cur_count[SAPP_STAT_UDP_STREAM_S2C] - history_count[SAPP_STAT_UDP_STREAM_S2C]); + fprintf(fp,"%-12s %12s %12s %12s %12s\n","STREAM_TYPE", "total_stream", "link_del/s", "total_pkts", "total_len"); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_DOU", cur_count[SAPP_STAT_TCP_STREAM_DOUBLE], + cur_count[SAPP_STAT_TCP_STREAM_DOUBLE] - history_count[SAPP_STAT_TCP_STREAM_DOUBLE], + cur_count[SAPP_STAT_TCP_STREAM_DOUBLE_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_DOUBLE_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_C2S", cur_count[SAPP_STAT_TCP_STREAM_C2S], + cur_count[SAPP_STAT_TCP_STREAM_C2S] - history_count[SAPP_STAT_TCP_STREAM_C2S], + cur_count[SAPP_STAT_TCP_STREAM_C2S_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_C2S_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "TCP_S2C", cur_count[SAPP_STAT_TCP_STREAM_S2C], + cur_count[SAPP_STAT_TCP_STREAM_S2C] - history_count[SAPP_STAT_TCP_STREAM_S2C], + cur_count[SAPP_STAT_TCP_STREAM_S2C_PKTS], + byte_convert_human(cur_count[SAPP_STAT_TCP_STREAM_S2C_BYTES],1,1,s1)); + + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_DOU", cur_count[SAPP_STAT_UDP_STREAM_DOUBLE], + cur_count[SAPP_STAT_UDP_STREAM_DOUBLE] - history_count[SAPP_STAT_UDP_STREAM_DOUBLE], + cur_count[SAPP_STAT_UDP_STREAM_DOUBLE_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_DOUBLE_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_C2S", cur_count[SAPP_STAT_UDP_STREAM_C2S], + cur_count[SAPP_STAT_UDP_STREAM_C2S] - history_count[SAPP_STAT_UDP_STREAM_C2S], + cur_count[SAPP_STAT_UDP_STREAM_C2S_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_C2S_BYTES],1,1,s1)); + fprintf(fp,"%-12s %12llu %12llu %12llu %12s\n", "UDP_S2C", cur_count[SAPP_STAT_UDP_STREAM_S2C], + cur_count[SAPP_STAT_UDP_STREAM_S2C] - history_count[SAPP_STAT_UDP_STREAM_S2C], + cur_count[SAPP_STAT_UDP_STREAM_S2C_PKTS], + byte_convert_human(cur_count[SAPP_STAT_UDP_STREAM_S2C_BYTES],1,1,s1)); fprintf(fp,"#################################################################\n"); fprintf(fp,"%-10s %12s %12s %12s %12s\n","SND-PKT", "total_pkt", "total_len","pps", "bps"); |
