heartbeats simple
1.0.0
提供简化的性能,准确性和功率跟踪。
有关支持共享内存并自动管理内存和能量读取器的原始库,请参阅心跳。
另外,请参见心跳式典型经典,它包装了该库和能量蒙克,以提供类似于原始心跳设计的界面。
该项目使用CMAKE。
要构建,运行:
mkdir _build
cd _build
cmake ..
make要安装,以适当的特权运行:
make install在Linux上,安装通常将库放入/usr/local/lib和标头文件中/usr/local/include 。
必须在卸载之前运行安装,以便有清单。
要卸载,以适当的特权运行:
make uninstall如果您的项目使用Cmake,则可以找到HeartbeatsSimple软件包,并与该名称空间中的heartbeats-simple库目标链接,例如:
find_package (HeartbeatsSimple REQUIRED)
target_link_libraries (foo PRIVATE HeartbeatsSimple::heartbeats-simple)否则,使用pkg-config获取标志和链接器信息,例如:
pkg-config --cflags heartbeats-simple
pkg-config --libs heartbeats-simple以下是一个简单的心跳示例,忽略了错误检查和其他特定于平台的#include语句。
#include <heartbeats-simple.h>
void do_application_loop ( uint64_t iterations , uint64_t window_len ) {
heartbeat_context hb ;
heartbeat_record * window_buf = malloc ( window_len * sizeof ( heartbeat_record ));
int fd = open ( "heartbeat.log" , O_CREAT | O_WRONLY | O_TRUNC , S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH );
heartbeat_init ( & hb , window_len , window_buf , fd , NULL );
hb_ctx_log_header ( & hb );
for ( uint64_t i = 0 ; i < iterations ; i ++ ) {
uint64_t start_time = get_time_in_ns ();
do_work ();
uint64_t end_time = get_time_in_ns ();
heartbeat ( & hb , i , 1 , start_time , end_time );
}
hb_ctx_log_window_buffer ( & hb ); // flush remaining window data to log file
close ( fd );
free ( window_buf );
}在Github的LibheartBeat组织中找到此和相关的项目来源。
该项目始于:https://github.com/libheartbeats/heartbeats-simple
欢迎错误报告和提取错误的请求和增强功能。