如何进行日志挖掘?

2024-09-28 01:29:19 发布

您现在位置:Python中文网/ 问答频道 /正文

为了从wxPython开发的专用桌面工具中找出(或猜测)一些东西,我在几个regardful类方法上注入了一个日志装饰器。每个日志记录如下所示:

log records of one application in phpmyadmin way

现在,数据库中有超过300万条日志记录,我开始思考“我能从这些东西中得到什么?”。我可以得到一些信息,比如:

  • 一段时间(例如,一周)的命中率为(klass,method)。在
  • 通过记录计数来增强用户的能力。在
  • 丢失关闭日志打开日志的近似崩溃率。在

我想相关的技术可能是日志挖掘。有谁知道我可以从这个非常简单的日志中获取更多信息吗?我真的很想从中得到更多的东西。在


Tags: 工具方法用户信息数据库记录wxpython装饰
2条回答

SpliFF是对的,你必须决定哪些问题对你来说是重要的,然后弄清楚你是否收集了正确的数据来回答这些问题。弄清楚这类操作数据是非常有价值的。在

你可能想先看看你是否能回答一些基本问题,然后在你建立了日志收集和分析工作流程之后,再转向更棘手的问题。您可能会考虑一些长期问题:

  • 在野外遇到的最常见、最严重的bug是什么,按频率和影响进行排名。数据:如果可能,捕获stacktraces/调用点和方法参数。在
  • 你能简化用户的一些常见操作吗?如果X是最常见的,是否可以减少步骤数或简化单个步骤?数据:会话,单击常见工作流的流。按使用频率、步骤数量和复杂程度排列的功能。在
  • 有些功能可能会令人困惑,有冲突的选项,这会导致用户错误。用户多次备份以重复某个步骤或从头开始的会话可能会很有说服力。在

你可能还想通知用户数据收集的目的是为了提高质量,甚至从应用程序的界面中征求一些反馈。在

图案!在

失败前的模式。假设记录了一个故障,现在考虑探讨以下问题:

  • 之前的klass方法组合顺序是什么?在
  • 其他的组合呢?在
  • 在同样的失败之前总是相同的顺序吗?在
  • 一系列的小故障是否先于严重故障?在
  • 等等

比较模式的一种方法如下:

  1. 对每条信息进行分类
  2. 用一个惟一的ID来表示每个类/类型,这样就有了一个ID序列
  3. 将序列分成时间段进行比较
  4. 将切片(id数组)与diff算法进行比较
  5. 保留时段样本以建立共同模式,然后比较相同时段的新样本以确定异常程度

相关问题 更多 >

    热门问题