Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
scoreboard.h File Reference

Apache scoreboard library. More...

#include "ap_config.h"
#include "http_config.h"
#include "apr_thread_proc.h"
#include "apr_portable.h"
#include "apr_shm.h"
#include "apr_optional.h"

Go to the source code of this file.

Classes

struct  worker_score
 
struct  global_score
 
struct  process_score
 
struct  scoreboard
 
struct  ap_LINK_pre_mpm_t
 

Macros

#define DEFAULT_SCOREBOARD   "logs/apache_runtime_status"
 
#define SERVER_DEAD   0
 
#define SERVER_STARTING   1 /* Server Starting up */
 
#define SERVER_READY   2 /* Waiting for connection (or accept() lock) */
 
#define SERVER_BUSY_READ   3 /* Reading a client request */
 
#define SERVER_BUSY_WRITE   4 /* Processing a client request */
 
#define SERVER_BUSY_KEEPALIVE   5 /* Waiting for more requests via keepalive */
 
#define SERVER_BUSY_LOG   6 /* Logging the request */
 
#define SERVER_BUSY_DNS   7 /* Looking up a hostname */
 
#define SERVER_CLOSING   8 /* Closing the connection */
 
#define SERVER_GRACEFUL   9 /* server is gracefully finishing request */
 
#define SERVER_IDLE_KILL   10 /* Server is cleaning up idle children. */
 
#define SERVER_NUM_STATUS   11 /* number of status settings */
 
#define START_PREQUEST   1
 
#define STOP_PREQUEST   2
 

Typedefs

typedef int ap_generation_t
 
typedef struct worker_score worker_score
 
typedef struct process_score process_score
 
typedef struct ap_sb_handle_t ap_sb_handle_t
 
typedef int ap_HOOK_pre_mpm_t(apr_pool_t *p, ap_scoreboard_e sb_type)
 
typedef struct ap_LINK_pre_mpm_t ap_LINK_pre_mpm_t
 

Enumerations

enum  ap_scoreboard_e { SB_NOT_SHARED = 1 , SB_SHARED = 2 }
 

Functions

int ap_create_scoreboard (apr_pool_t *p, ap_scoreboard_e t)
 
apr_status_t ap_cleanup_scoreboard (void *d)
 
int ap_exists_scoreboard_image (void)
 
void ap_increment_counts (ap_sb_handle_t *sbh, request_rec *r)
 
void ap_set_conn_count (ap_sb_handle_t *sb, request_rec *r, unsigned short conn_count)
 
apr_status_t ap_reopen_scoreboard (apr_pool_t *p, apr_shm_t **shm, int detached)
 
void ap_init_scoreboard (void *shared_score)
 
int ap_calc_scoreboard_size (void)
 
void ap_create_sb_handle (ap_sb_handle_t **new_sbh, apr_pool_t *p, int child_num, int thread_num)
 
void ap_update_sb_handle (ap_sb_handle_t *sbh, int child_num, int thread_num)
 
int ap_find_child_by_pid (apr_proc_t *pid)
 
int ap_update_child_status (ap_sb_handle_t *sbh, int status, request_rec *r)
 
int ap_update_child_status_from_indexes (int child_num, int thread_num, int status, request_rec *r)
 
int ap_update_child_status_from_conn (ap_sb_handle_t *sbh, int status, conn_rec *c)
 
int ap_update_child_status_from_server (ap_sb_handle_t *sbh, int status, conn_rec *c, server_rec *s)
 
int ap_update_child_status_descr (ap_sb_handle_t *sbh, int status, const char *descr)
 
void ap_time_process_request (ap_sb_handle_t *sbh, int status)
 
int ap_update_global_status (void)
 
worker_scoreap_get_scoreboard_worker (ap_sb_handle_t *sbh)
 
worker_scoreap_get_scoreboard_worker_from_indexes (int child_num, int thread_num)
 
void ap_copy_scoreboard_worker (worker_score *dest, int child_num, int thread_num)
 
process_scoreap_get_scoreboard_process (int x)
 
global_scoreap_get_scoreboard_global (void)
 
const charap_set_scoreboard (cmd_parms *cmd, void *dummy, const char *arg)
 
const charap_set_extended_status (cmd_parms *cmd, void *dummy, int arg)
 
const charap_set_reqtail (cmd_parms *cmd, void *dummy, int arg)
 
void ap_hook_pre_mpm (ap_HOOK_pre_mpm_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_pre_mpm (apr_pool_t *p, ap_scoreboard_e sb_type)
 
apr_array_header_tap_hook_get_pre_mpm (void)
 

Variables

scoreboardap_scoreboard_image
 
const charap_scoreboard_fname
 
int ap_extended_status
 
int ap_mod_status_reqtail
 

Detailed Description

Apache scoreboard library.

Definition in file scoreboard.h.

Macro Definition Documentation

◆ DEFAULT_SCOREBOARD

#define DEFAULT_SCOREBOARD   "logs/apache_runtime_status"

Definition at line 43 of file scoreboard.h.

◆ SERVER_BUSY_DNS

#define SERVER_BUSY_DNS   7 /* Looking up a hostname */

Definition at line 63 of file scoreboard.h.

◆ SERVER_BUSY_KEEPALIVE

#define SERVER_BUSY_KEEPALIVE   5 /* Waiting for more requests via keepalive */

Definition at line 61 of file scoreboard.h.

◆ SERVER_BUSY_LOG

#define SERVER_BUSY_LOG   6 /* Logging the request */

Definition at line 62 of file scoreboard.h.

◆ SERVER_BUSY_READ

#define SERVER_BUSY_READ   3 /* Reading a client request */

Definition at line 59 of file scoreboard.h.

◆ SERVER_BUSY_WRITE

#define SERVER_BUSY_WRITE   4 /* Processing a client request */

Definition at line 60 of file scoreboard.h.

◆ SERVER_CLOSING

#define SERVER_CLOSING   8 /* Closing the connection */

Definition at line 64 of file scoreboard.h.

◆ SERVER_DEAD

#define SERVER_DEAD   0

Definition at line 56 of file scoreboard.h.

◆ SERVER_GRACEFUL

#define SERVER_GRACEFUL   9 /* server is gracefully finishing request */

Definition at line 65 of file scoreboard.h.

◆ SERVER_IDLE_KILL

#define SERVER_IDLE_KILL   10 /* Server is cleaning up idle children. */

Definition at line 66 of file scoreboard.h.

◆ SERVER_NUM_STATUS

#define SERVER_NUM_STATUS   11 /* number of status settings */

Definition at line 67 of file scoreboard.h.

◆ SERVER_READY

#define SERVER_READY   2 /* Waiting for connection (or accept() lock) */

Definition at line 58 of file scoreboard.h.

◆ SERVER_STARTING

#define SERVER_STARTING   1 /* Server Starting up */

Definition at line 57 of file scoreboard.h.

◆ START_PREQUEST

#define START_PREQUEST   1

Definition at line 249 of file scoreboard.h.

◆ STOP_PREQUEST

#define STOP_PREQUEST   2

Definition at line 250 of file scoreboard.h.

Typedef Documentation

◆ ap_generation_t

Definition at line 78 of file scoreboard.h.

◆ ap_LINK_pre_mpm_t

◆ ap_sb_handle_t

Definition at line 166 of file scoreboard.h.

◆ process_score

Definition at line 136 of file scoreboard.h.

◆ worker_score

Definition at line 89 of file scoreboard.h.

Enumeration Type Documentation

◆ ap_scoreboard_e

Enumerator
SB_NOT_SHARED 
SB_SHARED 

Definition at line 83 of file scoreboard.h.

Function Documentation

◆ ap_calc_scoreboard_size()

int ap_calc_scoreboard_size ( void  )

Definition at line 138 of file scoreboard.c.

◆ ap_cleanup_scoreboard()

apr_status_t ap_cleanup_scoreboard ( void *  d)

Definition at line 285 of file scoreboard.c.

◆ ap_copy_scoreboard_worker()

void ap_copy_scoreboard_worker ( worker_score dest,
int  child_num,
int  thread_num 
)

Copy the contents of a worker scoreboard entry. The contents of the worker_score structure are copied verbatim into the dest structure.

Parameters
destOutput parameter.
child_numThe child number.
thread_numThe thread number.

Definition at line 685 of file scoreboard.c.

◆ ap_create_sb_handle()

void ap_create_sb_handle ( ap_sb_handle_t **  new_sbh,
apr_pool_t p,
int  child_num,
int  thread_num 
)

Definition at line 432 of file scoreboard.c.

◆ ap_create_scoreboard()

int ap_create_scoreboard ( apr_pool_t p,
ap_scoreboard_e  t 
)

< Module has handled this stage.

< Module has handled this stage.

Definition at line 304 of file scoreboard.c.

◆ ap_exists_scoreboard_image()

int ap_exists_scoreboard_image ( void  )

Definition at line 362 of file scoreboard.c.

◆ ap_find_child_by_pid()

int ap_find_child_by_pid ( apr_proc_t pid)

Definition at line 409 of file scoreboard.c.

◆ ap_get_scoreboard_global()

global_score * ap_get_scoreboard_global ( void  )

Definition at line 710 of file scoreboard.c.

◆ ap_get_scoreboard_process()

process_score * ap_get_scoreboard_process ( int  x)

Definition at line 702 of file scoreboard.c.

◆ ap_get_scoreboard_worker()

worker_score * ap_get_scoreboard_worker ( ap_sb_handle_t sbh)

Definition at line 676 of file scoreboard.c.

◆ ap_get_scoreboard_worker_from_indexes()

worker_score * ap_get_scoreboard_worker_from_indexes ( int  child_num,
int  thread_num 
)

Return a pointer to the worker_score for a given child, thread pair.

Parameters
child_numThe child number.
thread_numThe thread number.
Returns
A pointer to the worker_score structure.
Deprecated:
This function is deprecated, use ap_copy_scoreboard_worker instead.

Definition at line 667 of file scoreboard.c.

◆ ap_hook_get_pre_mpm()

apr_array_header_t * ap_hook_get_pre_mpm ( void  )

Definition at line 102 of file scoreboard.c.

◆ ap_hook_pre_mpm()

void ap_hook_pre_mpm ( ap_HOOK_pre_mpm_t pf,
const char *const aszPre,
const char *const aszSucc,
int  nOrder 
)

Definition at line 102 of file scoreboard.c.

◆ ap_increment_counts()

void ap_increment_counts ( ap_sb_handle_t sbh,
request_rec r 
)

RFC 2616: HTTP

Definition at line 379 of file scoreboard.c.

◆ ap_init_scoreboard()

void ap_init_scoreboard ( void *  shared_score)

Definition at line 150 of file scoreboard.c.

◆ ap_reopen_scoreboard()

apr_status_t ap_reopen_scoreboard ( apr_pool_t p,
apr_shm_t **  shm,
int  detached 
)

Definition at line 263 of file scoreboard.c.

◆ ap_run_pre_mpm()

int ap_run_pre_mpm ( apr_pool_t p,
ap_scoreboard_e  sb_type 
)

< Module has handled this stage.

< Module has handled this stage.

< Module declines to handle

< Module has handled this stage.

Definition at line 102 of file scoreboard.c.

◆ ap_set_conn_count()

void ap_set_conn_count ( ap_sb_handle_t sb,
request_rec r,
unsigned short  conn_count 
)

Definition at line 367 of file scoreboard.c.

◆ ap_set_extended_status()

const char * ap_set_extended_status ( cmd_parms cmd,
void *  dummy,
int  arg 
)

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

Definition at line 63 of file scoreboard.c.

◆ ap_set_reqtail()

const char * ap_set_reqtail ( cmd_parms cmd,
void *  dummy,
int  arg 
)

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

Definition at line 75 of file scoreboard.c.

◆ ap_set_scoreboard()

const char * ap_set_scoreboard ( cmd_parms cmd,
void *  dummy,
const char arg 
)

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

Definition at line 48 of file scoreboard.c.

◆ ap_time_process_request()

void ap_time_process_request ( ap_sb_handle_t sbh,
int  status 
)

Definition at line 632 of file scoreboard.c.

◆ ap_update_child_status()

int ap_update_child_status ( ap_sb_handle_t sbh,
int  status,
request_rec r 
)

Definition at line 590 of file scoreboard.c.

◆ ap_update_child_status_descr()

int ap_update_child_status_descr ( ap_sb_handle_t sbh,
int  status,
const char descr 
)

Definition at line 623 of file scoreboard.c.

◆ ap_update_child_status_from_conn()

int ap_update_child_status_from_conn ( ap_sb_handle_t sbh,
int  status,
conn_rec c 
)

Definition at line 603 of file scoreboard.c.

◆ ap_update_child_status_from_indexes()

int ap_update_child_status_from_indexes ( int  child_num,
int  thread_num,
int  status,
request_rec r 
)

Definition at line 575 of file scoreboard.c.

◆ ap_update_child_status_from_server()

int ap_update_child_status_from_server ( ap_sb_handle_t sbh,
int  status,
conn_rec c,
server_rec s 
)

Definition at line 613 of file scoreboard.c.

◆ ap_update_global_status()

int ap_update_global_status ( void  )

Definition at line 656 of file scoreboard.c.

◆ ap_update_sb_handle()

void ap_update_sb_handle ( ap_sb_handle_t sbh,
int  child_num,
int  thread_num 
)

Definition at line 425 of file scoreboard.c.

Variable Documentation

◆ ap_extended_status

int ap_extended_status
extern

Definition at line 61 of file scoreboard.c.

◆ ap_mod_status_reqtail

int ap_mod_status_reqtail
extern

Definition at line 73 of file scoreboard.c.

◆ ap_scoreboard_fname

const char* ap_scoreboard_fname
extern

Definition at line 45 of file scoreboard.c.

◆ ap_scoreboard_image

scoreboard* ap_scoreboard_image
extern

Definition at line 44 of file scoreboard.c.