Tsung源码分析(五):Tsung数据统计
根据手册中描述,Tsung的统计数据分为四类:sample,sample_counter,counter,sum。其中sample与sample_counter会每10秒计算一次统计项的平均值及其标准差,并写入文件;而counter是一个单纯的计数器,用在比如一共发送了多个请求这样的统计项上;sum统计项有一个累积的过程,例如HTTP响应的总大小。sample类型的数据写入的数据格式如下:
# stats:’name’10sec_count, 10sec_mean, 10sec_stdvar, max, min, mean, count
# stats:’name’count(during the last 10sec), totalcount(since the beginning)
?
跟数据统计相关的模块主要有三个:ts_mon:提到数据统计的接口,监控数据的添加主要通过该模块中的接口来完成;ts_mon_cache:缓存,统计数据的内存写入由此模块完成;ts_stats_mon:将统计数据写入到文件。
添加一个统计项,一般的都通过调用ts_mon:add这个接口来完成,然后ts_mon:add会调用ts_mon_cache将统计项先写入内存。ts_mon_cache初始化是会定义一个定时器,每10秒会触发调用ts_stats_mon:add将10秒内的统计数据写入文件。