auto recognize log error types
从历史错误log里获取可能是错误的字符串信息,得到字符集(keyword.txt)。 错误字符集需要考虑一般性,即它可能出现在所有的测试build里,或者某一类测试build里 根据错误字符集,对log进行匹配,如果某个错误字符串出现在log里,那么对应的值表示为1,否则为0
第一步:获取错误字符集(以后可以不断添加),假设现在有20个错误字符串 第二步:获取每个log对应的特征,一个20维的向量 第三步:对特征向量进行聚类分析 (最简单的情况,每种特征向量就是一类,这个在ci的测试情形中可以覆盖90%左右的情况) 如果最后的特征向量远比实际错误类型多,可用k-近邻发进行聚类分析,比如k-d来划分。或者根据余弦定理对得到的类进一步压缩。 第四步:根据前面分类的结果,给出具体错误的原因,需要人工调查参与。 第五步,对新的log进行预测,可以利用余弦定理计算两个特征的差异,选择差异最小的那一类
实际应用:
根据预测结果,作出对应的动作,比如是网络问题,自动offline 相关的测试设备,如果是磁盘空间问题,自动清理磁盘.....
如果某一次预测结果不准确,根据新log的错误信息,更新错误字符集,重新训练一次模型。