Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在探查器中创建日志的格式是什么?_Java_C++_Xml_Profiling_Protocol Buffers - Fatal编程技术网

Java 在探查器中创建日志的格式是什么?

Java 在探查器中创建日志的格式是什么?,java,c++,xml,profiling,protocol-buffers,Java,C++,Xml,Profiling,Protocol Buffers,在我正在编写的分析器中,它实际上是Java程序的JVMTI代理,我需要一种格式来记录收集到的事件。此外,这些日志必须发送到套接字,并由GUI在其他地方读取。所以我需要两种语言之间的工作序列化 我已经用XML实现了我自己的协议,它运行得非常好。然而,我被告知要考虑另一种格式。因为XML构建可能非常缓慢,并且探查器中执行的每一个附加代码都会严重影响已分析的程序。这是真的,但是XML DOM构建需要那么长的时间吗 到目前为止,我使用了TinyXML。我希望没有人指向RapidXML,因为我希望在非嵌入

在我正在编写的分析器中,它实际上是Java程序的JVMTI代理,我需要一种格式来记录收集到的事件。此外,这些日志必须发送到套接字,并由GUI在其他地方读取。所以我需要两种语言之间的工作序列化

我已经用XML实现了我自己的协议,它运行得非常好。然而,我被告知要考虑另一种格式。因为XML构建可能非常缓慢,并且探查器中执行的每一个附加代码都会严重影响已分析的程序。这是真的,但是XML DOM构建需要那么长的时间吗

到目前为止,我使用了TinyXML。我希望没有人指向RapidXML,因为我希望在非嵌入式机器上没有那么大的不同


你觉得怎么样?目前我正在尝试用protobuf重新实现它,它声称比XML快n倍。

我的第一选择总是传统的txt文件


您可以在文件末尾添加新条目(底部)

我正在为我的汇款中的所有日志文件进行设计。我用JSON记录数据,但JSON数据嵌套在非常简单的xml格式中

乙二醇

收到新消息
{“名称”:“AgtConf”,“AgtId”:1111,…}

这样,我可以轻松地将数据和日志分离出来,但不会使日志目录变得复杂。还省去了为自定义格式编写自己的解析器。然而,考虑到您的情况,我建议仅在您基本上使用JSON进行序列化的情况下使用JSON。如果格式正确,JSON的可读性非常强,它可以非常简洁,并且有稳定的解析器。

分析器的用途是什么?如果目的是发现瓶颈(而不仅仅是测量速度),那么最有用的捕获方法就是随机或均匀的堆栈跟踪(不只是CPU时间)。这就是我所做的。获取大量样本不是必需的。使用热键动态启用采样非常有用。
<entry ts="2011-02-23T17:18:19.202" level="trc_1" typ="trace">New Message Received</entry>
<entry ts="2011-02-23T17:18:19.202" level="trace" typ="msg"><data>{"Name":"AgtConf","AgtId":1111,...}</data></entry>