http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_crashlog/procinfo.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_crashlog/procinfo.cc b/cmd/traffic_crashlog/procinfo.cc index 4886530..cb15b87 100644 --- a/cmd/traffic_crashlog/procinfo.cc +++ b/cmd/traffic_crashlog/procinfo.cc @@ -25,7 +25,7 @@ #include <sys/utsname.h> static int -procfd_open(pid_t pid, const char * fname) +procfd_open(pid_t pid, const char *fname) { char path[128]; snprintf(path, sizeof(path), "/proc/%ld/%s", (long)pid, fname); @@ -33,7 +33,7 @@ procfd_open(pid_t pid, const char * fname) } static char * -procfd_readlink(pid_t pid, const char * fname) +procfd_readlink(pid_t pid, const char *fname) { char path[128]; ssize_t nbytes; @@ -51,7 +51,7 @@ procfd_readlink(pid_t pid, const char * fname) } bool -crashlog_write_regions(FILE * fp, const crashlog_target& target) +crashlog_write_regions(FILE *fp, const crashlog_target &target) { ats_scoped_fd fd; textBuffer text(0); @@ -67,7 +67,7 @@ crashlog_write_regions(FILE * fp, const crashlog_target& target) } bool -crashlog_write_uname(FILE * fp, const crashlog_target&) +crashlog_write_uname(FILE *fp, const crashlog_target &) { struct utsname uts; @@ -81,7 +81,7 @@ crashlog_write_uname(FILE * fp, const crashlog_target&) } bool -crashlog_write_exename(FILE * fp, const crashlog_target& target) +crashlog_write_exename(FILE *fp, const crashlog_target &target) { ats_scoped_str str; @@ -95,11 +95,11 @@ crashlog_write_exename(FILE * fp, const crashlog_target& target) } bool -crashlog_write_procname(FILE * fp, const crashlog_target& target) +crashlog_write_procname(FILE *fp, const crashlog_target &target) { - ats_scoped_fd fd; - ats_scoped_str str; - textBuffer text(0); + ats_scoped_fd fd; + ats_scoped_str str; + textBuffer text(0); fd = procfd_open(target.pid, "comm"); if (fd != -1) { @@ -114,7 +114,7 @@ crashlog_write_procname(FILE * fp, const crashlog_target& target) } bool -crashlog_write_datime(FILE * fp, const crashlog_target& target) +crashlog_write_datime(FILE *fp, const crashlog_target &target) { char buf[128]; @@ -124,10 +124,10 @@ crashlog_write_datime(FILE * fp, const crashlog_target& target) } bool -crashlog_write_procstatus(FILE * fp, const crashlog_target& target) +crashlog_write_procstatus(FILE *fp, const crashlog_target &target) { - ats_scoped_fd fd; - textBuffer text(0); + ats_scoped_fd fd; + textBuffer text(0); fd = procfd_open(target.pid, "status"); if (fd != -1) { @@ -141,7 +141,7 @@ crashlog_write_procstatus(FILE * fp, const crashlog_target& target) } bool -crashlog_write_backtrace(FILE * fp, const crashlog_target&) +crashlog_write_backtrace(FILE *fp, const crashlog_target &) { TSString trace = NULL; TSMgmtError mgmterr; @@ -152,7 +152,7 @@ crashlog_write_backtrace(FILE * fp, const crashlog_target&) // kernel locking the process information? if ((mgmterr = TSProxyBacktraceGet(0, &trace)) != TS_ERR_OKAY) { - char * msg = TSGetErrorMessage(mgmterr); + char *msg = TSGetErrorMessage(mgmterr); fprintf(fp, "Unable to retrieve backtrace: %s\n", msg); TSfree(msg); return false; @@ -164,14 +164,14 @@ crashlog_write_backtrace(FILE * fp, const crashlog_target&) } bool -crashlog_write_records(FILE * fp, const crashlog_target&) +crashlog_write_records(FILE *fp, const crashlog_target &) { TSMgmtError mgmterr; TSList list = TSListCreate(); bool success = false; if ((mgmterr = TSRecordGetMatchMlt(".", list)) != TS_ERR_OKAY) { - char * msg = TSGetErrorMessage(mgmterr); + char *msg = TSGetErrorMessage(mgmterr); fprintf(fp, "Unable to retrieve Traffic Server records: %s\n", msg); TSfree(msg); goto done; @@ -179,9 +179,7 @@ crashlog_write_records(FILE * fp, const crashlog_target&) // If the RPC call failed, the list will be empty, so we won't print anything. Otherwise, // print all the results, freeing them as we go. - for (TSRecordEle * rec_ele = (TSRecordEle *) TSListDequeue(list); rec_ele; - rec_ele = (TSRecordEle *) TSListDequeue(list)) { - + for (TSRecordEle *rec_ele = (TSRecordEle *)TSListDequeue(list); rec_ele; rec_ele = (TSRecordEle *)TSListDequeue(list)) { if (!success) { success = true; fprintf(fp, "Traffic Server Configuration Records:\n"); @@ -214,7 +212,7 @@ done: } bool -crashlog_write_siginfo(FILE * fp, const crashlog_target& target) +crashlog_write_siginfo(FILE *fp, const crashlog_target &target) { char tmp[32]; @@ -224,8 +222,7 @@ crashlog_write_siginfo(FILE * fp, const crashlog_target& target) } fprintf(fp, "Signal Status:\n"); - fprintf(fp, LABELFMT "%d (%s)\n", "siginfo.si_signo:", - target.siginfo.si_signo, strsignal(target.siginfo.si_signo)); + fprintf(fp, LABELFMT "%d (%s)\n", "siginfo.si_signo:", target.siginfo.si_signo, strsignal(target.siginfo.si_signo)); snprintf(tmp, sizeof(tmp), "%ld", (long)target.siginfo.si_pid); fprintf(fp, LABELFMT LABELFMT, "siginfo.si_pid:", tmp); @@ -238,17 +235,20 @@ crashlog_write_siginfo(FILE * fp, const crashlog_target& target) fprintf(fp, "\n"); if (target.siginfo.si_code == SI_USER) { - fprintf(fp, "Signal delivered by user %ld from process %ld\n", - (long)target.siginfo.si_uid, (long)target.siginfo.si_pid); + fprintf(fp, "Signal delivered by user %ld from process %ld\n", (long)target.siginfo.si_uid, (long)target.siginfo.si_pid); return true; } if (target.siginfo.si_signo == SIGSEGV) { - const char * msg = "Unknown error"; + const char *msg = "Unknown error"; switch (target.siginfo.si_code) { - case SEGV_MAPERR: msg = "No object mapped"; break; - case SEGV_ACCERR: msg = "Invalid permissions for mapped object"; break; + case SEGV_MAPERR: + msg = "No object mapped"; + break; + case SEGV_ACCERR: + msg = "Invalid permissions for mapped object"; + break; } fprintf(fp, "%s at address " ADDRFMT "\n", msg, ADDRCAST(target.siginfo.si_addr)); @@ -256,12 +256,18 @@ crashlog_write_siginfo(FILE * fp, const crashlog_target& target) } if (target.siginfo.si_signo == SIGSEGV) { - const char * msg = "Unknown error"; + const char *msg = "Unknown error"; switch (target.siginfo.si_code) { - case BUS_ADRALN: msg = "Invalid address alignment"; break; - case BUS_ADRERR: msg = "Nonexistent physical address"; break; - case BUS_OBJERR: msg = "Object-specific hardware error"; break; + case BUS_ADRALN: + msg = "Invalid address alignment"; + break; + case BUS_ADRERR: + msg = "Nonexistent physical address"; + break; + case BUS_OBJERR: + msg = "Object-specific hardware error"; + break; } fprintf(fp, "%s at address " ADDRFMT "\n", msg, ADDRCAST(target.siginfo.si_addr)); @@ -272,7 +278,7 @@ crashlog_write_siginfo(FILE * fp, const crashlog_target& target) } bool -crashlog_write_registers(FILE * fp, const crashlog_target& target) +crashlog_write_registers(FILE *fp, const crashlog_target &target) { if (!(CRASHLOG_HAVE_THREADINFO & target.flags)) { fprintf(fp, "No target CPU registers\n"); @@ -281,30 +287,24 @@ crashlog_write_registers(FILE * fp, const crashlog_target& target) #if defined(__linux__) && (defined(__x86_64__) || defined(__i386__)) - // x86 register names as per ucontext.h. +// x86 register names as per ucontext.h. #if defined(__i386__) #define REGFMT "0x%08" PRIx32 #define REGCAST(x) ((uint32_t)(x)) - static const char * names[NGREG] = { - "GS", "FS", "ES", "DS", "EDI", "ESI", "EBP", "ESP", - "EBX", "EDX", "ECX", "EAX", "TRAPNO", "ERR", "EIP", "CS", - "EFL", "UESP", "SS" - }; + static const char *names[NGREG] = {"GS", "FS", "ES", "DS", "EDI", "ESI", "EBP", "ESP", "EBX", "EDX", + "ECX", "EAX", "TRAPNO", "ERR", "EIP", "CS", "EFL", "UESP", "SS"}; #endif #if defined(__x86_64__) #define REGFMT "0x%016" PRIx64 #define REGCAST(x) ((uint64_t)(x)) - static const char * names[NGREG] = { - "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", - "RDI", "RSI", "RBP", "RBX", "RDX", "RAX", "RCX", "RSP", - "RIP", "EFL", "CSGSFS", "ERR", "TRAPNO", "OLDMASK", "CR2" - }; + static const char *names[NGREG] = {"R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", "RDI", "RSI", "RBP", "RBX", + "RDX", "RAX", "RCX", "RSP", "RIP", "EFL", "CSGSFS", "ERR", "TRAPNO", "OLDMASK", "CR2"}; #endif fprintf(fp, "CPU Registers:\n"); for (unsigned i = 0; i < countof(names); ++i) { - const char * trailer = ((i % 4) == 3) ? "\n" : " "; + const char *trailer = ((i % 4) == 3) ? "\n" : " "; fprintf(fp, "%-3s:" REGFMT "%s", names[i], REGCAST(target.ucontext.uc_mcontext.gregs[i]), trailer); }
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_crashlog/traffic_crashlog.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_crashlog/traffic_crashlog.cc b/cmd/traffic_crashlog/traffic_crashlog.cc index c459549..7c5599f 100644 --- a/cmd/traffic_crashlog/traffic_crashlog.cc +++ b/cmd/traffic_crashlog/traffic_crashlog.cc @@ -32,22 +32,21 @@ static int syslog_mode = false; static int debug_mode = false; static int wait_mode = false; -static char * host_triplet = NULL; -static int target_pid = getppid(); +static char *host_triplet = NULL; +static int target_pid = getppid(); // If pid_t is not sizeof(int), we will have to jiggle argument parsing. extern char __pid_size_static_assert[sizeof(pid_t) == sizeof(int) ? 0 : -1]; static AppVersionInfo appVersionInfo; static const ArgumentDescription argument_descriptions[] = { - { "target", '-', "Target process ID", "I", &target_pid, NULL, NULL }, - { "host", '-', "Host triplet for the process being logged", "S*", &host_triplet, NULL, NULL }, - { "wait", '-', "Stop until signalled at startup", "F", &wait_mode, NULL, NULL }, - { "syslog", '-', "Syslog after writing a crash log", "F", &syslog_mode, NULL, NULL }, - { "debug", '-', "Enable debugging mode", "F", &debug_mode, NULL, NULL }, + {"target", '-', "Target process ID", "I", &target_pid, NULL, NULL}, + {"host", '-', "Host triplet for the process being logged", "S*", &host_triplet, NULL, NULL}, + {"wait", '-', "Stop until signalled at startup", "F", &wait_mode, NULL, NULL}, + {"syslog", '-', "Syslog after writing a crash log", "F", &syslog_mode, NULL, NULL}, + {"debug", '-', "Enable debugging mode", "F", &debug_mode, NULL, NULL}, HELP_ARGUMENT_DESCRIPTION(), - VERSION_ARGUMENT_DESCRIPTION() -}; + VERSION_ARGUMENT_DESCRIPTION()}; static struct tm timestamp() @@ -62,10 +61,10 @@ timestamp() static char * crashlog_name() { - char filename[64]; - struct tm now = timestamp(); - ats_scoped_str logdir(RecConfigReadLogDir()); - ats_scoped_str pathname; + char filename[64]; + struct tm now = timestamp(); + ats_scoped_str logdir(RecConfigReadLogDir()); + ats_scoped_str pathname; strftime(filename, sizeof(filename), "crash-%Y-%m-%d-%H%M%S.log", &now); pathname = Layout::relative_to(logdir, filename); @@ -74,7 +73,7 @@ crashlog_name() } static FILE * -crashlog_open(const char * path) +crashlog_open(const char *path) { int fd; @@ -85,15 +84,14 @@ crashlog_open(const char * path) int main(int /* argc ATS_UNUSED */, const char **argv) { - FILE * fp; - char * logname; + FILE *fp; + char *logname; TSMgmtError mgmterr; crashlog_target target; diags = new Diags("" /* tags */, "" /* actions */, stderr); - appVersionInfo.setup(PACKAGE_NAME, "traffic_crashlog", PACKAGE_VERSION, - __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, ""); + appVersionInfo.setup(PACKAGE_NAME, "traffic_crashlog", PACKAGE_VERSION, __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, ""); // Process command line arguments and dump into variables process_args(&appVersionInfo, argument_descriptions, countof(argument_descriptions), argv); @@ -138,13 +136,12 @@ main(int /* argc ATS_UNUSED */, const char **argv) diags->config.outputs[DL_Emergency].to_syslog = true; } - Note("crashlog started, target=%ld, debug=%s syslog=%s, uid=%ld euid=%ld", - (long)target_pid, debug_mode ? "true" : "false", syslog_mode ? "true" : "false", - (long)getuid(), (long)geteuid()); + Note("crashlog started, target=%ld, debug=%s syslog=%s, uid=%ld euid=%ld", (long)target_pid, debug_mode ? "true" : "false", + syslog_mode ? "true" : "false", (long)getuid(), (long)geteuid()); mgmterr = TSInit(NULL, (TSInitOptionT)(TS_MGMT_OPT_NO_EVENTS | TS_MGMT_OPT_NO_SOCK_TESTS)); if (mgmterr != TS_ERR_OKAY) { - char * msg = TSGetErrorMessage(mgmterr); + char *msg = TSGetErrorMessage(mgmterr); Warning("failed to intialize management API: %s", msg); TSfree(msg); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_crashlog/traffic_crashlog.h ---------------------------------------------------------------------- diff --git a/cmd/traffic_crashlog/traffic_crashlog.h b/cmd/traffic_crashlog/traffic_crashlog.h index f86a285..0b066d1 100644 --- a/cmd/traffic_crashlog/traffic_crashlog.h +++ b/cmd/traffic_crashlog/traffic_crashlog.h @@ -49,28 +49,27 @@ #define CRASHLOG_HAVE_THREADINFO 0x1u -struct crashlog_target -{ - pid_t pid; - siginfo_t siginfo; +struct crashlog_target { + pid_t pid; + siginfo_t siginfo; #if defined(__linux__) - ucontext_t ucontext; + ucontext_t ucontext; #else - char ucontext; // just a placeholder ... + char ucontext; // just a placeholder ... #endif - struct tm timestamp; - unsigned flags; + struct tm timestamp; + unsigned flags; }; -bool crashlog_write_backtrace(FILE *, const crashlog_target&); -bool crashlog_write_regions(FILE * , const crashlog_target&); -bool crashlog_write_exename(FILE *, const crashlog_target&); -bool crashlog_write_uname(FILE *, const crashlog_target&); -bool crashlog_write_datime(FILE *, const crashlog_target&); -bool crashlog_write_procname(FILE *, const crashlog_target&); -bool crashlog_write_procstatus(FILE *, const crashlog_target&); -bool crashlog_write_records(FILE *, const crashlog_target&); -bool crashlog_write_siginfo(FILE *, const crashlog_target&); -bool crashlog_write_registers(FILE *, const crashlog_target&); +bool crashlog_write_backtrace(FILE *, const crashlog_target &); +bool crashlog_write_regions(FILE *, const crashlog_target &); +bool crashlog_write_exename(FILE *, const crashlog_target &); +bool crashlog_write_uname(FILE *, const crashlog_target &); +bool crashlog_write_datime(FILE *, const crashlog_target &); +bool crashlog_write_procname(FILE *, const crashlog_target &); +bool crashlog_write_procstatus(FILE *, const crashlog_target &); +bool crashlog_write_records(FILE *, const crashlog_target &); +bool crashlog_write_siginfo(FILE *, const crashlog_target &); +bool crashlog_write_registers(FILE *, const crashlog_target &); #endif /* __TRAFFIC_CRASHLOG_H__ */ http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/alarm.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/alarm.cc b/cmd/traffic_ctl/alarm.cc index 404069c..c341ffa 100644 --- a/cmd/traffic_ctl/alarm.cc +++ b/cmd/traffic_ctl/alarm.cc @@ -23,15 +23,18 @@ #include "traffic_ctl.h" -struct AlarmListPolicy -{ - typedef char * entry_type; +struct AlarmListPolicy { + typedef char *entry_type; - static void free(entry_type e) { + static void + free(entry_type e) + { TSfree(e); } - static entry_type cast(void * ptr) { + static entry_type + cast(void *ptr) + { return (entry_type)ptr; } }; @@ -39,7 +42,7 @@ struct AlarmListPolicy typedef CtrlMgmtList<AlarmListPolicy> CtrlAlarmList; static int -alarm_list(unsigned argc, const char ** argv) +alarm_list(unsigned argc, const char **argv) { TSMgmtError error; CtrlAlarmList alarms; @@ -55,7 +58,7 @@ alarm_list(unsigned argc, const char ** argv) } while (!alarms.empty()) { - char * a = alarms.next(); + char *a = alarms.next(); printf("%s\n", a); TSfree(a); } @@ -64,7 +67,7 @@ alarm_list(unsigned argc, const char ** argv) } static int -alarm_clear(unsigned argc, const char ** argv) +alarm_clear(unsigned argc, const char **argv) { TSMgmtError error; CtrlAlarmList alarms; @@ -82,7 +85,7 @@ alarm_clear(unsigned argc, const char ** argv) // Now resolve them all ... while (!alarms.empty()) { - char * a = alarms.next(); + char *a = alarms.next(); error = TSEventResolve(a); if (error != TS_ERR_OKAY) { @@ -98,7 +101,7 @@ alarm_clear(unsigned argc, const char ** argv) } static int -alarm_resolve(unsigned argc, const char ** argv) +alarm_resolve(unsigned argc, const char **argv) { TSMgmtError error; CtrlAlarmList alarms; @@ -119,16 +122,15 @@ alarm_resolve(unsigned argc, const char ** argv) } int -subcommand_alarm(unsigned argc, const char ** argv) +subcommand_alarm(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { alarm_clear, "clear", "Clear all current alarms" }, - { alarm_list, "list", "List all current alarms" }, + const subcommand commands[] = { + {alarm_clear, "clear", "Clear all current alarms"}, + {alarm_list, "list", "List all current alarms"}, // Note that we separate resolve one from resolve all for the same reasons that // we have "metric zero" and "metric clear". - { alarm_resolve, "resolve", "Resolve the listed alarms" }, + {alarm_resolve, "resolve", "Resolve the listed alarms"}, /* XXX describe a specific alarm? */ /* XXX raise an alarm? */ }; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/config.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/config.cc b/cmd/traffic_ctl/config.cc index 7a4aadf..ce19f3e 100644 --- a/cmd/traffic_ctl/config.cc +++ b/cmd/traffic_ctl/config.cc @@ -27,28 +27,42 @@ // Record data type names, indexed by TSRecordT. static const char * -rec_typeof(int rec_type) { +rec_typeof(int rec_type) +{ switch (rec_type) { - case TS_REC_INT: return "INT"; - case TS_REC_COUNTER: return "COUNTER"; - case TS_REC_FLOAT: return "FLOAT"; - case TS_REC_STRING: return "STRING"; + case TS_REC_INT: + return "INT"; + case TS_REC_COUNTER: + return "COUNTER"; + case TS_REC_FLOAT: + return "FLOAT"; + case TS_REC_STRING: + return "STRING"; case TS_REC_UNDEFINED: /* fallthru */ - default: return "UNDEFINED"; + default: + return "UNDEFINED"; } } // Record type name, indexed by RecT. static const char * -rec_classof(int rec_class) { +rec_classof(int rec_class) +{ switch (rec_class) { - case RECT_CONFIG: return "standard config"; - case RECT_LOCAL: return "local config"; - case RECT_PROCESS:return "process metric"; - case RECT_NODE: return "node metric"; - case RECT_CLUSTER:return "cluster metric"; - case RECT_PLUGIN: return "plugin metric"; - default: return "undefined"; + case RECT_CONFIG: + return "standard config"; + case RECT_LOCAL: + return "local config"; + case RECT_PROCESS: + return "process metric"; + case RECT_NODE: + return "node metric"; + case RECT_CLUSTER: + return "cluster metric"; + case RECT_PLUGIN: + return "plugin metric"; + default: + return "undefined"; } } @@ -57,10 +71,13 @@ static const char * rec_accessof(int rec_access) { switch (rec_access) { - case RECA_NO_ACCESS: return "no access"; - case RECA_READ_ONLY: return "read only"; + case RECA_NO_ACCESS: + return "no access"; + case RECA_READ_ONLY: + return "read only"; case RECA_NULL: /* fallthru */ - default: return "default"; + default: + return "default"; } } @@ -69,12 +86,17 @@ static const char * rec_updateof(int rec_updatetype) { switch (rec_updatetype) { - case RECU_DYNAMIC: return "dynamic, no restart"; - case RECU_RESTART_TS: return "static, restart traffic_server"; - case RECU_RESTART_TM: return "static, restart traffic_manager"; - case RECU_RESTART_TC: return "static, full restart"; + case RECU_DYNAMIC: + return "dynamic, no restart"; + case RECU_RESTART_TS: + return "static, restart traffic_server"; + case RECU_RESTART_TM: + return "static, restart traffic_manager"; + case RECU_RESTART_TC: + return "static, full restart"; case RECU_NULL: /* fallthru */ - default: return "none"; + default: + return "none"; } } @@ -83,11 +105,15 @@ static const char * rec_checkof(int rec_checktype) { switch (rec_checktype) { - case RECC_STR: return "string matching a regular expression"; - case RECC_INT: return "integer with a specified range"; - case RECC_IP: return "IP address"; + case RECC_STR: + return "string matching a regular expression"; + case RECC_INT: + return "integer with a specified range"; + case RECC_IP: + return "IP address"; case RECC_NULL: /* fallthru */ - default: return "none"; + default: + return "none"; } } @@ -99,7 +125,7 @@ timestr(time_t tm) } static void -format_record(const CtrlMgmtRecord& record, bool recfmt) +format_record(const CtrlMgmtRecord &record, bool recfmt) { CtrlMgmtRecordValue value(record); @@ -112,11 +138,11 @@ format_record(const CtrlMgmtRecord& record, bool recfmt) } static int -config_get(unsigned argc, const char ** argv) +config_get(unsigned argc, const char **argv) { int recfmt = 0; const ArgumentDescription opts[] = { - { "records", '-', "Emit output in records.config format", "F", &recfmt, NULL, NULL }, + {"records", '-', "Emit output in records.config format", "F", &recfmt, NULL, NULL}, }; if (!CtrlProcessArguments(argc, argv, opts, countof(opts)) || n_file_arguments < 1) { @@ -140,7 +166,7 @@ config_get(unsigned argc, const char ** argv) } static int -config_describe(unsigned argc, const char ** argv) +config_describe(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments < 1) { return CtrlCommandUsage("config describe RECORD [RECORD ...]"); @@ -183,7 +209,7 @@ config_describe(unsigned argc, const char ** argv) } static int -config_set(unsigned argc, const char ** argv) +config_set(unsigned argc, const char **argv) { TSMgmtError error; TSActionNeedT action; @@ -193,7 +219,7 @@ config_set(unsigned argc, const char ** argv) } error = TSRecordSet(file_arguments[0], file_arguments[1], &action); - if (error != TS_ERR_OKAY) { + if (error != TS_ERR_OKAY) { CtrlMgmtError(error, "failed to set %s", file_arguments[0]); return CTRL_EX_ERROR; } @@ -218,11 +244,11 @@ config_set(unsigned argc, const char ** argv) } static int -config_match(unsigned argc, const char ** argv) +config_match(unsigned argc, const char **argv) { int recfmt = 0; const ArgumentDescription opts[] = { - { "records", '-', "Emit output in records.config format", "F", &recfmt, NULL, NULL }, + {"records", '-', "Emit output in records.config format", "F", &recfmt, NULL, NULL}, }; if (!CtrlProcessArguments(argc, argv, opts, countof(opts)) || n_file_arguments < 1) { @@ -251,7 +277,7 @@ config_match(unsigned argc, const char ** argv) } static int -config_reload(unsigned argc, const char ** argv) +config_reload(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments != 0) { return CtrlCommandUsage("config reload"); @@ -267,7 +293,7 @@ config_reload(unsigned argc, const char ** argv) } static int -config_status(unsigned argc, const char ** argv) +config_status(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments != 0) { return CtrlCommandUsage("config status"); @@ -308,16 +334,15 @@ config_status(unsigned argc, const char ** argv) } int -subcommand_config(unsigned argc, const char ** argv) +subcommand_config(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { config_describe, "describe", "Show detailed information about configuration values" }, - { config_get, "get", "Get one or more configuration values" }, - { config_match, "match", "Get configuration matching a regular expression" }, - { config_reload, "reload", "Request a configuration reload" }, - { config_set, "set", "Set a configuration value" }, - { config_status, "status", "Check the configuration status" }, + const subcommand commands[] = { + {config_describe, "describe", "Show detailed information about configuration values"}, + {config_get, "get", "Get one or more configuration values"}, + {config_match, "match", "Get configuration matching a regular expression"}, + {config_reload, "reload", "Request a configuration reload"}, + {config_set, "set", "Set a configuration value"}, + {config_status, "status", "Check the configuration status"}, }; return CtrlGenericSubcommand("config", commands, countof(commands), argc, argv); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/metric.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/metric.cc b/cmd/traffic_ctl/metric.cc index 4a90958..36a8b6e 100644 --- a/cmd/traffic_ctl/metric.cc +++ b/cmd/traffic_ctl/metric.cc @@ -24,7 +24,7 @@ #include "traffic_ctl.h" static int -metric_get(unsigned argc, const char ** argv) +metric_get(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments < 1) { return CtrlCommandUsage("metric get METRIC [METRIC ...]", NULL, 0); @@ -47,7 +47,7 @@ metric_get(unsigned argc, const char ** argv) } static int -metric_match(unsigned argc, const char ** argv) +metric_match(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments < 1) { return CtrlCommandUsage("metric match [OPTIONS] REGEX [REGEX ...]", NULL, 0); @@ -75,13 +75,13 @@ metric_match(unsigned argc, const char ** argv) } static int -metric_clear(unsigned argc, const char ** argv) +metric_clear(unsigned argc, const char **argv) { int cluster = 0; TSMgmtError error; const ArgumentDescription opts[] = { - { "cluster", '-', "Clear cluster metrics", "F", &cluster, NULL, NULL }, + {"cluster", '-', "Clear cluster metrics", "F", &cluster, NULL, NULL}, }; if (!CtrlProcessArguments(argc, argv, opts, countof(opts)) || n_file_arguments != 0) { @@ -98,13 +98,13 @@ metric_clear(unsigned argc, const char ** argv) } static int -metric_zero(unsigned argc, const char ** argv) +metric_zero(unsigned argc, const char **argv) { int cluster = 0; TSMgmtError error; const ArgumentDescription opts[] = { - { "cluster", '-', "Zero cluster metrics", "F", &cluster, NULL, NULL }, + {"cluster", '-', "Zero cluster metrics", "F", &cluster, NULL, NULL}, }; if (!CtrlProcessArguments(argc, argv, opts, countof(opts)) || n_file_arguments < 1) { @@ -123,19 +123,18 @@ metric_zero(unsigned argc, const char ** argv) } int -subcommand_metric(unsigned argc, const char ** argv) +subcommand_metric(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { metric_get, "get", "Get one or more metric values" }, - { metric_clear, "clear", "Clear all metric values" }, - { CtrlUnimplementedCommand, "describe", "Show detailed information about one or more metric values" }, - { metric_match, "match", "Get metrics matching a regular expression" }, - { CtrlUnimplementedCommand, "monitor", "Display the value of a metric over time" }, + const subcommand commands[] = { + {metric_get, "get", "Get one or more metric values"}, + {metric_clear, "clear", "Clear all metric values"}, + {CtrlUnimplementedCommand, "describe", "Show detailed information about one or more metric values"}, + {metric_match, "match", "Get metrics matching a regular expression"}, + {CtrlUnimplementedCommand, "monitor", "Display the value of a metric over time"}, // We could allow clearing all the metrics in the "clear" subcommand, but that seems error-prone. It // would be too easy to just expect a help message and accidentally nuke all the metrics. - { metric_zero, "zero", "Clear one or more metric values" }, + {metric_zero, "zero", "Clear one or more metric values"}, }; return CtrlGenericSubcommand("metric", commands, countof(commands), argc, argv); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/server.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/server.cc b/cmd/traffic_ctl/server.cc index abb6e64..70db76f 100644 --- a/cmd/traffic_ctl/server.cc +++ b/cmd/traffic_ctl/server.cc @@ -27,15 +27,15 @@ static int drain = 0; static int manager = 0; const ArgumentDescription opts[] = { - { "drain", '-', "Wait for client connections to drain before restarting", "F", &drain, NULL, NULL }, - { "manager", '-', "Restart traffic_manager as well as traffic_server", "F", &manager, NULL, NULL }, + {"drain", '-', "Wait for client connections to drain before restarting", "F", &drain, NULL, NULL}, + {"manager", '-', "Restart traffic_manager as well as traffic_server", "F", &manager, NULL, NULL}, }; static int -restart(unsigned argc, const char ** argv, unsigned flags) +restart(unsigned argc, const char **argv, unsigned flags) { TSMgmtError error; - const char * usage = (flags & TS_RESTART_OPT_CLUSTER) ? "cluster restart [OPTIONS]" : "server restart [OPTIONS]"; + const char *usage = (flags & TS_RESTART_OPT_CLUSTER) ? "cluster restart [OPTIONS]" : "server restart [OPTIONS]"; if (!CtrlProcessArguments(argc, argv, opts, countof(opts)) || n_file_arguments != 0) { return CtrlCommandUsage(usage, opts, countof(opts)); @@ -60,19 +60,19 @@ restart(unsigned argc, const char ** argv, unsigned flags) } static int -cluster_restart(unsigned argc, const char ** argv) +cluster_restart(unsigned argc, const char **argv) { return restart(argc, argv, TS_RESTART_OPT_CLUSTER); } static int -server_restart(unsigned argc, const char ** argv) +server_restart(unsigned argc, const char **argv) { return restart(argc, argv, TS_RESTART_OPT_NONE); } static int -server_backtrace(unsigned argc, const char ** argv) +server_backtrace(unsigned argc, const char **argv) { TSMgmtError error; TSString trace = NULL; @@ -93,7 +93,7 @@ server_backtrace(unsigned argc, const char ** argv) } static int -server_status(unsigned argc, const char ** argv) +server_status(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments != 0) { return CtrlCommandUsage("server status"); @@ -117,25 +117,23 @@ server_status(unsigned argc, const char ** argv) } int -subcommand_cluster(unsigned argc, const char ** argv) +subcommand_cluster(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { cluster_restart, "restart", "Restart the Traffic Server cluster" }, - { CtrlUnimplementedCommand, "status", "Show the cluster status" }, + const subcommand commands[] = { + {cluster_restart, "restart", "Restart the Traffic Server cluster"}, + {CtrlUnimplementedCommand, "status", "Show the cluster status"}, }; return CtrlGenericSubcommand("cluster", commands, countof(commands), argc, argv); } int -subcommand_server(unsigned argc, const char ** argv) +subcommand_server(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { server_restart, "restart", "Restart Traffic Server" }, - { server_backtrace, "backtrace", "Show a full stack trace of the traffic_server process" }, - { server_status, "status", "Show the proxy status" }, + const subcommand commands[] = { + {server_restart, "restart", "Restart Traffic Server"}, + {server_backtrace, "backtrace", "Show a full stack trace of the traffic_server process"}, + {server_status, "status", "Show the proxy status"}, /* XXX do the 'shutdown' and 'startup' commands make sense? */ }; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/storage.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/storage.cc b/cmd/traffic_ctl/storage.cc index fbd6720..f5340c7 100644 --- a/cmd/traffic_ctl/storage.cc +++ b/cmd/traffic_ctl/storage.cc @@ -24,7 +24,7 @@ #include "traffic_ctl.h" static int -storage_offline(unsigned argc, const char ** argv) +storage_offline(unsigned argc, const char **argv) { if (!CtrlProcessArguments(argc, argv, NULL, 0) || n_file_arguments == 0) { return CtrlCommandUsage("storage offline DEVICE [DEVICE ...]"); @@ -34,7 +34,7 @@ storage_offline(unsigned argc, const char ** argv) TSMgmtError error; error = TSStorageDeviceCmdOffline(file_arguments[i]); - if (error != TS_ERR_OKAY) { + if (error != TS_ERR_OKAY) { CtrlMgmtError(error, "failed to take %s offline", file_arguments[0]); return CTRL_EX_ERROR; } @@ -44,12 +44,11 @@ storage_offline(unsigned argc, const char ** argv) } int -subcommand_storage(unsigned argc, const char ** argv) +subcommand_storage(unsigned argc, const char **argv) { - const subcommand commands[] = - { - { storage_offline, "offline", "Take one or more storage volumes offline" }, - { CtrlUnimplementedCommand, "status", "Show the storage configuration" }, + const subcommand commands[] = { + {storage_offline, "offline", "Take one or more storage volumes offline"}, + {CtrlUnimplementedCommand, "status", "Show the storage configuration"}, }; return CtrlGenericSubcommand("storage", commands, countof(commands), argc, argv); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/traffic_ctl.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/traffic_ctl.cc b/cmd/traffic_ctl/traffic_ctl.cc index 2b627f5..aff4a42 100644 --- a/cmd/traffic_ctl/traffic_ctl.cc +++ b/cmd/traffic_ctl/traffic_ctl.cc @@ -51,23 +51,23 @@ CtrlMgmtRecord::as_int() const } TSMgmtError -CtrlMgmtRecord::fetch(const char * name) +CtrlMgmtRecord::fetch(const char *name) { return TSRecordGet(name, this->ele); } TSMgmtError -CtrlMgmtRecordList::match(const char * name) +CtrlMgmtRecordList::match(const char *name) { return TSRecordGetMatchMlt(name, this->list); } -CtrlMgmtRecordValue::CtrlMgmtRecordValue(const CtrlMgmtRecord& rec) +CtrlMgmtRecordValue::CtrlMgmtRecordValue(const CtrlMgmtRecord &rec) { this->init(rec.ele->rec_type, rec.ele->valueT); } -CtrlMgmtRecordValue::CtrlMgmtRecordValue(const TSRecordEle * ele) +CtrlMgmtRecordValue::CtrlMgmtRecordValue(const TSRecordEle *ele) { this->init(ele->rec_type, ele->valueT); } @@ -112,7 +112,7 @@ CtrlMgmtRecordValue::c_str() const } void -CtrlMgmtError(TSMgmtError err, const char * fmt, ...) +CtrlMgmtError(TSMgmtError err, const char *fmt, ...) { ats_scoped_str msg(TSGetErrorMessage(err)); @@ -128,14 +128,13 @@ CtrlMgmtError(TSMgmtError err, const char * fmt, ...) } else { fprintf(stderr, "%s: %s\n", program_name, (const char *)msg); } - } int -CtrlSubcommandUsage(const char * name, const subcommand * cmds, unsigned ncmds, const ArgumentDescription * desc, unsigned ndesc) +CtrlSubcommandUsage(const char *name, const subcommand *cmds, unsigned ncmds, const ArgumentDescription *desc, unsigned ndesc) { - const char * opt = ndesc ? "[OPTIONS]" : ""; - const char * sep = (ndesc && name) ? " " : ""; + const char *opt = ndesc ? "[OPTIONS]" : ""; + const char *sep = (ndesc && name) ? " " : ""; fprintf(stderr, "Usage: traffic_ctl %s%s%s CMD [ARGS ...]\n\nSubcommands:\n", name ? name : "", sep, opt); @@ -151,7 +150,7 @@ CtrlSubcommandUsage(const char * name, const subcommand * cmds, unsigned ncmds, } int -CtrlCommandUsage(const char * msg, const ArgumentDescription * desc, unsigned ndesc) +CtrlCommandUsage(const char *msg, const ArgumentDescription *desc, unsigned ndesc) { fprintf(stderr, "Usage: traffic_ctl %s\n", msg); @@ -163,21 +162,21 @@ CtrlCommandUsage(const char * msg, const ArgumentDescription * desc, unsigned nd } bool -CtrlProcessArguments(int /* argc */, const char ** argv, const ArgumentDescription * desc, unsigned ndesc) +CtrlProcessArguments(int /* argc */, const char **argv, const ArgumentDescription *desc, unsigned ndesc) { n_file_arguments = 0; return process_args_ex(&CtrlVersionInfo, desc, ndesc, argv); } int -CtrlUnimplementedCommand(unsigned /* argc */, const char ** argv) +CtrlUnimplementedCommand(unsigned /* argc */, const char **argv) { CtrlDebug("the '%s' command is not implemented", *argv); return CTRL_EX_UNIMPLEMENTED; } int -CtrlGenericSubcommand(const char * name, const subcommand * cmds, unsigned ncmds, unsigned argc, const char ** argv) +CtrlGenericSubcommand(const char *name, const subcommand *cmds, unsigned ncmds, unsigned argc, const char **argv) { CtrlCommandLine cmdline; @@ -207,19 +206,17 @@ main(int argc, const char **argv) CtrlVersionInfo.setup(PACKAGE_NAME, "traffic_ctl", PACKAGE_VERSION, __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, ""); program_name = CtrlVersionInfo.AppStr; - ArgumentDescription argument_descriptions[] = { - { "debug", '-', "Enable debugging output", "F", &debug, NULL, NULL }, - HELP_ARGUMENT_DESCRIPTION(), - VERSION_ARGUMENT_DESCRIPTION() - }; + ArgumentDescription argument_descriptions[] = {{"debug", '-', "Enable debugging output", "F", &debug, NULL, NULL}, + HELP_ARGUMENT_DESCRIPTION(), + VERSION_ARGUMENT_DESCRIPTION()}; const subcommand commands[] = { - { subcommand_alarm, "alarm", "Manipulate alarms" }, - { subcommand_cluster, "cluster", "Stop, restart and examine the cluster" }, - { subcommand_config, "config", "Manipulate configuration records" }, - { subcommand_metric, "metric", "Manipulate performance metrics" }, - { subcommand_server, "server", "Stop, restart and examine the server" }, - { subcommand_storage, "storage", "Manipulate cache storage" }, + {subcommand_alarm, "alarm", "Manipulate alarms"}, + {subcommand_cluster, "cluster", "Stop, restart and examine the cluster"}, + {subcommand_config, "config", "Manipulate configuration records"}, + {subcommand_metric, "metric", "Manipulate performance metrics"}, + {subcommand_server, "server", "Stop, restart and examine the server"}, + {subcommand_storage, "storage", "Manipulate cache storage"}, }; diags = new Diags("" /* tags */, "" /* actions */, stderr); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_ctl/traffic_ctl.h ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/traffic_ctl.h b/cmd/traffic_ctl/traffic_ctl.h index 17e7af3..b77ee40 100644 --- a/cmd/traffic_ctl/traffic_ctl.h +++ b/cmd/traffic_ctl/traffic_ctl.h @@ -31,44 +31,42 @@ #include <vector> -struct subcommand -{ - int (*handler) (unsigned, const char **); - const char * name; - const char * help; +struct subcommand { + int (*handler)(unsigned, const char **); + const char *name; + const char *help; }; extern AppVersionInfo CtrlVersionInfo; #define CtrlDebug(...) Debug("traffic_ctl", __VA_ARGS__) -void CtrlMgmtError(TSMgmtError err, const char * fmt, ...) TS_PRINTFLIKE(2, 3); -int CtrlSubcommandUsage(const char * name, const subcommand * cmds, unsigned ncmds, const ArgumentDescription * desc, unsigned ndesc); -int CtrlCommandUsage(const char * msg, const ArgumentDescription * desc = NULL, unsigned ndesc = 0); +void CtrlMgmtError(TSMgmtError err, const char *fmt, ...) TS_PRINTFLIKE(2, 3); +int CtrlSubcommandUsage(const char *name, const subcommand *cmds, unsigned ncmds, const ArgumentDescription *desc, unsigned ndesc); +int CtrlCommandUsage(const char *msg, const ArgumentDescription *desc = NULL, unsigned ndesc = 0); -bool CtrlProcessArguments(int argc, const char ** argv, const ArgumentDescription * desc, unsigned ndesc); -int CtrlUnimplementedCommand(unsigned argc, const char ** argv); +bool CtrlProcessArguments(int argc, const char **argv, const ArgumentDescription *desc, unsigned ndesc); +int CtrlUnimplementedCommand(unsigned argc, const char **argv); -int CtrlGenericSubcommand(const char *, const subcommand * cmds, unsigned ncmds, unsigned argc, const char ** argv); +int CtrlGenericSubcommand(const char *, const subcommand *cmds, unsigned ncmds, unsigned argc, const char **argv); -#define CTRL_MGMT_CHECK(expr) do { \ - TSMgmtError e = (expr); \ - if (e != TS_ERR_OKAY) { \ - CtrlDebug("%s failed with status %d", #expr, e);\ - CtrlMgmtError(e, NULL); \ - return CTRL_EX_ERROR; \ - } \ -} while (0) +#define CTRL_MGMT_CHECK(expr) \ + do { \ + TSMgmtError e = (expr); \ + if (e != TS_ERR_OKAY) { \ + CtrlDebug("%s failed with status %d", #expr, e); \ + CtrlMgmtError(e, NULL); \ + return CTRL_EX_ERROR; \ + } \ + } while (0) -struct CtrlMgmtRecord -{ - explicit CtrlMgmtRecord(TSRecordEle * e) : ele(e) { - } +struct CtrlMgmtRecord { + explicit CtrlMgmtRecord(TSRecordEle *e) : ele(e) {} - CtrlMgmtRecord() : ele(TSRecordEleCreate()) { - } + CtrlMgmtRecord() : ele(TSRecordEleCreate()) {} - ~CtrlMgmtRecord() { + ~CtrlMgmtRecord() + { if (this->ele) { TSRecordEleDestroy(this->ele); } @@ -76,113 +74,120 @@ struct CtrlMgmtRecord TSMgmtError fetch(const char *); - const char * name() const; + const char *name() const; TSRecordT type() const; int64_t as_int() const; private: - CtrlMgmtRecord(const CtrlMgmtRecord&); // disabled - CtrlMgmtRecord& operator=(const CtrlMgmtRecord&); // disabled + CtrlMgmtRecord(const CtrlMgmtRecord &); // disabled + CtrlMgmtRecord &operator=(const CtrlMgmtRecord &); // disabled - TSRecordEle * ele; + TSRecordEle *ele; friend struct CtrlMgmtRecordValue; }; -struct CtrlMgmtRecordValue -{ +struct CtrlMgmtRecordValue { explicit CtrlMgmtRecordValue(const TSRecordEle *); - explicit CtrlMgmtRecordValue(const CtrlMgmtRecord&); + explicit CtrlMgmtRecordValue(const CtrlMgmtRecord &); CtrlMgmtRecordValue(TSRecordT, TSRecordValueT); - const char * c_str() const; + const char *c_str() const; private: - CtrlMgmtRecordValue(const CtrlMgmtRecordValue&); // disabled - CtrlMgmtRecordValue& operator=(const CtrlMgmtRecordValue&); // disabled + CtrlMgmtRecordValue(const CtrlMgmtRecordValue &); // disabled + CtrlMgmtRecordValue &operator=(const CtrlMgmtRecordValue &); // disabled void init(TSRecordT, TSRecordValueT); TSRecordT rec_type; union { - const char * str; + const char *str; char nbuf[32]; } fmt; }; -struct CtrlMgmtRecordList -{ - CtrlMgmtRecordList() : list(TSListCreate()) { - } +struct CtrlMgmtRecordList { + CtrlMgmtRecordList() : list(TSListCreate()) {} - ~CtrlMgmtRecordList() { + ~CtrlMgmtRecordList() + { this->clear(); TSListDestroy(this->list); } - bool empty() const { + bool + empty() const + { return TSListIsEmpty(this->list); } - void clear() const { + void + clear() const + { while (!this->empty()) { - TSRecordEleDestroy((TSRecordEle *)TSListDequeue(this->list)); + TSRecordEleDestroy((TSRecordEle *)TSListDequeue(this->list)); } } // Return (ownership of) the next list entry. - TSRecordEle * next() { + TSRecordEle * + next() + { return (TSRecordEle *)TSListDequeue(this->list); } TSMgmtError match(const char *); private: - CtrlMgmtRecordList(const CtrlMgmtRecordList&); // disabled - CtrlMgmtRecordList& operator=(const CtrlMgmtRecordList&); // disabled + CtrlMgmtRecordList(const CtrlMgmtRecordList &); // disabled + CtrlMgmtRecordList &operator=(const CtrlMgmtRecordList &); // disabled TSList list; }; -template<typename T> -struct CtrlMgmtList -{ - CtrlMgmtList() : list(TSListCreate()) { - } +template <typename T> struct CtrlMgmtList { + CtrlMgmtList() : list(TSListCreate()) {} - ~CtrlMgmtList() { + ~CtrlMgmtList() + { this->clear(); TSListDestroy(this->list); } - bool empty() const { + bool + empty() const + { return TSListIsEmpty(this->list); } - void clear() const { + void + clear() const + { while (!this->empty()) { T::free(T::cast(TSListDequeue(this->list))); } } // Return (ownership of) the next list entry. - typename T::entry_type next() { + typename T::entry_type + next() + { return T::cast(TSListDequeue(this->list)); } TSList list; private: - CtrlMgmtList(const CtrlMgmtList&); // disabled - CtrlMgmtList& operator=(const CtrlMgmtList&); // disabled + CtrlMgmtList(const CtrlMgmtList &); // disabled + CtrlMgmtList &operator=(const CtrlMgmtList &); // disabled }; -struct CtrlCommandLine -{ - CtrlCommandLine() { - this->args.push_back(NULL); - } +struct CtrlCommandLine { + CtrlCommandLine() { this->args.push_back(NULL); } - void init(unsigned argc, const char ** argv) { + void + init(unsigned argc, const char **argv) + { this->args.clear(); for (unsigned i = 0; i < argc; ++i) { this->args.push_back(argv[i]); @@ -192,11 +197,15 @@ struct CtrlCommandLine this->args.push_back(NULL); } - unsigned argc() { + unsigned + argc() + { return args.size() - 1; } - const char ** argv() { + const char ** + argv() + { return &args[0]; } @@ -204,18 +213,18 @@ private: std::vector<const char *> args; }; -int subcommand_alarm(unsigned argc, const char ** argv); -int subcommand_cluster(unsigned argc, const char ** argv); -int subcommand_config(unsigned argc, const char ** argv); -int subcommand_metric(unsigned argc, const char ** argv); -int subcommand_server(unsigned argc, const char ** argv); -int subcommand_storage(unsigned argc, const char ** argv); +int subcommand_alarm(unsigned argc, const char **argv); +int subcommand_cluster(unsigned argc, const char **argv); +int subcommand_config(unsigned argc, const char **argv); +int subcommand_metric(unsigned argc, const char **argv); +int subcommand_server(unsigned argc, const char **argv); +int subcommand_storage(unsigned argc, const char **argv); // Exit status codes, following BSD's sysexits(3) -#define CTRL_EX_OK 0 -#define CTRL_EX_ERROR 2 +#define CTRL_EX_OK 0 +#define CTRL_EX_ERROR 2 #define CTRL_EX_UNIMPLEMENTED 3 -#define CTRL_EX_USAGE EX_USAGE -#define CTRL_EX_UNAVAILABLE 69 +#define CTRL_EX_USAGE EX_USAGE +#define CTRL_EX_UNAVAILABLE 69 #endif /* _TRAFFIC_CTRL_H_ */ http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_layout/traffic_layout.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_layout/traffic_layout.cc b/cmd/traffic_layout/traffic_layout.cc index 58174e2..331ded0 100644 --- a/cmd/traffic_layout/traffic_layout.cc +++ b/cmd/traffic_layout/traffic_layout.cc @@ -28,13 +28,10 @@ #include "I_RecProcess.h" #include "RecordsConfig.h" -const ArgumentDescription argument_descriptions[] = { - HELP_ARGUMENT_DESCRIPTION(), - VERSION_ARGUMENT_DESCRIPTION() -}; +const ArgumentDescription argument_descriptions[] = {HELP_ARGUMENT_DESCRIPTION(), VERSION_ARGUMENT_DESCRIPTION()}; static void -printvar(const char * name, char * val) +printvar(const char *name, char *val) { printf("%s: %s\n", name, val); ats_free(val); @@ -45,8 +42,7 @@ main(int /* argc ATS_UNUSED */, const char **argv) { AppVersionInfo appVersionInfo; - appVersionInfo.setup(PACKAGE_NAME, "traffic_layout", PACKAGE_VERSION, - __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, ""); + appVersionInfo.setup(PACKAGE_NAME, "traffic_layout", PACKAGE_VERSION, __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, ""); // Process command line arguments and dump into variables process_args(&appVersionInfo, argument_descriptions, countof(argument_descriptions), argv); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_line/traffic_line.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_line/traffic_line.cc b/cmd/traffic_line/traffic_line.cc index 5416471..8885d22 100644 --- a/cmd/traffic_line/traffic_line.cc +++ b/cmd/traffic_line/traffic_line.cc @@ -110,7 +110,7 @@ handleArgInvocation() if (count > 0) { printf("Active Alarms\n"); for (int i = 0; i < count; i++) { - char* name = static_cast<char *>(TSListDequeue(events)); + char *name = static_cast<char *>(TSListDequeue(events)); printf(" %d. %s\n", i + 1, name); } } else { @@ -143,14 +143,14 @@ handleArgInvocation() if ((3 == len) && (0 == strncasecmp(ClearAlarms, "all", len))) { all = true; - } else { + } else { num = strtol(ClearAlarms, NULL, 10) - 1; if (num <= 0) num = -1; } for (int i = 0; i < count; i++) { - char* name = static_cast<char*>(TSListDequeue(events)); + char *name = static_cast<char *>(TSListDequeue(events)); if (all || ((num > -1) && (num == i)) || ((strlen(name) == len) && (0 == strncasecmp(ClearAlarms, name, len)))) { if (TS_ERR_OKAY != TSEventResolve(name)) { @@ -162,7 +162,7 @@ handleArgInvocation() } } TSListDestroy(events); - return (errors > 0 ? TS_ERR_FAIL: TS_ERR_OKAY); + return (errors > 0 ? TS_ERR_FAIL : TS_ERR_OKAY); } else if (ShowStatus == 1) { switch (TSProxyStateGet()) { case TS_PROXY_ON: @@ -187,7 +187,7 @@ handleArgInvocation() } return err; - } else if (*ReadVar != '\0') { // Handle a value read + } else if (*ReadVar != '\0') { // Handle a value read if (*SetVar != '\0' || *VarValue != '\0') { fprintf(stderr, "%s: Invalid Argument Combination: Can not read and set values at the same time\n", program_name); return TS_ERR_FAIL; @@ -220,7 +220,7 @@ handleArgInvocation() TSRecordEleDestroy(rec_ele); return err; } - } else if (*MatchVar != '\0') { // Handle a value read + } else if (*MatchVar != '\0') { // Handle a value read if (*SetVar != '\0' || *VarValue != '\0') { fprintf(stderr, "%s: Invalid Argument Combination: Can not read and set values at the same time\n", program_name); return TS_ERR_FAIL; @@ -229,15 +229,14 @@ handleArgInvocation() TSList list = TSListCreate(); if ((err = TSRecordGetMatchMlt(MatchVar, list)) != TS_ERR_OKAY) { - char* msg = TSGetErrorMessage(err); + char *msg = TSGetErrorMessage(err); fprintf(stderr, "%s: %s\n", program_name, msg); ats_free(msg); } // If the RPC call failed, the list will be empty, so we won't print anything. Otherwise, // print all the results, freeing them as we go. - for (TSRecordEle * rec_ele = (TSRecordEle *) TSListDequeue(list); rec_ele; - rec_ele = (TSRecordEle *) TSListDequeue(list)) { + for (TSRecordEle *rec_ele = (TSRecordEle *)TSListDequeue(list); rec_ele; rec_ele = (TSRecordEle *)TSListDequeue(list)) { switch (rec_ele->rec_type) { case TS_REC_INT: printf("%s %" PRId64 "\n", rec_ele->rec_name, rec_ele->valueT.int_val); @@ -293,7 +292,7 @@ handleArgInvocation() return err; } - } else if (*VarValue != '\0') { // We have a value but no variable to set + } else if (*VarValue != '\0') { // We have a value but no variable to set fprintf(stderr, "%s: Must specify variable to set with -s when using -v\n", program_name); return TS_ERR_FAIL; } @@ -334,8 +333,8 @@ main(int /* argc ATS_UNUSED */, const char **argv) ShowStatus = 0; ClearAlarms[0] = '\0'; -/* Argument description table used to describe how to parse command line args, */ -/* see 'ink_args.h' for meanings of the various fields */ + /* Argument description table used to describe how to parse command line args, */ + /* see 'ink_args.h' for meanings of the various fields */ ArgumentDescription argument_descriptions[] = { {"query_deadhosts", 'q', "Query congested sites", "F", &QueryDeadhosts, NULL, NULL}, {"read_var", 'r', "Read Variable", "S1024", &ReadVar, NULL, NULL}, @@ -360,8 +359,7 @@ main(int /* argc ATS_UNUSED */, const char **argv) {"backtrace", '-', "Show proxy stack backtrace", "F", &ShowBacktrace, NULL, NULL}, {"drain", '-', "Wait for client connections to drain before restarting", "F", &DrainTraffic, NULL, NULL}, HELP_ARGUMENT_DESCRIPTION(), - VERSION_ARGUMENT_DESCRIPTION() - }; + VERSION_ARGUMENT_DESCRIPTION()}; // Process command line arguments and dump into variables process_args(&appVersionInfo, argument_descriptions, countof(argument_descriptions), argv); @@ -378,7 +376,7 @@ main(int /* argc ATS_UNUSED */, const char **argv) TSTerminate(); if (TS_ERR_OKAY != status) { - char * msg = TSGetErrorMessage(status); + char *msg = TSGetErrorMessage(status); if (ReadVar[0] == '\0' && SetVar[0] == '\0') fprintf(stderr, "error: the requested command failed: %s\n", msg); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_manager/StatProcessor.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/StatProcessor.cc b/cmd/traffic_manager/StatProcessor.cc index 3fd670e..9202aca 100644 --- a/cmd/traffic_manager/StatProcessor.cc +++ b/cmd/traffic_manager/StatProcessor.cc @@ -40,7 +40,7 @@ StatObjectList statObjectList; StatXMLTag currentTag = INVALID_TAG; StatObject *statObject = NULL; char *exprContent = NULL; -static unsigned statCount = 0; // global statistics object counter +static unsigned statCount = 0; // global statistics object counter bool nodeVar; bool sumClusterVar; @@ -49,13 +49,13 @@ bool sumClusterVar; static int xml_atoi(const xmlchar *nptr) { - return atoi((const char*)nptr); + return atoi((const char *)nptr); } static double xml_atof(const xmlchar *nptr) { - return atof((const char*)nptr); + return atof((const char *)nptr); } static int @@ -87,46 +87,46 @@ elementStart(void * /* userData ATS_UNUSED */, const xmlchar *name, const xmlcha Debug(MODULE_INIT, "\nStat #: ----------------------- %d -----------------------\n", statCount); if (atts) - for (i = 0; atts[i]; i += 2) { - ink_assert(atts[i + 1]); // Attribute comes in pairs, hopefully. - - if (!xml_strcmp(atts[i], "minimum")) { - statObject->m_stats_min = (MgmtFloat) xml_atof(atts[i + 1]); - statObject->m_has_min = true; - } else if (!xml_strcmp(atts[i], "maximum")) { - statObject->m_stats_max = (MgmtFloat) xml_atof(atts[i + 1]); - statObject->m_has_max = true; - } else if (!xml_strcmp(atts[i], "interval")) { - statObject->m_update_interval = (ink_hrtime) xml_atoi(atts[i + 1]); - } else if (!xml_strcmp(atts[i], "debug")) { - statObject->m_debug = (atts[i + 1] && atts[i + 1][0] == '1'); + for (i = 0; atts[i]; i += 2) { + ink_assert(atts[i + 1]); // Attribute comes in pairs, hopefully. + + if (!xml_strcmp(atts[i], "minimum")) { + statObject->m_stats_min = (MgmtFloat)xml_atof(atts[i + 1]); + statObject->m_has_min = true; + } else if (!xml_strcmp(atts[i], "maximum")) { + statObject->m_stats_max = (MgmtFloat)xml_atof(atts[i + 1]); + statObject->m_has_max = true; + } else if (!xml_strcmp(atts[i], "interval")) { + statObject->m_update_interval = (ink_hrtime)xml_atoi(atts[i + 1]); + } else if (!xml_strcmp(atts[i], "debug")) { + statObject->m_debug = (atts[i + 1] && atts[i + 1][0] == '1'); + } + + Debug(MODULE_INIT, "\tDESTINTATION w/ attribute: %s -> %s\n", atts[i], atts[i + 1]); } - - Debug(MODULE_INIT, "\tDESTINTATION w/ attribute: %s -> %s\n", atts[i], atts[i + 1]); - } break; case EXPR_TAG: - exprContent = (char*)ats_malloc(BUFSIZ * 10); + exprContent = (char *)ats_malloc(BUFSIZ * 10); memset(exprContent, 0, BUFSIZ * 10); break; case DST_TAG: nodeVar = true; - sumClusterVar = true; // Should only be used with cluster variable + sumClusterVar = true; // Should only be used with cluster variable if (atts) - for (i = 0; atts[i]; i += 2) { - ink_assert(atts[i + 1]); // Attribute comes in pairs, hopefully. - if (!xml_strcmp(atts[i], "scope")) { - nodeVar = (!xml_strcmp(atts[i + 1], "node") ? true : false); - } else if (!xml_strcmp(atts[i], "operation")) { - sumClusterVar = (!xml_strcmp(atts[i + 1], "sum") ? true : false); + for (i = 0; atts[i]; i += 2) { + ink_assert(atts[i + 1]); // Attribute comes in pairs, hopefully. + if (!xml_strcmp(atts[i], "scope")) { + nodeVar = (!xml_strcmp(atts[i + 1], "node") ? true : false); + } else if (!xml_strcmp(atts[i], "operation")) { + sumClusterVar = (!xml_strcmp(atts[i + 1], "sum") ? true : false); + } + + Debug(MODULE_INIT, "\tDESTINTATION w/ attribute: %s -> %s\n", atts[i], atts[i + 1]); } - Debug(MODULE_INIT, "\tDESTINTATION w/ attribute: %s -> %s\n", atts[i], atts[i + 1]); - } - break; case INVALID_TAG: @@ -140,7 +140,7 @@ elementStart(void * /* userData ATS_UNUSED */, const xmlchar *name, const xmlcha static void -elementEnd(void * /* userData ATS_UNUSED */, const xmlchar */* name ATS_UNUSED */) +elementEnd(void * /* userData ATS_UNUSED */, const xmlchar * /* name ATS_UNUSED */) { switch (currentTag) { case STAT_TAG: @@ -150,7 +150,7 @@ elementEnd(void * /* userData ATS_UNUSED */, const xmlchar */* name ATS_UNUSED * case EXPR_TAG: statObject->assignExpr(exprContent); // This hands over ownership of exprContent - // fall through + // fall through default: currentTag = STAT_TAG; @@ -160,14 +160,14 @@ elementEnd(void * /* userData ATS_UNUSED */, const xmlchar */* name ATS_UNUSED * static void -charDataHandler(void * /* userData ATS_UNUSED */, const xmlchar * name, int /* len ATS_UNUSED */) +charDataHandler(void * /* userData ATS_UNUSED */, const xmlchar *name, int /* len ATS_UNUSED */) { if (currentTag != EXPR_TAG && currentTag != DST_TAG) { return; } char content[BUFSIZ * 10]; - if (XML_extractContent((const char*)name, content, BUFSIZ * 10) == 0) { + if (XML_extractContent((const char *)name, content, BUFSIZ * 10) == 0) { return; } @@ -180,14 +180,14 @@ charDataHandler(void * /* userData ATS_UNUSED */, const xmlchar * name, int /* l } -StatProcessor::StatProcessor(FileManager * configFiles):m_lmgmt(NULL), m_overviewGenerator(NULL) +StatProcessor::StatProcessor(FileManager *configFiles) : m_lmgmt(NULL), m_overviewGenerator(NULL) { rereadConfig(configFiles); } void -StatProcessor::rereadConfig(FileManager * configFiles) +StatProcessor::rereadConfig(FileManager *configFiles) { textBuffer *fileContent = NULL; Rollback *fileRB = NULL; @@ -196,7 +196,7 @@ StatProcessor::rereadConfig(FileManager * configFiles) int fileLen; statObjectList.clean(); - statCount = 0; // reset statistics counter + statCount = 0; // reset statistics counter int ret = configFiles->getRollbackObj(STAT_CONFIG_FILE, &fileRB); if (!ret) { @@ -265,9 +265,7 @@ StatProcessor::rereadConfig(FileManager * configFiles) StatProcessor::~StatProcessor() { - Debug(MODULE_INIT, "[StatProcessor] Destructing Statistics Processor\n"); - } @@ -332,9 +330,9 @@ StatProcessor::processStat() Debug(MODULE_INIT, "[StatProcessor] Processing Statistics....\n"); -// setTest(); + // setTest(); statObjectList.Eval(); -// verifyTest(); + // verifyTest(); return (result); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_manager/StatProcessor.h ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/StatProcessor.h b/cmd/traffic_manager/StatProcessor.h index 71dab2f..c6b3dd8 100644 --- a/cmd/traffic_manager/StatProcessor.h +++ b/cmd/traffic_manager/StatProcessor.h @@ -55,7 +55,7 @@ typedef XML_Char xmlchar; #include <libxml/SAX.h> typedef xmlChar xmlchar; #else -# error "No XML parser - please configure expat or libxml2" +#error "No XML parser - please configure expat or libxml2" #endif #include <string.h> @@ -64,13 +64,12 @@ typedef xmlChar xmlchar; class StatProcessor { public: - - explicit StatProcessor(FileManager * configFiles); + explicit StatProcessor(FileManager *configFiles); ~StatProcessor(); // Member Fuctions unsigned short processStat(); - void rereadConfig(FileManager * configFiles); + void rereadConfig(FileManager *configFiles); LocalManager *m_lmgmt; overviewPage *m_overviewGenerator; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/65477944/cmd/traffic_manager/StatType.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/StatType.cc b/cmd/traffic_manager/StatType.cc index 1c51b95..87e362e 100644 --- a/cmd/traffic_manager/StatType.cc +++ b/cmd/traffic_manager/StatType.cc @@ -36,18 +36,15 @@ #include "ink_hrtime.h" #include "WebOverview.h" -bool StatError = false; // global error flag -bool StatDebug = false; // global debug flag +bool StatError = false; // global error flag +bool StatDebug = false; // global debug flag /** * StatExprToken() * --------------- */ StatExprToken::StatExprToken() - : m_arith_symbol('\0'), - m_token_name(NULL), - m_token_type(RECD_NULL), - m_sum_var(false), m_node_var(true) + : m_arith_symbol('\0'), m_token_name(NULL), m_token_type(RECD_NULL), m_sum_var(false), m_node_var(true) { RecDataClear(RECD_NULL, &m_token_value); RecDataClear(RECD_NULL, &m_token_value_max); @@ -61,7 +58,7 @@ StatExprToken::StatExprToken() * --------------------- */ void -StatExprToken::copy(const StatExprToken & source) +StatExprToken::copy(const StatExprToken &source) { m_arith_symbol = source.m_arith_symbol; @@ -96,7 +93,6 @@ StatExprToken::copy(const StatExprToken & source) void StatExprToken::assignTokenName(const char *name) { - if (isdigit(name[0])) { // numerical constant m_token_name = ats_strdup("CONSTANT"); @@ -115,19 +111,19 @@ StatExprToken::assignTokenName(const char *name) // assign pre-defined constant in here // constant will be stored as RecFloat type. if (!strcmp(m_token_name, "CONSTANT")) { - m_token_value.rec_float = (RecFloat) atof(name); + m_token_value.rec_float = (RecFloat)atof(name); } else if (!strcmp(m_token_name, "$BYTES_TO_MB_SCALE")) { - m_token_value.rec_float = (RecFloat) BYTES_TO_MB_SCALE; + m_token_value.rec_float = (RecFloat)BYTES_TO_MB_SCALE; } else if (!strcmp(m_token_name, "$MBIT_TO_KBIT_SCALE")) { - m_token_value.rec_float = (RecFloat) MBIT_TO_KBIT_SCALE; + m_token_value.rec_float = (RecFloat)MBIT_TO_KBIT_SCALE; } else if (!strcmp(m_token_name, "$SECOND_TO_MILLISECOND_SCALE")) { - m_token_value.rec_float = (RecFloat) SECOND_TO_MILLISECOND_SCALE; + m_token_value.rec_float = (RecFloat)SECOND_TO_MILLISECOND_SCALE; } else if (!strcmp(m_token_name, "$PCT_TO_INTPCT_SCALE")) { - m_token_value.rec_float = (RecFloat) PCT_TO_INTPCT_SCALE; + m_token_value.rec_float = (RecFloat)PCT_TO_INTPCT_SCALE; } else if (!strcmp(m_token_name, "$HRTIME_SECOND")) { - m_token_value.rec_float = (RecFloat) HRTIME_SECOND; + m_token_value.rec_float = (RecFloat)HRTIME_SECOND; } else if (!strcmp(m_token_name, "$BYTES_TO_MBIT_SCALE")) { - m_token_value.rec_float = (RecFloat) BYTES_TO_MBIT_SCALE; + m_token_value.rec_float = (RecFloat)BYTES_TO_MBIT_SCALE; } else { mgmt_log(stderr, "[StatPro] ERROR: Undefined constant: %s\n", m_token_name); StatError = true; @@ -146,7 +142,8 @@ StatExprToken::assignTokenName(const char *name) * Do some token type conversion if necessary. Return true * if the token type is recognizable; false otherwise. */ -bool StatExprToken::assignTokenType() +bool +StatExprToken::assignTokenType() { ink_assert(m_token_name != NULL); m_token_type = varType(m_token_name); @@ -202,13 +199,13 @@ StatExprToken::precedence() switch (m_arith_symbol) { case '(': return 4; - case '^': // fall through + case '^': // fall through case '!': return 3; - case '*': // fall through + case '*': // fall through case '/': return 2; - case '+': // fall through + case '+': // fall through case '-': return 1; default: @@ -225,7 +222,8 @@ StatExprToken::precedence() * or larger than max, then the error value is assigned. If no * error value is assigned, either min. or max. is assigned. */ -bool StatExprToken::statVarSet(RecDataT type, RecData value) +bool +StatExprToken::statVarSet(RecDataT type, RecData value) { RecData converted_value; @@ -274,8 +272,7 @@ bool StatExprToken::statVarSet(RecDataT type, RecData value) if (RecDataCmp(m_token_type, converted_value, m_token_value_min) < 0) { value = m_token_value_min; - } - else if (RecDataCmp(m_token_type, converted_value, m_token_value_max) > 0) { + } else if (RecDataCmp(m_token_type, converted_value, m_token_value_max) > 0) { value = m_token_value_max; } @@ -284,15 +281,14 @@ bool StatExprToken::statVarSet(RecDataT type, RecData value) /*********************************************************************** - StatExprList + StatExprList **********************************************************************/ /** * StatExprList::StatExprList() * ---------------------------- */ -StatExprList::StatExprList() - : m_size(0) +StatExprList::StatExprList() : m_size(0) { } @@ -307,7 +303,7 @@ StatExprList::clean() StatExprToken *temp = NULL; while ((temp = m_tokenList.dequeue())) { - delete(temp); + delete (temp); m_size -= 1; } ink_assert(m_size == 0); @@ -315,7 +311,7 @@ StatExprList::clean() void -StatExprList::enqueue(StatExprToken * entry) +StatExprList::enqueue(StatExprToken *entry) { ink_assert(entry); m_tokenList.enqueue(entry); @@ -324,7 +320,7 @@ StatExprList::enqueue(StatExprToken * entry) void -StatExprList::push(StatExprToken * entry) +StatExprList::push(StatExprToken *entry) { ink_assert(entry); m_tokenList.push(entry); @@ -339,7 +335,7 @@ StatExprList::dequeue() return NULL; } m_size -= 1; - return (StatExprToken *) m_tokenList.dequeue(); + return (StatExprToken *)m_tokenList.dequeue(); } @@ -375,7 +371,7 @@ StatExprList::first() StatExprToken * -StatExprList::next(StatExprToken * current) +StatExprList::next(StatExprToken *current) { if (!current) { return NULL; @@ -392,7 +388,7 @@ StatExprList::next(StatExprToken * current) void StatExprList::print(const char *prefix) { - for (StatExprToken * token = first(); token; token = next(token)) { + for (StatExprToken *token = first(); token; token = next(token)) { token->print(prefix); } } @@ -411,7 +407,7 @@ StatExprList::count() /*********************************************************************** - StatObject + StatObject **********************************************************************/ @@ -421,32 +417,16 @@ StatExprList::count() */ StatObject::StatObject() - : m_id(1), - m_debug(false), - m_expr_string(NULL), - m_node_dest(NULL), - m_cluster_dest(NULL), - m_expression(NULL), - m_postfix(NULL), - m_last_update(-1), - m_current_time(-1), m_update_interval(-1), - m_stats_max(FLT_MAX), m_stats_min(FLT_MIN), - m_has_max(false), m_has_min(false), m_has_delta(false) + : m_id(1), m_debug(false), m_expr_string(NULL), m_node_dest(NULL), m_cluster_dest(NULL), m_expression(NULL), m_postfix(NULL), + m_last_update(-1), m_current_time(-1), m_update_interval(-1), m_stats_max(FLT_MAX), m_stats_min(FLT_MIN), m_has_max(false), + m_has_min(false), m_has_delta(false) { } StatObject::StatObject(unsigned identifier) - : m_id(identifier), - m_debug(false), - m_expr_string(NULL), - m_node_dest(NULL), - m_cluster_dest(NULL), - m_expression(NULL), - m_postfix(NULL), - m_last_update(-1), - m_current_time(-1), m_update_interval(-1), - m_stats_max(FLT_MAX), m_stats_min(FLT_MIN), + : m_id(identifier), m_debug(false), m_expr_string(NULL), m_node_dest(NULL), m_cluster_dest(NULL), m_expression(NULL), + m_postfix(NULL), m_last_update(-1), m_current_time(-1), m_update_interval(-1), m_stats_max(FLT_MAX), m_stats_min(FLT_MIN), m_has_max(false), m_has_min(false), m_has_delta(false) { } @@ -490,14 +470,12 @@ StatObject::assignDst(const char *str, bool m_node_var, bool m_sum_var) // Set max/min value if (m_has_max) - RecDataSetFromFloat(statToken->m_token_type, &statToken->m_token_value_max, - m_stats_max); + RecDataSetFromFloat(statToken->m_token_type, &statToken->m_token_value_max, m_stats_max); else RecDataSetMax(statToken->m_token_type, &statToken->m_token_value_max); if (m_has_min) - RecDataSetFromFloat(statToken->m_token_type, &statToken->m_token_value_min, - m_stats_min); + RecDataSetFromFloat(statToken->m_token_type, &statToken->m_token_value_min, m_stats_min); else RecDataSetMin(statToken->m_token_type, &statToken->m_token_value_min); @@ -536,11 +514,9 @@ StatObject::assignExpr(char *str) m_expression = new StatExprList(); while (token) { - statToken = new StatExprToken(); if (isOperator(token[0])) { - statToken->m_arith_symbol = token[0]; ink_assert(statToken->m_token_name == NULL); @@ -549,20 +525,17 @@ StatObject::assignExpr(char *str) } } else { - ink_assert(statToken->m_arith_symbol == '\0'); // delta if (token[0] == '#') { - - token += 1; // skip '#' + token += 1; // skip '#' statToken->m_token_value_delta = new StatDataSamples(); - statToken->m_token_value_delta->previous_time = (ink_hrtime) 0; - statToken->m_token_value_delta->current_time = (ink_hrtime) 0; + statToken->m_token_value_delta->previous_time = (ink_hrtime)0; + statToken->m_token_value_delta->current_time = (ink_hrtime)0; statToken->m_token_value_delta->data_type = RECD_NULL; RecDataClear(RECD_NULL, &statToken->m_token_value_delta->previous_value); RecDataClear(RECD_NULL, &statToken->m_token_value_delta->current_value); - } statToken->assignTokenName(token); @@ -570,16 +543,13 @@ StatObject::assignExpr(char *str) if (StatDebug) { Debug(MODULE_INIT, "\toperand: ->%s<-\n", token); } - } token = exprTok.iterNext(&exprTok_state); m_expression->enqueue(statToken); - } infix2postfix(); - } @@ -603,7 +573,7 @@ StatObject::infix2postfix() curToken = m_expression->dequeue(); if (!isOperator(curToken->m_arith_symbol)) { - //printf("I2P~: enqueue %s\n", curToken->m_token_name); + // printf("I2P~: enqueue %s\n", curToken->m_token_name); m_postfix->enqueue(curToken); } else { @@ -612,33 +582,33 @@ StatObject::infix2postfix() if (curToken->m_arith_symbol == '(') { stack.push(curToken); } else if (curToken->m_arith_symbol == ')') { - tempToken = (StatExprToken *) stack.pop(); + tempToken = (StatExprToken *)stack.pop(); while (tempToken->m_arith_symbol != '(') { - //printf("I2P@: enqueue %c\n", tempToken->m_arith_symbol); + // printf("I2P@: enqueue %c\n", tempToken->m_arith_symbol); m_postfix->enqueue(tempToken); - tempToken = (StatExprToken *) stack.pop(); + tempToken = (StatExprToken *)stack.pop(); } // Free up memory for ')' - delete(curToken); - delete(tempToken); + delete (curToken); + delete (tempToken); } else { if (stack.count() == 0) { stack.push(curToken); } else { - tempToken = (StatExprToken *) stack.top(); + tempToken = (StatExprToken *)stack.top(); while ((tempToken->m_arith_symbol != '(') && (tempToken->precedence() >= curToken->precedence())) { - tempToken = (StatExprToken *) stack.pop(); // skip the ( - //printf("I2P$: enqueue %c\n", tempToken->m_arith_symbol); + tempToken = (StatExprToken *)stack.pop(); // skip the ( + // printf("I2P$: enqueue %c\n", tempToken->m_arith_symbol); m_postfix->enqueue(tempToken); if (stack.count() == 0) { break; } - tempToken = (StatExprToken *) stack.top(); - } // while + tempToken = (StatExprToken *)stack.top(); + } // while stack.push(curToken); } @@ -647,13 +617,13 @@ StatObject::infix2postfix() } while (stack.count() > 0) { - tempToken = (StatExprToken *) stack.pop(); - //printf("I2P?: enqueue %c\n", tempToken->m_arith_symbol); + tempToken = (StatExprToken *)stack.pop(); + // printf("I2P?: enqueue %c\n", tempToken->m_arith_symbol); m_postfix->enqueue(tempToken); } // dump infix expression - delete(m_expression); + delete (m_expression); m_expression = NULL; } @@ -664,7 +634,8 @@ StatObject::infix2postfix() * * */ -RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) +RecData +StatObject::NodeStatEval(RecDataT *result_type, bool cluster) { StatExprList stack; StatExprToken *left = NULL; @@ -678,7 +649,7 @@ RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) /* Express checkout lane -- Stat. object with on 1 source variable */ if (m_postfix->count() == 1) { - StatExprToken * src = m_postfix->top(); + StatExprToken *src = m_postfix->top(); // in librecords, not all statistics are register at initialization // must assign proper type if it is undefined. @@ -696,16 +667,13 @@ RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) RecDataClear(src->m_token_type, &tempValue); } } else { - if (!overviewGenerator->varClusterDataFromName(src->m_token_type, - src->m_token_name, - &tempValue)) { + if (!overviewGenerator->varClusterDataFromName(src->m_token_type, src->m_token_name, &tempValue)) { RecDataClear(src->m_token_type, &tempValue); } } } else { - /* standard postfix evaluation */ - for (StatExprToken * token = m_postfix->first(); token; token = m_postfix->next(token)) { + for (StatExprToken *token = m_postfix->first(); token; token = m_postfix->next(token)) { /* carbon-copy the token. */ curToken = new StatExprToken(); curToken->copy(*token); @@ -727,9 +695,9 @@ RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) result = StatBinaryEval(left, curToken->m_arith_symbol, right, cluster); stack.push(result); - delete(curToken); - delete(left); - delete(right); + delete (curToken); + delete (left); + delete (right); } } @@ -744,7 +712,6 @@ RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) } return tempValue; - } @@ -754,7 +721,8 @@ RecData StatObject::NodeStatEval(RecDataT *result_type, bool cluster) * * */ -RecData StatObject::ClusterStatEval(RecDataT *result_type) +RecData +StatObject::ClusterStatEval(RecDataT *result_type) { /* Sanity check */ ink_assert(m_cluster_dest && !m_cluster_dest->m_node_var); @@ -765,9 +733,7 @@ RecData StatObject::ClusterStatEval(RecDataT *result_type) } else { RecData tempValue; - if (!overviewGenerator->varClusterDataFromName(m_node_dest->m_token_type, - m_node_dest->m_token_name, - &tempValue)) { + if (!overviewGenerator->varClusterDataFromName(m_node_dest->m_token_type, m_node_dest->m_token_name, &tempValue)) { *result_type = RECD_NULL; RecDataClear(*result_type, &tempValue); } @@ -796,7 +762,7 @@ RecData StatObject::ClusterStatEval(RecDataT *result_type) * otherwise simply set right->m_token_value with varFloatFromName. */ void -StatObject::setTokenValue(StatExprToken * token, bool cluster) +StatObject::setTokenValue(StatExprToken *token, bool cluster) { if (token->m_token_name) { // it is NOT an intermediate value @@ -811,36 +777,30 @@ StatObject::setTokenValue(StatExprToken * token, bool cluster) token->m_token_value.rec_int = (m_current_time - m_last_update); break; - case RECD_INT: // fallthought + case RECD_INT: // fallthought case RECD_COUNTER: case RECD_FLOAT: if (cluster) { - if (!overviewGenerator->varClusterDataFromName(token->m_token_type, - token->m_token_name, - &(token->m_token_value))) - { + if (!overviewGenerator->varClusterDataFromName(token->m_token_type, token->m_token_name, &(token->m_token_value))) { RecDataClear(token->m_token_type, &token->m_token_value); } } else { if (token->m_token_value_delta) { - token->m_token_value = - token->m_token_value_delta->diff_value(token->m_token_name); + token->m_token_value = token->m_token_value_delta->diff_value(token->m_token_name); } else { - if (!varDataFromName(token->m_token_type, token->m_token_name, - &(token->m_token_value))) { + if (!varDataFromName(token->m_token_type, token->m_token_name, &(token->m_token_value))) { RecDataClear(token->m_token_type, &token->m_token_value); } - } // delta? - } // cluster? + } // delta? + } // cluster? break; default: if (StatDebug) { - Debug(MODULE, "Unrecognized token \"%s\" of type %d.\n", - token->m_token_name, token->m_token_type); + Debug(MODULE, "Unrecognized token \"%s\" of type %d.\n", token->m_token_name, token->m_token_type); } - } // switch - } // m_token_name? + } // switch + } // m_token_name? } @@ -855,15 +815,14 @@ StatObject::setTokenValue(StatExprToken * token, bool cluster) * - (3) cluster variable * - (4) an immediate value */ -StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op, - StatExprToken * right, bool cluster) +StatExprToken * +StatObject::StatBinaryEval(StatExprToken *left, char op, StatExprToken *right, bool cluster) { RecData l, r; StatExprToken *result = new StatExprToken(); result->m_token_type = RECD_INT; - if (left->m_token_type == RECD_NULL - && right->m_token_type == RECD_NULL) { + if (left->m_token_type == RECD_NULL && right->m_token_type == RECD_NULL) { return result; } @@ -886,8 +845,7 @@ StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op, * as result type. It's may lead to loss of precision when do * conversion, be careful! */ - if (right->m_token_type == RECD_FLOAT - || right->m_token_type == RECD_CONST) { + if (right->m_token_type == RECD_FLOAT || right->m_token_type == RECD_CONST) { result->m_token_type = right->m_token_type; } break; @@ -906,13 +864,12 @@ StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op, RecDataClear(RECD_NULL, &l); RecDataClear(RECD_NULL, &r); - if (left->m_token_type == right->m_token_type ) { + if (left->m_token_type == right->m_token_type) { l = left->m_token_value; r = right->m_token_value; } else if (result->m_token_type != left->m_token_type) { if (left->m_token_type != RECD_NULL) { - ink_assert(result->m_token_type == RECD_FLOAT - || result->m_token_type == RECD_CONST); + ink_assert(result->m_token_type == RECD_FLOAT || result->m_token_type == RECD_CONST); l.rec_float = (RecFloat)left->m_token_value.rec_int; } @@ -921,8 +878,7 @@ StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op, } else { l = left->m_token_value; if (right->m_token_type != RECD_NULL) { - ink_assert(result->m_token_type == RECD_FLOAT - || result->m_token_type == RECD_CONST); + ink_assert(result->m_token_type == RECD_FLOAT || result->m_token_type == RECD_CONST); r.rec_float = (RecFloat)right->m_token_value.rec_int; } @@ -979,11 +935,10 @@ StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op, /*********************************************************************** - StatObjectList + StatObjectList **********************************************************************/ -StatObjectList::StatObjectList() - : m_size(0) +StatObjectList::StatObjectList() : m_size(0) { } @@ -995,7 +950,7 @@ StatObjectList::clean() while ((temp = m_statList.dequeue())) { m_size -= 1; - delete(temp); + delete (temp); } ink_assert(m_size == 0); @@ -1003,9 +958,9 @@ StatObjectList::clean() void -StatObjectList::enqueue(StatObject * object) +StatObjectList::enqueue(StatObject *object) { - for (StatExprToken * token = object->m_postfix->first(); token; token = object->m_postfix->next(token)) { + for (StatExprToken *token = object->m_postfix->first(); token; token = object->m_postfix->next(token)) { if (token->m_token_value_delta) { object->m_has_delta = true; break; @@ -1025,7 +980,7 @@ StatObjectList::first() StatObject * -StatObjectList::next(StatObject * current) +StatObjectList::next(StatObject *current) { return (current->link).next; } @@ -1049,7 +1004,7 @@ StatObjectList::Eval() RecDataClear(RECD_NULL, &tempValue); RecDataClear(RECD_NULL, &result); - for (StatObject * object = first(); object; object = next(object)) { + for (StatObject *object = first(); object; object = next(object)) { StatError = false; StatDebug = object->m_debug; @@ -1080,13 +1035,14 @@ StatObjectList::Eval() delta = object->m_current_time - object->m_last_update; if (StatDebug) { - Debug(MODULE, "\tUPDATE:%" PRId64 " THRESHOLD:%" PRId64 ", DELTA:%" PRId64 "\n", object->m_update_interval, threshold, delta); + Debug(MODULE, "\tUPDATE:%" PRId64 " THRESHOLD:%" PRId64 ", DELTA:%" PRId64 "\n", object->m_update_interval, threshold, + delta); } /* Should we do the calculation? */ - if ((delta > threshold) || /* sufficient elapsed time? */ - (object->m_last_update == -1) || /* first time? */ - (object->m_last_update > object->m_current_time)) { /*wrapped */ + if ((delta > threshold) || /* sufficient elapsed time? */ + (object->m_last_update == -1) || /* first time? */ + (object->m_last_update > object->m_current_time)) { /*wrapped */ if (StatDebug) { if (delta > threshold) { @@ -1101,7 +1057,6 @@ StatObjectList::Eval() } if (!object->m_has_delta) { - if (StatDebug) { Debug(MODULE, "\tEVAL: Simple time-condition.\n"); } @@ -1123,8 +1078,7 @@ StatObjectList::Eval() Debug(MODULE, "\tEVAL: Complicated time-condition.\n"); } // scroll old values - for (StatExprToken * token = object->m_postfix->first(); token; token = object->m_expression->next(token)) { - + for (StatExprToken *token = object->m_postfix->first(); token; token = object->m_expression->next(token)) { // in librecords, not all statistics are register at initialization // must assign proper type if it is undefined. if (!isOperator(token->m_arith_symbol) && token->m_token_type == RECD_NULL) { @@ -1132,8 +1086,7 @@ StatObjectList::Eval() } if (token->m_token_value_delta) { - if (!varDataFromName(token->m_token_type, token->m_token_name, - &tempValue)) { + if (!varDataFromName(token->m_token_type, token->m_token_name, &tempValue)) { RecDataClear(RECD_NULL, &tempValue); } @@ -1161,18 +1114,18 @@ StatObjectList::Eval() Debug(MODULE, "\tEVAL: Timer not expired, do nothing\n"); } } - } /* delta? */ + } /* delta? */ } else { if (StatDebug) { Debug(MODULE, "\tEVAL: Timer not expired, nor 1st time, nor wrapped, SORRY!\n"); } - } /* timed event */ + } /* timed event */ } count += 1; - } /* for */ + } /* for */ return count; -} /* Eval() */ +} /* Eval() */ /** @@ -1183,7 +1136,7 @@ StatObjectList::Eval() void StatObjectList::print(const char *prefix) { - for (StatObject * object = first(); object; object = next(object)) { + for (StatObject *object = first(); object; object = next(object)) { if (StatDebug) { Debug(MODULE, "\n%sSTAT OBJECT#: %d\n", prefix, object->m_id); }
