46 #define RTE_JOBSTATS_NAMESIZE 32
49 struct rte_jobstats_context;
62 typedef void (*rte_job_update_period_cb_t)(
struct rte_jobstats *job,
78 rte_job_update_period_cb_t update_period_cb;
84 uint64_t min_exec_time;
87 uint64_t max_exec_time;
93 char name[RTE_JOBSTATS_NAMESIZE];
96 struct rte_jobstats_context *context;
100 struct rte_jobstats_context {
108 uint64_t loop_executed_jobs;
116 uint64_t min_exec_time;
119 uint64_t max_exec_time;
128 uint64_t management_time;
130 uint64_t min_management_time;
133 uint64_t max_management_time;
139 uint64_t job_exec_cnt;
157 rte_jobstats_context_init(
struct rte_jobstats_context *ctx);
166 rte_jobstats_context_start(
struct rte_jobstats_context *ctx);
176 rte_jobstats_context_finish(
struct rte_jobstats_context *ctx);
185 rte_jobstats_context_reset(
struct rte_jobstats_context *ctx);
208 rte_jobstats_init(
struct rte_jobstats *job,
const char *name,
209 uint64_t min_period, uint64_t max_period, uint64_t initial_period,
222 rte_jobstats_set_target(
struct rte_jobstats *job, int64_t target);
237 rte_jobstats_start(
struct rte_jobstats_context *ctx,
struct rte_jobstats *job);
256 rte_jobstats_finish(
struct rte_jobstats *job, int64_t job_value);
269 rte_jobstats_set_period(
struct rte_jobstats *job, uint64_t period,
281 rte_jobstats_set_min(
struct rte_jobstats *job, uint64_t period);
292 rte_jobstats_set_max(
struct rte_jobstats *job, uint64_t period);
306 rte_jobstats_set_update_period_function(
struct rte_jobstats *job,
307 rte_job_update_period_cb_t update_period_cb);
316 rte_jobstats_reset(
struct rte_jobstats *job);