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"
Include dependency graph for scoreboard.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  worker_score
struct  global_score
struct  process_score
struct  scoreboard


#define DEFAULT_SCOREBOARD   "apache_runtime_status" /* within DEFAULT_REL_RUNTIMEDIR */
#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


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


enum  ap_scoreboard_e { SB_NOT_SHARED = 1, SB_SHARED = 2 }


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 char * ap_set_scoreboard (cmd_parms *cmd, void *dummy, const char *arg)
const char * ap_set_extended_status (cmd_parms *cmd, void *dummy, int arg)
const char * ap_set_reqtail (cmd_parms *cmd, void *dummy, int arg)
int pre_mpm (apr_pool_t *p, ap_scoreboard_e sb_type)


AP_DECLARE_DATA scoreboardap_scoreboard_image
AP_DECLARE_DATA const char * ap_scoreboard_fname
AP_DECLARE_DATA int ap_extended_status
AP_DECLARE_DATA int ap_mod_status_reqtail

Detailed Description

Apache scoreboard library.

Macro Definition Documentation

#define DEFAULT_SCOREBOARD   "apache_runtime_status" /* within DEFAULT_REL_RUNTIMEDIR */
#define SERVER_BUSY_DNS   7 /* Looking up a hostname */
#define SERVER_BUSY_KEEPALIVE   5 /* Waiting for more requests via keepalive */
#define SERVER_BUSY_LOG   6 /* Logging the request */
#define SERVER_BUSY_READ   3 /* Reading a client request */
#define SERVER_BUSY_WRITE   4 /* Processing a client request */
#define SERVER_CLOSING   8 /* Closing the connection */
#define SERVER_DEAD   0
#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 SERVER_READY   2 /* Waiting for connection (or accept() lock) */
#define SERVER_STARTING   1 /* Server Starting up */
#define START_PREQUEST   1
#define STOP_PREQUEST   2

Typedef Documentation

typedef struct process_score process_score
typedef struct worker_score worker_score

Enumeration Type Documentation


Function Documentation

int ap_calc_scoreboard_size ( void  )
apr_status_t ap_cleanup_scoreboard ( void d)
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.

destOutput parameter.
child_numThe child number.
thread_numThe thread number.
void ap_create_sb_handle ( ap_sb_handle_t **  new_sbh,
apr_pool_t p,
int  child_num,
int  thread_num 
int ap_create_scoreboard ( apr_pool_t p,
ap_scoreboard_e  t 
int ap_exists_scoreboard_image ( void  )
int ap_find_child_by_pid ( apr_proc_t pid)
global_score* ap_get_scoreboard_global ( void  )
process_score* ap_get_scoreboard_process ( int  x)
worker_score* ap_get_scoreboard_worker ( ap_sb_handle_t sbh)
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.

child_numThe child number.
thread_numThe thread number.
A pointer to the worker_score structure.
This function is deprecated, use ap_copy_scoreboard_worker instead.
void ap_increment_counts ( ap_sb_handle_t sbh,
request_rec r 
void ap_init_scoreboard ( void shared_score)
apr_status_t ap_reopen_scoreboard ( apr_pool_t p,
apr_shm_t **  shm,
int  detached 
void ap_set_conn_count ( ap_sb_handle_t sb,
request_rec r,
unsigned short  conn_count 
const char* ap_set_extended_status ( cmd_parms cmd,
void dummy,
int  arg 
const char* ap_set_reqtail ( cmd_parms cmd,
void dummy,
int  arg 
const char* ap_set_scoreboard ( cmd_parms cmd,
void dummy,
const char *  arg 
void ap_time_process_request ( ap_sb_handle_t sbh,
int  status 
int ap_update_child_status ( ap_sb_handle_t sbh,
int  status,
request_rec r 
int ap_update_child_status_descr ( ap_sb_handle_t sbh,
int  status,
const char *  descr 
int ap_update_child_status_from_conn ( ap_sb_handle_t sbh,
int  status,
conn_rec c 
int ap_update_child_status_from_indexes ( int  child_num,
int  thread_num,
int  status,
request_rec r 
int ap_update_child_status_from_server ( ap_sb_handle_t sbh,
int  status,
conn_rec c,
server_rec s 
int ap_update_global_status ( void  )
void ap_update_sb_handle ( ap_sb_handle_t sbh,
int  child_num,
int  thread_num 

Variable Documentation

AP_DECLARE_DATA int ap_extended_status
AP_DECLARE_DATA int ap_mod_status_reqtail
AP_DECLARE_DATA const char* ap_scoreboard_fname
AP_DECLARE_DATA scoreboard* ap_scoreboard_image