cgi/histogram.c File Reference

#include "../include/config.h"
#include "../include/common.h"
#include "../include/objects.h"
#include "../include/statusdata.h"
#include "../include/cgiutils.h"
#include "../include/getcgi.h"
#include "../include/cgiauth.h"
#include <gd.h>
#include <gdfonts.h>

Data Structures

struct  timeslice_data_struct

Defines

#define HISTOGRAM_IMAGE   "histogram.png"
#define AS_NO_DATA   0
#define AS_PROGRAM_START   1
#define AS_PROGRAM_END   2
#define AS_HOST_UP   3
#define AS_HOST_DOWN   4
#define AS_HOST_UNREACHABLE   5
#define AS_SVC_OK   6
#define AS_SVC_UNKNOWN   7
#define AS_SVC_WARNING   8
#define AS_SVC_CRITICAL   9
#define DISPLAY_HOST_HISTOGRAM   0
#define DISPLAY_SERVICE_HISTOGRAM   1
#define DISPLAY_NO_HISTOGRAM   2
#define GET_INPUT_NONE   0
#define GET_INPUT_TARGET_TYPE   1
#define GET_INPUT_HOST_TARGET   2
#define GET_INPUT_SERVICE_TARGET   3
#define GET_INPUT_OPTIONS   4
#define BREAKDOWN_MONTHLY   0
#define BREAKDOWN_DAY_OF_MONTH   1
#define BREAKDOWN_DAY_OF_WEEK   2
#define BREAKDOWN_HOURLY   3
#define TIMEPERIOD_CUSTOM   0
#define TIMEPERIOD_TODAY   1
#define TIMEPERIOD_YESTERDAY   2
#define TIMEPERIOD_THISWEEK   3
#define TIMEPERIOD_LASTWEEK   4
#define TIMEPERIOD_THISMONTH   5
#define TIMEPERIOD_LASTMONTH   6
#define TIMEPERIOD_THISQUARTER   7
#define TIMEPERIOD_LASTQUARTER   8
#define TIMEPERIOD_THISYEAR   9
#define TIMEPERIOD_LASTYEAR   10
#define TIMEPERIOD_LAST24HOURS   11
#define TIMEPERIOD_LAST7DAYS   12
#define TIMEPERIOD_LAST31DAYS   13
#define MAX_ARCHIVE_SPREAD   65
#define MAX_ARCHIVE   65
#define MAX_ARCHIVE_BACKTRACKS   60
#define DRAWING_WIDTH   550
#define DRAWING_HEIGHT   195
#define DRAWING_X_OFFSET   60
#define DRAWING_Y_OFFSET   235
#define GRAPH_HOST_UP   1
#define GRAPH_HOST_DOWN   2
#define GRAPH_HOST_UNREACHABLE   4
#define GRAPH_SERVICE_OK   8
#define GRAPH_SERVICE_WARNING   16
#define GRAPH_SERVICE_UNKNOWN   32
#define GRAPH_SERVICE_CRITICAL   64
#define GRAPH_HOST_PROBLEMS   6
#define GRAPH_HOST_ALL   7
#define GRAPH_SERVICE_PROBLEMS   112
#define GRAPH_SERVICE_ALL   120
#define GRAPH_EVERYTHING   255
#define GRAPH_SOFT_STATETYPES   1
#define GRAPH_HARD_STATETYPES   2
#define GRAPH_ALL_STATETYPES   3

Typedefs

typedef timeslice_data_struct timeslice_data

Functions

void convert_timeperiod_to_times (int)
void compute_report_times (void)
void graph_all_histogram_data (void)
void add_archived_state (int, time_t)
void read_archived_state_data (void)
void scan_log_file_for_archived_state_data (char *)
void draw_line (int, int, int, int, int)
void draw_dashed_line (int, int, int, int, int)
int process_cgivars (void)
int main (int argc, char **argv)

Variables

char main_config_file [MAX_FILENAME_LENGTH]
char url_html_path [MAX_FILENAME_LENGTH]
char url_images_path [MAX_FILENAME_LENGTH]
char url_stylesheets_path [MAX_FILENAME_LENGTH]
char url_js_path [MAX_FILENAME_LENGTH]
char physical_images_path [MAX_FILENAME_LENGTH]
int log_rotation_method
hosthost_list
serviceservice_list
authdata current_authdata
timeslice_datatsdata
time_t t1
time_t t2
int start_second = 0
int start_minute = 0
int start_hour = 0
int start_day = 1
int start_month = 1
int start_year = 2000
int end_second = 0
int end_minute = 0
int end_hour = 24
int end_day = 1
int end_month = 1
int end_year = 2000
int content_type
int input_type = GET_INPUT_NONE
int timeperiod_type = TIMEPERIOD_LAST24HOURS
int breakdown_type = BREAKDOWN_HOURLY
int compute_time_from_parts = FALSE
int initial_states_logged = FALSE
int assume_state_retention = TRUE
int new_states_only = FALSE
int last_state = AS_NO_DATA
int program_restart_has_occurred = FALSE
int graph_events = GRAPH_EVERYTHING
int graph_statetypes = GRAPH_HARD_STATETYPES
int embedded
int display_header
int daemon_check
gdImagePtr histogram_image = 0
int color_white = 0
int color_black = 0
int color_red = 0
int color_darkred = 0
int color_green = 0
int color_yellow = 0
int color_orange = 0
int color_lightgray = 0
FILE * image_file = NULL
int backtrack_archives = 0
int earliest_archive = 0
time_t earliest_time
time_t latest_time
int image_width = 900
int image_height = 320
int total_buckets = 96
int display_type = DISPLAY_NO_HISTOGRAM
int show_all_hosts = TRUE
int show_all_hostgroups = TRUE
int show_all_servicegroups = TRUE
char * host_name = ""
char * host_filter = NULL
char * hostgroup_name = NULL
char * servicegroup_name = NULL
char * service_desc = ""
char * service_filter = NULL
int CGI_ID = HISTOGRAM_CGI_ID

Define Documentation

#define AS_HOST_DOWN   4

#define AS_HOST_UNREACHABLE   5

#define AS_HOST_UP   3

#define AS_NO_DATA   0

#define AS_PROGRAM_END   2

#define AS_PROGRAM_START   1

#define AS_SVC_CRITICAL   9

#define AS_SVC_OK   6

#define AS_SVC_UNKNOWN   7

#define AS_SVC_WARNING   8

#define BREAKDOWN_DAY_OF_MONTH   1

#define BREAKDOWN_DAY_OF_WEEK   2

#define BREAKDOWN_HOURLY   3

#define BREAKDOWN_MONTHLY   0

#define DISPLAY_HOST_HISTOGRAM   0

#define DISPLAY_NO_HISTOGRAM   2

#define DISPLAY_SERVICE_HISTOGRAM   1

#define DRAWING_HEIGHT   195

#define DRAWING_WIDTH   550

#define DRAWING_X_OFFSET   60

#define DRAWING_Y_OFFSET   235

#define GET_INPUT_HOST_TARGET   2

#define GET_INPUT_NONE   0

#define GET_INPUT_OPTIONS   4

#define GET_INPUT_SERVICE_TARGET   3

#define GET_INPUT_TARGET_TYPE   1

#define GRAPH_ALL_STATETYPES   3

#define GRAPH_EVERYTHING   255

#define GRAPH_HARD_STATETYPES   2

#define GRAPH_HOST_ALL   7

#define GRAPH_HOST_DOWN   2

#define GRAPH_HOST_PROBLEMS   6

#define GRAPH_HOST_UNREACHABLE   4

#define GRAPH_HOST_UP   1

#define GRAPH_SERVICE_ALL   120

#define GRAPH_SERVICE_CRITICAL   64

#define GRAPH_SERVICE_OK   8

#define GRAPH_SERVICE_PROBLEMS   112

#define GRAPH_SERVICE_UNKNOWN   32

#define GRAPH_SERVICE_WARNING   16

#define GRAPH_SOFT_STATETYPES   1

#define HISTOGRAM_IMAGE   "histogram.png"

#define MAX_ARCHIVE   65

#define MAX_ARCHIVE_BACKTRACKS   60

#define MAX_ARCHIVE_SPREAD   65

#define TIMEPERIOD_CUSTOM   0

#define TIMEPERIOD_LAST24HOURS   11

#define TIMEPERIOD_LAST31DAYS   13

#define TIMEPERIOD_LAST7DAYS   12

#define TIMEPERIOD_LASTMONTH   6

#define TIMEPERIOD_LASTQUARTER   8

#define TIMEPERIOD_LASTWEEK   4

#define TIMEPERIOD_LASTYEAR   10

#define TIMEPERIOD_THISMONTH   5

#define TIMEPERIOD_THISQUARTER   7

#define TIMEPERIOD_THISWEEK   3

#define TIMEPERIOD_THISYEAR   9

#define TIMEPERIOD_TODAY   1

#define TIMEPERIOD_YESTERDAY   2


Typedef Documentation

typedef struct timeslice_data_struct timeslice_data


Function Documentation

void add_archived_state ( int  ,
time_t   
)

void compute_report_times ( void   ) 

void convert_timeperiod_to_times ( int   ) 

void draw_dashed_line ( int  ,
int  ,
int  ,
int  ,
int   
)

void draw_line ( int  ,
int  ,
int  ,
int  ,
int   
)

void graph_all_histogram_data ( void   ) 

int main ( int  argc,
char **  argv 
)

int process_cgivars ( void   ) 

void read_archived_state_data ( void   ) 

void scan_log_file_for_archived_state_data ( char *   ) 


Variable Documentation

int assume_state_retention = TRUE

int backtrack_archives = 0

int breakdown_type = BREAKDOWN_HOURLY

int CGI_ID = HISTOGRAM_CGI_ID

int color_black = 0

int color_darkred = 0

int color_green = 0

int color_lightgray = 0

int color_orange = 0

int color_red = 0

int color_white = 0

int color_yellow = 0

int compute_time_from_parts = FALSE

int content_type

authdata current_authdata

int daemon_check

int display_header

int display_type = DISPLAY_NO_HISTOGRAM

int earliest_archive = 0

time_t earliest_time

int embedded

int end_day = 1

int end_hour = 24

int end_minute = 0

int end_month = 1

int end_second = 0

int end_year = 2000

int graph_events = GRAPH_EVERYTHING

int graph_statetypes = GRAPH_HARD_STATETYPES

gdImagePtr histogram_image = 0

char* host_filter = NULL

host* host_list

char* host_name = ""

char* hostgroup_name = NULL

FILE* image_file = NULL

int image_height = 320

int image_width = 900

int initial_states_logged = FALSE

int input_type = GET_INPUT_NONE

int last_state = AS_NO_DATA

time_t latest_time

int log_rotation_method

char main_config_file[MAX_FILENAME_LENGTH]

int new_states_only = FALSE

char physical_images_path[MAX_FILENAME_LENGTH]

int program_restart_has_occurred = FALSE

char* service_desc = ""

char* service_filter = NULL

service* service_list

char* servicegroup_name = NULL

int show_all_hostgroups = TRUE

int show_all_hosts = TRUE

int show_all_servicegroups = TRUE

int start_day = 1

int start_hour = 0

int start_minute = 0

int start_month = 1

int start_second = 0

int start_year = 2000

time_t t1

time_t t2

int timeperiod_type = TIMEPERIOD_LAST24HOURS

int total_buckets = 96

timeslice_data* tsdata

char url_html_path[MAX_FILENAME_LENGTH]

char url_images_path[MAX_FILENAME_LENGTH]

char url_js_path[MAX_FILENAME_LENGTH]

char url_stylesheets_path[MAX_FILENAME_LENGTH]


Generated on Wed Mar 30 17:22:22 2011 for icinga-core by  doxygen 1.4.7