scoreboard 242 sapi/fpm/fpm/fpm_children.c fpm_scoreboard_proc_free(wp->scoreboard, child->scoreboard_i); scoreboard 320 sapi/fpm/fpm/fpm_children.c if (0 > fpm_scoreboard_proc_alloc(wp->scoreboard, &c->scoreboard_i)) { scoreboard 332 sapi/fpm/fpm/fpm_children.c fpm_scoreboard_proc_free(child->wp->scoreboard, child->scoreboard_i); scoreboard 345 sapi/fpm/fpm/fpm_children.c fpm_scoreboard_free(wp->scoreboard); scoreboard 348 sapi/fpm/fpm/fpm_children.c fpm_scoreboard_child_use(child->wp->scoreboard, child->scoreboard_i, getpid()); scoreboard 107 sapi/fpm/fpm/fpm_log.c struct fpm_scoreboard_s *scoreboard; scoreboard 129 sapi/fpm/fpm/fpm_log.c scoreboard = fpm_scoreboard_get(); scoreboard 130 sapi/fpm/fpm/fpm_log.c if (!scoreboard) { scoreboard 136 sapi/fpm/fpm/fpm_log.c zlog(ZLOG_WARNING, "[pool %s] Unable to acquire shm slot while preparing the access log", scoreboard->pool); scoreboard 288 sapi/fpm/fpm/fpm_log.c len2 = snprintf(b, FPM_LOG_BUFFER - len, "%s", scoreboard->pool[0] ? scoreboard->pool : "-"); scoreboard 199 sapi/fpm/fpm/fpm_php_trace.c fpm_scoreboard_update(0, 0, 0, 0, 0, 0, 1, FPM_SCOREBOARD_ACTION_INC, child->wp->scoreboard); scoreboard 356 sapi/fpm/fpm/fpm_process_ctl.c fpm_scoreboard_update(idle, active, cur_lq, -1, -1, -1, 0, FPM_SCOREBOARD_ACTION_SET, wp->scoreboard); scoreboard 391 sapi/fpm/fpm/fpm_process_ctl.c fpm_scoreboard_update(0, 0, 0, 0, 0, 1, 0, FPM_SCOREBOARD_ACTION_INC, wp->scoreboard); scoreboard 410 sapi/fpm/fpm/fpm_process_ctl.c fpm_scoreboard_update(0, 0, 0, 0, 0, 1, 0, FPM_SCOREBOARD_ACTION_INC, wp->scoreboard); scoreboard 514 sapi/fpm/fpm/fpm_process_ctl.c fpm_scoreboard_update(0, 0, 0, 0, 0, 1, 0, FPM_SCOREBOARD_ACTION_INC, wp->scoreboard); scoreboard 230 sapi/fpm/fpm/fpm_request.c proc_p = fpm_scoreboard_proc_acquire(child->wp->scoreboard, child->scoreboard_i, 1); scoreboard 288 sapi/fpm/fpm/fpm_request.c proc = fpm_scoreboard_proc_get(child->wp->scoreboard, child->scoreboard_i); scoreboard 303 sapi/fpm/fpm/fpm_request.c proc = fpm_scoreboard_proc_get(child->wp->scoreboard, child->scoreboard_i); scoreboard 50 sapi/fpm/fpm/fpm_scoreboard.c if (wp->scoreboard) { scoreboard 55 sapi/fpm/fpm/fpm_scoreboard.c wp->scoreboard = fpm_shm_alloc(sizeof(struct fpm_scoreboard_s) + (wp->config->pm_max_children - 1) * sizeof(struct fpm_scoreboard_proc_s *)); scoreboard 56 sapi/fpm/fpm/fpm_scoreboard.c if (!wp->scoreboard) { scoreboard 59 sapi/fpm/fpm/fpm_scoreboard.c wp->scoreboard->nprocs = wp->config->pm_max_children; scoreboard 60 sapi/fpm/fpm/fpm_scoreboard.c for (i = 0; i < wp->scoreboard->nprocs; i++) { scoreboard 61 sapi/fpm/fpm/fpm_scoreboard.c wp->scoreboard->procs[i] = fpm_shm_alloc(sizeof(struct fpm_scoreboard_proc_s)); scoreboard 62 sapi/fpm/fpm/fpm_scoreboard.c if (!wp->scoreboard->procs[i]) { scoreboard 65 sapi/fpm/fpm/fpm_scoreboard.c memset(wp->scoreboard->procs[i], 0, sizeof(struct fpm_scoreboard_proc_s)); scoreboard 68 sapi/fpm/fpm/fpm_scoreboard.c wp->scoreboard->pm = wp->config->pm; scoreboard 69 sapi/fpm/fpm/fpm_scoreboard.c wp->scoreboard->start_epoch = time(NULL); scoreboard 70 sapi/fpm/fpm/fpm_scoreboard.c strlcpy(wp->scoreboard->pool, wp->config->name, sizeof(wp->scoreboard->pool)); scoreboard 76 sapi/fpm/fpm/fpm_scoreboard.c void fpm_scoreboard_update(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, int action, struct fpm_scoreboard_s *scoreboard) /* {{{ */ scoreboard 78 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 79 sapi/fpm/fpm/fpm_scoreboard.c scoreboard = fpm_scoreboard; scoreboard 81 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 87 sapi/fpm/fpm/fpm_scoreboard.c fpm_spinlock(&scoreboard->lock, 0); scoreboard 90 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->idle = idle; scoreboard 93 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->active = active; scoreboard 96 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->lq = lq; scoreboard 99 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->lq_len = lq_len; scoreboard 102 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->lq > scoreboard->lq_max) { scoreboard 103 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->lq_max = scoreboard->lq; scoreboard 107 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->requests = requests; scoreboard 111 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->max_children_reached = max_children_reached; scoreboard 114 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->slow_rq = slow_rq; scoreboard 117 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->idle + idle > 0) { scoreboard 118 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->idle += idle; scoreboard 120 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->idle = 0; scoreboard 123 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->active + active > 0) { scoreboard 124 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->active += active; scoreboard 126 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->active = 0; scoreboard 129 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->requests + requests > 0) { scoreboard 130 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->requests += requests; scoreboard 132 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->requests = 0; scoreboard 135 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->max_children_reached + max_children_reached > 0) { scoreboard 136 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->max_children_reached += max_children_reached; scoreboard 138 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->max_children_reached = 0; scoreboard 141 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->slow_rq + slow_rq > 0) { scoreboard 142 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->slow_rq += slow_rq; scoreboard 144 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->slow_rq = 0; scoreboard 148 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->active > scoreboard->active_max) { scoreboard 149 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->active_max = scoreboard->active; scoreboard 152 sapi/fpm/fpm/fpm_scoreboard.c fpm_unlock(scoreboard->lock); scoreboard 162 sapi/fpm/fpm/fpm_scoreboard.c struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(struct fpm_scoreboard_s *scoreboard, int child_index) /* {{{*/ scoreboard 164 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 165 sapi/fpm/fpm/fpm_scoreboard.c scoreboard = fpm_scoreboard; scoreboard 168 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 176 sapi/fpm/fpm/fpm_scoreboard.c if (child_index < 0 || child_index >= scoreboard->nprocs) { scoreboard 180 sapi/fpm/fpm/fpm_scoreboard.c return scoreboard->procs[child_index]; scoreboard 184 sapi/fpm/fpm/fpm_scoreboard.c struct fpm_scoreboard_s *fpm_scoreboard_acquire(struct fpm_scoreboard_s *scoreboard, int nohang) /* {{{ */ scoreboard 188 sapi/fpm/fpm/fpm_scoreboard.c s = scoreboard ? scoreboard : fpm_scoreboard; scoreboard 200 sapi/fpm/fpm/fpm_scoreboard.c void fpm_scoreboard_release(struct fpm_scoreboard_s *scoreboard) { scoreboard 201 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 205 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->lock = 0; scoreboard 208 sapi/fpm/fpm/fpm_scoreboard.c struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_acquire(struct fpm_scoreboard_s *scoreboard, int child_index, int nohang) /* {{{ */ scoreboard 212 sapi/fpm/fpm/fpm_scoreboard.c proc = fpm_scoreboard_proc_get(scoreboard, child_index); scoreboard 234 sapi/fpm/fpm/fpm_scoreboard.c void fpm_scoreboard_free(struct fpm_scoreboard_s *scoreboard) /* {{{ */ scoreboard 238 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 243 sapi/fpm/fpm/fpm_scoreboard.c for (i = 0; i < scoreboard->nprocs; i++) { scoreboard 244 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard->procs[i]) { scoreboard 247 sapi/fpm/fpm/fpm_scoreboard.c fpm_shm_free(scoreboard->procs[i], sizeof(struct fpm_scoreboard_proc_s)); scoreboard 249 sapi/fpm/fpm/fpm_scoreboard.c fpm_shm_free(scoreboard, sizeof(struct fpm_scoreboard_s)); scoreboard 253 sapi/fpm/fpm/fpm_scoreboard.c void fpm_scoreboard_child_use(struct fpm_scoreboard_s *scoreboard, int child_index, pid_t pid) /* {{{ */ scoreboard 256 sapi/fpm/fpm/fpm_scoreboard.c fpm_scoreboard = scoreboard; scoreboard 258 sapi/fpm/fpm/fpm_scoreboard.c proc = fpm_scoreboard_proc_get(scoreboard, child_index); scoreboard 267 sapi/fpm/fpm/fpm_scoreboard.c void fpm_scoreboard_proc_free(struct fpm_scoreboard_s *scoreboard, int child_index) /* {{{ */ scoreboard 269 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard) { scoreboard 273 sapi/fpm/fpm/fpm_scoreboard.c if (child_index < 0 || child_index >= scoreboard->nprocs) { scoreboard 277 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->procs[child_index] && scoreboard->procs[child_index]->used > 0) { scoreboard 278 sapi/fpm/fpm/fpm_scoreboard.c memset(scoreboard->procs[child_index], 0, sizeof(struct fpm_scoreboard_proc_s)); scoreboard 282 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->free_proc = child_index; scoreboard 286 sapi/fpm/fpm/fpm_scoreboard.c int fpm_scoreboard_proc_alloc(struct fpm_scoreboard_s *scoreboard, int *child_index) /* {{{ */ scoreboard 290 sapi/fpm/fpm/fpm_scoreboard.c if (!scoreboard || !child_index) { scoreboard 295 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->free_proc >= 0 && scoreboard->free_proc < scoreboard->nprocs) { scoreboard 296 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->procs[scoreboard->free_proc] && !scoreboard->procs[scoreboard->free_proc]->used) { scoreboard 297 sapi/fpm/fpm/fpm_scoreboard.c i = scoreboard->free_proc; scoreboard 302 sapi/fpm/fpm/fpm_scoreboard.c zlog(ZLOG_DEBUG, "[pool %s] the proc->free_slot was not free. Let's search", scoreboard->pool); scoreboard 303 sapi/fpm/fpm/fpm_scoreboard.c for (i = 0; i < scoreboard->nprocs; i++) { scoreboard 304 sapi/fpm/fpm/fpm_scoreboard.c if (scoreboard->procs[i] && !scoreboard->procs[i]->used) { /* found */ scoreboard 311 sapi/fpm/fpm/fpm_scoreboard.c if (i < 0 || i >= scoreboard->nprocs) { scoreboard 312 sapi/fpm/fpm/fpm_scoreboard.c zlog(ZLOG_ERROR, "[pool %s] no free scoreboard slot", scoreboard->pool); scoreboard 316 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->procs[i]->used = 1; scoreboard 320 sapi/fpm/fpm/fpm_scoreboard.c if (i + 1 >= scoreboard->nprocs) { scoreboard 321 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->free_proc = 0; scoreboard 323 sapi/fpm/fpm/fpm_scoreboard.c scoreboard->free_proc = i + 1; scoreboard 74 sapi/fpm/fpm/fpm_scoreboard.h void fpm_scoreboard_update(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, int action, struct fpm_scoreboard_s *scoreboard); scoreboard 76 sapi/fpm/fpm/fpm_scoreboard.h struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(struct fpm_scoreboard_s *scoreboard, int child_index); scoreboard 78 sapi/fpm/fpm/fpm_scoreboard.h struct fpm_scoreboard_s *fpm_scoreboard_acquire(struct fpm_scoreboard_s *scoreboard, int nohang); scoreboard 79 sapi/fpm/fpm/fpm_scoreboard.h void fpm_scoreboard_release(struct fpm_scoreboard_s *scoreboard); scoreboard 80 sapi/fpm/fpm/fpm_scoreboard.h struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_acquire(struct fpm_scoreboard_s *scoreboard, int child_index, int nohang); scoreboard 83 sapi/fpm/fpm/fpm_scoreboard.h void fpm_scoreboard_free(struct fpm_scoreboard_s *scoreboard); scoreboard 85 sapi/fpm/fpm/fpm_scoreboard.h void fpm_scoreboard_child_use(struct fpm_scoreboard_s *scoreboard, int child_index, pid_t pid); scoreboard 87 sapi/fpm/fpm/fpm_scoreboard.h void fpm_scoreboard_proc_free(struct fpm_scoreboard_s *scoreboard, int child_index); scoreboard 88 sapi/fpm/fpm/fpm_scoreboard.h int fpm_scoreboard_proc_alloc(struct fpm_scoreboard_s *scoreboard, int *child_index); scoreboard 380 sapi/fpm/fpm/fpm_sockets.c fpm_scoreboard_update(-1, -1, -1, (int)lq_len, -1, -1, 0, FPM_SCOREBOARD_ACTION_SET, wp->scoreboard); scoreboard 51 sapi/fpm/fpm/fpm_status.c struct fpm_scoreboard_s scoreboard, *scoreboard_p; scoreboard 106 sapi/fpm/fpm/fpm_status.c scoreboard = *scoreboard_p; scoreboard 109 sapi/fpm/fpm/fpm_status.c if (scoreboard.idle < 0 || scoreboard.active < 0) { scoreboard 110 sapi/fpm/fpm/fpm_status.c zlog(ZLOG_ERROR, "[pool %s] invalid status values", scoreboard.pool); scoreboard 359 sapi/fpm/fpm/fpm_status.c strftime(time_buffer, sizeof(time_buffer) - 1, time_format, localtime(&scoreboard.start_epoch)); scoreboard 362 sapi/fpm/fpm/fpm_status.c scoreboard.pool, scoreboard 363 sapi/fpm/fpm/fpm_status.c PM2STR(scoreboard.pm), scoreboard 365 sapi/fpm/fpm/fpm_status.c now_epoch - scoreboard.start_epoch, scoreboard 366 sapi/fpm/fpm/fpm_status.c scoreboard.requests, scoreboard 368 sapi/fpm/fpm/fpm_status.c scoreboard.lq, scoreboard 369 sapi/fpm/fpm/fpm_status.c scoreboard.lq_max, scoreboard 370 sapi/fpm/fpm/fpm_status.c scoreboard.lq_len, scoreboard 372 sapi/fpm/fpm/fpm_status.c scoreboard.idle, scoreboard 373 sapi/fpm/fpm/fpm_status.c scoreboard.active, scoreboard 374 sapi/fpm/fpm/fpm_status.c scoreboard.idle + scoreboard.active, scoreboard 375 sapi/fpm/fpm/fpm_status.c scoreboard.active_max, scoreboard 376 sapi/fpm/fpm/fpm_status.c scoreboard.max_children_reached, scoreboard 377 sapi/fpm/fpm/fpm_status.c scoreboard.slow_rq); scoreboard 23 sapi/fpm/fpm/fpm_systemd.c if (wp->scoreboard) { scoreboard 24 sapi/fpm/fpm/fpm_systemd.c active += wp->scoreboard->active; scoreboard 25 sapi/fpm/fpm/fpm_systemd.c idle += wp->scoreboard->idle; scoreboard 26 sapi/fpm/fpm/fpm_systemd.c requests += wp->scoreboard->requests; scoreboard 27 sapi/fpm/fpm/fpm_systemd.c slow_req += wp->scoreboard->slow_rq; scoreboard 47 sapi/fpm/fpm/fpm_worker_pool.c fpm_scoreboard_free(wp->scoreboard); scoreboard 38 sapi/fpm/fpm/fpm_worker_pool.h struct fpm_scoreboard_s *scoreboard;