heartbeats simple
1.0.0
簡素化されたパフォーマンス、精度、およびパワートラッキングを提供します。
共有メモリをサポートし、メモリとエネルギーの読者を自動的に管理する元のライブラリについては、Heartbeatsを参照してください。
また、このライブラリとエネルギーをラップして、元のHeartbeatsデザインに似たインターフェイスを提供するHeartbeats-smple-Classicも参照してください。
このプロジェクトではCmakeを使用しています。
構築するには、実行する:
mkdir _build
cd _build
cmake ..
makeインストールするには、適切な特権で実行します。
make install Linuxでは、インストールは通常、 /usr/local/libにライブラリを配置し、ヘッダーファイルは/usr/local/includeに配置します。
マニフェストを使用するには、アンインストールする前にインストールする必要があります。
アンインストールするには、適切な特権で実行します。
make uninstallプロジェクトがcmakeを使用している場合、 HeartbeatsSimpleパッケージを見つけて、その名前空間のheartbeats-simple Library Targetにリンクできます。
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のLibheartBeats組織でこれと関連するプロジェクトソースを見つけてください。
このプロジェクトは、https://github.com/libheartbeats/heartbeats-simpleで発生します
バグの修正と拡張のバグレポートとプルリクエストは大歓迎です。