我有一些日志文件中的数据。我想想一下在一段时间内发生错误的次数。
例如:
09:00:01, error_1, blah blah blah 09:00:10, error_1, blah blah blah 09:00:23, error_1, blah blah blah 09:01:10, error_2, blah blah blah 09:07:01, error_1, blah blah blah 09:07:43, error_1, blah blah blah 09:11:03, error_1, blah blah blah 09:18:10, error_1, blah blah blah 09:40:57, error_2, blah blah blah 09:41:23, error_1, blah blah blah ... 23:32:20 error_1
所以有了上述内容,我想绘制这些值,以便我可以显示一个星期,每个小时的间隔时间间隔,并显示该小时的“error_1”总和...希望这是有道理的。
如果有人能帮助我,我将不胜感激!如果有办法用gnuplot完全做到这一点会更好。
谢谢!
答案 0 :(得分:0)
您希望让gnuplot进行分箱以制作histogram。唯一的技巧是您需要根据错误代码过滤掉行。您可能可能在gnuplot中进行过滤,但 MUCH 更容易使用grep
之类的内容。
set xdata time
set timefmt '%H:%M:%S'
set datafile sep ','
binwidth = 3600 #3600 seconds in an hour.
bin(x,width) = width*floor(x/width)
plot for [ERR in "error_1 error_2"] sprintf('<grep %s test.dat',ERR) u (bin($1,binwidth)):(1.0) smooth freq w boxes ti ERR