Bietet eine vereinfachte Leistung, Genauigkeit und Leistungsverfolgung.
Für die ursprünglichen Bibliotheken, die gemeinsam genutzten Speicher unterstützen und Speicher- und Energieleser automatisch verwalten, siehe Heartbeats.
Siehe auch Heartbeats-Simple-Classic, das diese Bibliothek und diesen EnergyMon um einbindet, um eine Grenzfläche zu bieten, die dem ursprünglichen Herzschlag-Design ähnelt.
Dieses Projekt verwendet CMake.
Bauen, rennen:
mkdir _build
cd _build
cmake ..
makeZum Installieren mit ordnungsgemäßen Privilegien ausführen:
make install Unter Linux platziert die Installation in der Regel Bibliotheken in /usr/local/lib und Header -Dateien in /usr/local/include .
Die Installation muss vor dem Deinstallieren ausgeführt werden, um ein Manifest zu haben.
Um zu deinstallieren, laufen Sie mit richtigen Privilegien:
make uninstall Wenn Ihr Projekt CMAKE verwendet, finden Sie das HeartbeatsSimple -Paket und verknüpfen Sie mit dem Ziel für die heartbeats-simple Bibliothek in diesem Namespace, z. B. mit:
find_package (HeartbeatsSimple REQUIRED)
target_link_libraries (foo PRIVATE HeartbeatsSimple::heartbeats-simple) Andernfalls erhalten Sie Flag- und Linker-Informationen mit pkg-config , z. B.:
pkg-config --cflags heartbeats-simple
pkg-config --libs heartbeats-simple Das Folgende ist ein einfaches Beispiel für Herzschläge, bei dem Fehlerprüfungen und zusätzliche #include Anweisungen ignoriert werden, die plattformspezifisch sind.
#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 );
} Finden Sie diese und verwandte Projektquellen bei der Libheartbeats -Organisation auf GitHub.
Dieses Projekt stammt aus: https://github.com/libheartbeats/heartbeats-simple
Fehlerberichte und Zuganfragen für Fehlerbehebungen und Verbesserungen sind willkommen.