24static const char *requests_stages[] = {
34 return requests_stages[stage];
89 proc->cpu_accepted = cpu;
130 if (request_method) {
146 if (script_filename) {
195 proc->last_request_cpu.tms_utime = cpu.tms_utime - proc->cpu_accepted.tms_utime;
196 proc->last_request_cpu.tms_stime = cpu.tms_stime - proc->cpu_accepted.tms_stime;
197 proc->last_request_cpu.tms_cutime = cpu.tms_cutime - proc->cpu_accepted.tms_cutime;
198 proc->last_request_cpu.tms_cstime = cpu.tms_cstime - proc->cpu_accepted.tms_cstime;
254 if (child->
slow_logged.tv_sec == 0 && slowlog_timeout &&
264 zlog(
ZLOG_WARNING,
"[pool %s] child %d, script '%s' (request: \"%s %s%s%s\") executing too slow (%d.%06d sec), logging",
267 (
int)
tv.tv_sec, (
int)
tv.tv_usec);
271 if (terminate_timeout &&
tv.tv_sec >= terminate_timeout) {
275 zlog(
ZLOG_WARNING,
"[pool %s] child %d, script '%s' (request: \"%s %s%s%s\") execution timed out (%d.%06d sec), terminating",
278 (
int)
tv.tv_sec, (
int)
tv.tv_usec);
int fpm_clock_get(struct timeval *tv)
#define timersub(tvp, uvp, vvp)
char * fpm_php_script_filename(void)
size_t fpm_php_content_length(void)
char * fpm_php_request_method(void)
char * fpm_php_query_string(void)
char * fpm_php_request_uri(void)
char * fpm_php_auth_user(void)
void fpm_php_trace(struct fpm_child_s *)
int fpm_pctl_kill(pid_t pid, int how)
void fpm_request_accepting(void)
void fpm_request_finished(void)
void fpm_request_info(void)
void fpm_request_reading_headers(void)
void fpm_request_end(void)
void fpm_request_check_timed_out(struct fpm_child_s *child, struct timeval *now, int terminate_timeout, int slowlog_timeout, int track_finished)
void fpm_request_executing(void)
int fpm_request_last_activity(struct fpm_child_s *child, struct timeval *tv)
int fpm_request_is_idle(struct fpm_child_s *child)
const char * fpm_request_get_stage_name(int stage)
@ FPM_REQUEST_READING_HEADERS
struct fpm_scoreboard_proc_s * fpm_scoreboard_proc_acquire(struct fpm_scoreboard_s *scoreboard, int child_index, int nohang)
struct fpm_scoreboard_proc_s * fpm_scoreboard_proc_get_from_child(struct fpm_child_s *child)
void fpm_scoreboard_update_begin(struct fpm_scoreboard_s *scoreboard)
void fpm_scoreboard_proc_release(struct fpm_scoreboard_proc_s *proc)
void fpm_scoreboard_update_commit(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, size_t memory_peak, int action, struct fpm_scoreboard_s *scoreboard)
#define FPM_SCOREBOARD_ACTION_INC
#define FPM_SCOREBOARD_ACTION_SET
int fpm_trace_signal(pid_t pid)
void(* tracer)(struct fpm_child_s *)
struct timeval slow_logged
struct fpm_worker_pool_s * wp
char script_filename[256]
enum fpm_request_stage_e request_stage
struct fpm_worker_pool_config_s * config
struct fpm_scoreboard_s * scoreboard
ZEND_API size_t zend_memory_peak_usage(bool real_usage)