日志

P7Baical

开源、跨平台的库,用于在最小限度使用CPU和内存的情况下高速发送遥测和跟踪数据。

标签:

P7 是一个开源的跨平台库,专门设计用于从应用程序中高速发送遥测和追踪数据,同时尽可能少地占用 CPU 和内存资源。以下是 P7 库的一些关键特点:

多种语言支持:支持 C++、C、C# 和 Python。

跨平台:适用于 Linux (x86/x64) 和 Windows (x86/x64)。

高性能:库和服务器都经过设计和优化,以适应高负载情况。例如,在 Intel i7-870 CPU 上,网络传输可达每秒约 570 万条追踪数据,二进制文件写入可达每秒约 1000 万条。

小内存占用:可选的,最小为 16KB,适用于嵌入式设备。

线程安全:可以在多线程环境中安全使用。

Unicode 支持:支持 UTF-8、UTF-32(Linux)、UTF-16(Windows)。

无外部依赖:不依赖外部库。

高精度时间戳:时间戳的分辨率取决于硬件高性能计数器,通常是 100 纳秒。

多种接收器(sink)支持:包括网络(Baical 服务器)、二进制文件、文本文件、控制台、系统日志(Syslog)、自动选择(如果 Baical 服务器可达则发送到服务器,否则发送到文件)和 Null(丢弃所有数据)。

文件轮转设置:可以根据大小或时间进行文件轮转。

文件最大数量设置:自动删除旧文件。

远程管理:通过 Baical 服务器进行远程管理,例如设置模块的详细级别、启用/禁用遥测计数器。

共享内存使用:创建一次追踪和遥测通道,然后可以在任何进程模块或类中访问,无需传递句柄。

崩溃处理:在用户定义的崩溃处理程序中,提供特殊函数以在崩溃时刷新所有 P7 对象的 P7 缓冲区。

二进制格式的追踪和遥测文件:由于速度要求,二进制文件比原始文本更紧凑,提供文本导出功能。

命令行界面:除了应用程序参数外,还可以用于配置。

大小端支持。

支持多种 CPU 架构:包括 Intel/AMD、ARM、MCS、PowerPC、Baikal T1 等。

支持多种编译器:如 GCC、VC++、Clang。

P7 库适用于需要高性能数据记录和分析的应用程序,尤其是在嵌入式系统和需要实时监控和调试的场景中。它通过优化数据传输和存储,使得开发者能够以最小的性能开销捕获和分析大量数据

数据统计

相关导航

暂无评论

暂无评论...

网站介绍

欢迎各位关注官方公众号,网站内容更新时会通过公众号向各位告知