From: Ondřej Surý Date: Mon, 30 Jan 2023 15:20:40 +0000 (+0100) Subject: Add tracing probes to the isc_job unit X-Git-Tag: v9.19.17~41^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2484a3702ad975d525c0372f809966d5103477f0;p=thirdparty%2Fbind9.git Add tracing probes to the isc_job unit Add tracing probes to isc_job unit: * libisc:job_cb_before - before the job callback is called * libisc:job_cb_after - after the job callback is called --- diff --git a/lib/isc/job.c b/lib/isc/job.c index 963248df15c..78bbb03d092 100644 --- a/lib/isc/job.c +++ b/lib/isc/job.c @@ -35,6 +35,7 @@ #include "job_p.h" #include "loop_p.h" +#include "probes.h" /* * Public: #include @@ -70,8 +71,12 @@ isc__job_cb(uv_idle_t *handle) { job != NULL; job = next, next = job ? ISC_LIST_NEXT(job, link) : NULL) { + isc_job_cb cb = job->cb; + void *cbarg = job->cbarg; ISC_LIST_UNLINK(jobs, job, link); - job->cb(job->cbarg); + LIBISC_JOB_CB_BEFORE(job, cb, cbarg); + cb(cbarg); + LIBISC_JOB_CB_AFTER(job, cb, cbarg); } if (ISC_LIST_EMPTY(loop->run_jobs)) { diff --git a/lib/isc/probes.d b/lib/isc/probes.d index f482f78976e..dccedcb113d 100644 --- a/lib/isc/probes.d +++ b/lib/isc/probes.d @@ -12,16 +12,19 @@ */ provider libisc { + probe job_cb_after(void *, void *, void *); + probe job_cb_before(void *, void *, void *); + + probe rwlock_destroy(void *); + probe rwlock_downgrade(void *); probe rwlock_init(void *); - probe rwlock_rdlock_req(void *); probe rwlock_rdlock_acq(void *); - probe rwlock_wrlock_req(void *); - probe rwlock_wrlock_acq(void *); + probe rwlock_rdlock_req(void *); + probe rwlock_rdunlock(void *); probe rwlock_tryrdlock(void *, int); + probe rwlock_tryupgrade(void *, int); probe rwlock_trywrlock(void *, int); - probe rwlock_rdunlock(void *); + probe rwlock_wrlock_acq(void *); + probe rwlock_wrlock_req(void *); probe rwlock_wrunlock(void *); - probe rwlock_downgrade(void *); - probe rwlock_tryupgrade(void *, int); - probe rwlock_destroy(void *); }; diff --git a/tests/isc/job_test.c b/tests/isc/job_test.c index 5e05dbdcbca..4a353a86ebe 100644 --- a/tests/isc/job_test.c +++ b/tests/isc/job_test.c @@ -31,8 +31,6 @@ #include #include -#include "job.c" - #include static atomic_uint scheduled;