gpt4 book ai didi

java - 在数据库中存储堆栈跟踪的最佳方法是什么

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:56 26 4
gpt4 key购买 nike

我正在寻找在数据库中存储堆栈跟踪(通过 Thread.dumpStack() 获得)和异常跟踪的最佳方式。

我正在开发一个应用程序性能应用程序。它跟踪方法调用(持续时间)、捕获错误(导致异常跟踪)并为缓慢执行生成堆栈跟踪。

环境是Java + MySQL 5.0

目前,网络请求和堆栈跟踪的跟踪信息存储在一个文件中(作为 json),元数据存储在数据库表中。

出于报告和复制的目的,我正在考虑将它们存储在数据库中。平均而言,完整跟踪信息的大小为 40 kb。将它们存储在数据库中还是将其保存在文件系统中并移动到 nosql 是否明智。

转向 nosql,我可以解决复制问题,但报告仍然很困难。

最佳答案

为什么不将报告所需的附加信息存储为“元数据”的一部分?根据应用程序的需要,将完整的堆栈跟踪存储在一个文件中并将对该文件的引用存储在数据库中可能没有任何问题。我会考虑您需要报告什么并评估这些元素以包含在数据库中。例如,您是否报告异常的根本原因?考虑将数据预处理到报告所需的程度。如果您已经单独保存了整个堆栈跟踪,那么如果您将来需要报告其他内容,您将不会丢失任何信息。

很久以前就有人问过这个问题,所以我假设您已经做出决定,但如果没有明确的理由,我会犹豫是否要迁移到 nosql 架构。关系数据库在某些场景中仍然占有一席之地,其中大多数都有一种有效的机制来存储大量文本(例如堆栈跟踪)。

关于java - 在数据库中存储堆栈跟踪的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com