يوفر واجهة نمط نبضات كلاسيكية إلى نبضات القلب.
مطلوب الأداة المساعدة pkg-config أثناء الإنشاء لتحديد بعض هذه التبعيات.
يستخدم هذا المشروع cmake.
للبناء ، تشغيل:
mkdir _build
cd _build
cmake ..
makeللتثبيت ، قم بتشغيل امتيازات مناسبة:
make install على Linux ، يضع التثبيت عادة المكتبات في /usr/local/lib وملفات الرأس في /usr/local/include .
يجب تشغيل التثبيت قبل إلغاء التثبيت من أجل الحصول على بيان.
لإلغاء التثبيت ، قم بتشغيل امتيازات مناسبة:
make uninstallمقتطف الكود التالي هو مثال على استخدام نبضات القلب القياسي.
const uint64_t WINDOW_SIZE = 20 ;
const char * LOG_FILE = "heartbeat.log" ;
const uint64_t ITERATIONS = 1000 ;
const uint64_t WORK_PER_ITERATION = 10 ;
hbsc_ctx hb ;
uint64_t i , j ;
// initialize
hbsc_init ( & hb , WINDOW_SIZE , LOG_FILE );
// should first issue a starter heartbeat to initialize start values (tag and work values are ignored)
hbsc ( & hb , 0 , 0 );
for ( i = 0 ; i < ITERATIONS / WORK_PER_ITERATION ; i ++ ) {
// do some amount of application work
for ( j = 0 ; j < WORK_PER_ITERATION ; j ++ ) {
do_work ();
}
// issue a heartbeat
hbsc ( & hb , i , WORK_PER_ITERATION );
}
// cleanup
hbsc_finish ( & hb );لاحظ أن نبضات القلب المبتدئة قبل بدء العمل فعليًا - إذا لم يتم إصدارها ، فسيتم فقد السجل الأول. يتم استخدام هذا بدلاً من تعيين قيم البدء في وظيفة init بحيث لا تؤثر التأخير بين تهيئة نبضات القلب والبدء على نتائج التوقيت.
ابحث عن هذا ومصادر المشروع ذات الصلة في منظمة LibheartBeats على Github.
ينشأ هذا المشروع على: https://github.com/libheartbeats/heartbeats-simple-classic
تقارير الأخطاء وطلبات السحب لإصلاحات الأخطاء والتحسينات مرحب بها.