分类: Erlang
2013-03-26 22:05:56
Tsung统计的数据分成4类: sample,sample_counter,counter,sum。其中sample与sample_counter会每10s计算一次统计的平均值
及其标准差并写入文件;而counter是一个单纯的计数器,用在一共发送国多少个请求这样的统计项中,sum统计项有一个累积的过程。
Sample类型的数据写入的数据格式如下:
#stats: “name” 10sec_count,10sec_mean,10sec_stdvar,max,min,mean,count
Counter类型的数据格式如下:
#stats: “name” count(during the last 10sec),totoalcount(since the beginning)
测试数据的输出过程控制
与统计相关的模块主要有3个:
Ts_mon: 提供数据统计的接口,监控数据的添加主要通过它的接口来完成
Ts_mon_cache:缓存,统计数据写入内存由此模块完成
Ts_stats_mon: 实际的统计数据写入文件由此模块完成
添加一个统计项,通过ts_mon:add完成当然这个可以指定是否nocache,如果启用缓存,就是调用ts_mon_cache:add;
Ts_mon_cache初始化定义一个定时器,每500ms就会调用ts_stats_mon:add将500ms的数据传递至ts_stats_mon中;
Ts_mon在start_logger时,也启动一个dumpstats定时器,每10s会调用export_stats,进而调用ts_stats_mon:dumpstats完成数据的写入文件。
明显这两个定时器是不同的,ts_mon采用的是timer模块的apply_interval,ts_mon_cache采用的是erlang:start_timer接口
有关测试报告的具体描述,可参考tsung manual的第7章节。