Skip to content

Commit

Permalink
TS-2519: Stop using the ambiguous RECP_NULL
Browse files Browse the repository at this point in the history
RECP_NULL is ambigious. Should stats with this prsistence type be
saved or not?

The current behavior is that all stats that are not RECP_NON_PERSISTENT
are persisted. Change all registrations of RECP_NULL stats to use
RECP_PERSISTENT instead. Change the build version stats to
RECP_NON_PERSISTENT, since we want these to update when Traffic
Server is upgraded.
  • Loading branch information
jpeach committed Jan 27, 2014
1 parent 6215bf9 commit 7352493
Show file tree
Hide file tree
Showing 14 changed files with 317 additions and 339 deletions.
8 changes: 4 additions & 4 deletions iocore/aio/AIO.cc
Expand Up @@ -150,15 +150,15 @@ ink_aio_init(ModuleVersion v)

aio_rsb = RecAllocateRawStatBlock((int) AIO_STAT_COUNT);
RecRegisterRawStat(aio_rsb, RECT_PROCESS, "proxy.process.cache.read_per_sec",
RECD_FLOAT, RECP_NULL, (int) AIO_STAT_READ_PER_SEC, aio_stats_cb);
RECD_FLOAT, RECP_PERSISTENT, (int) AIO_STAT_READ_PER_SEC, aio_stats_cb);
RecRegisterRawStat(aio_rsb, RECT_PROCESS, "proxy.process.cache.write_per_sec",
RECD_FLOAT, RECP_NULL, (int) AIO_STAT_WRITE_PER_SEC, aio_stats_cb);
RECD_FLOAT, RECP_PERSISTENT, (int) AIO_STAT_WRITE_PER_SEC, aio_stats_cb);
RecRegisterRawStat(aio_rsb, RECT_PROCESS,
"proxy.process.cache.KB_read_per_sec",
RECD_FLOAT, RECP_NULL, (int) AIO_STAT_KB_READ_PER_SEC, aio_stats_cb);
RECD_FLOAT, RECP_PERSISTENT, (int) AIO_STAT_KB_READ_PER_SEC, aio_stats_cb);
RecRegisterRawStat(aio_rsb, RECT_PROCESS,
"proxy.process.cache.KB_write_per_sec",
RECD_FLOAT, RECP_NULL, (int) AIO_STAT_KB_WRITE_PER_SEC, aio_stats_cb);
RECD_FLOAT, RECP_PERSISTENT, (int) AIO_STAT_KB_WRITE_PER_SEC, aio_stats_cb);
#if AIO_MODE != AIO_MODE_NATIVE
memset(&aio_reqs, 0, MAX_DISKS_POSSIBLE * sizeof(AIO_Reqs *));
ink_mutex_init(&insert_mutex, NULL);
Expand Down
14 changes: 7 additions & 7 deletions iocore/dns/DNS.cc
Expand Up @@ -1629,34 +1629,34 @@ ink_dns_init(ModuleVersion v)
//
RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.total_dns_lookups",
RECD_INT, RECP_NULL, (int) dns_total_lookups_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) dns_total_lookups_stat, RecRawStatSyncSum);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.lookup_avg_time",
RECD_INT, RECP_NULL, (int) dns_response_time_stat, RecRawStatSyncHrTimeAvg);
RECD_INT, RECP_PERSISTENT, (int) dns_response_time_stat, RecRawStatSyncHrTimeAvg);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.success_avg_time",
RECD_INT, RECP_NON_PERSISTENT, (int) dns_success_time_stat, RecRawStatSyncHrTimeAvg);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.lookup_successes",
RECD_INT, RECP_NULL, (int) dns_lookup_success_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) dns_lookup_success_stat, RecRawStatSyncSum);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.fail_avg_time",
RECD_INT, RECP_NULL, (int) dns_fail_time_stat, RecRawStatSyncHrTimeAvg);
RECD_INT, RECP_PERSISTENT, (int) dns_fail_time_stat, RecRawStatSyncHrTimeAvg);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.lookup_failures",
RECD_INT, RECP_NULL, (int) dns_lookup_fail_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) dns_lookup_fail_stat, RecRawStatSyncSum);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.retries", RECD_INT, RECP_NULL, (int) dns_retries_stat, RecRawStatSyncSum);
"proxy.process.dns.retries", RECD_INT, RECP_PERSISTENT, (int) dns_retries_stat, RecRawStatSyncSum);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.max_retries_exceeded",
RECD_INT, RECP_NULL, (int) dns_max_retries_exceeded_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) dns_max_retries_exceeded_stat, RecRawStatSyncSum);

RecRegisterRawStat(dns_rsb, RECT_PROCESS,
"proxy.process.dns.in_flight",
Expand Down
12 changes: 6 additions & 6 deletions iocore/hostdb/HostDB.cc
Expand Up @@ -2459,29 +2459,29 @@ ink_hostdb_init(ModuleVersion v)

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.total_entries",
RECD_INT, RECP_NULL, (int) hostdb_total_entries_stat, RecRawStatSyncCount);
RECD_INT, RECP_PERSISTENT, (int) hostdb_total_entries_stat, RecRawStatSyncCount);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.total_lookups",
RECD_INT, RECP_NULL, (int) hostdb_total_lookups_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) hostdb_total_lookups_stat, RecRawStatSyncSum);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.total_hits",
RECD_INT, RECP_NON_PERSISTENT, (int) hostdb_total_hits_stat, RecRawStatSyncSum);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.ttl", RECD_FLOAT, RECP_NULL, (int) hostdb_ttl_stat, RecRawStatSyncAvg);
"proxy.process.hostdb.ttl", RECD_FLOAT, RECP_PERSISTENT, (int) hostdb_ttl_stat, RecRawStatSyncAvg);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.ttl_expires",
RECD_INT, RECP_NULL, (int) hostdb_ttl_expires_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) hostdb_ttl_expires_stat, RecRawStatSyncSum);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.re_dns_on_reload",
RECD_INT, RECP_NULL, (int) hostdb_re_dns_on_reload_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) hostdb_re_dns_on_reload_stat, RecRawStatSyncSum);

RecRegisterRawStat(hostdb_rsb, RECT_PROCESS,
"proxy.process.hostdb.bytes", RECD_INT, RECP_NULL, (int) hostdb_bytes_stat, RecRawStatSyncCount);
"proxy.process.hostdb.bytes", RECD_INT, RECP_PERSISTENT, (int) hostdb_bytes_stat, RecRawStatSyncCount);

ts_host_res_global_init();
}
28 changes: 14 additions & 14 deletions iocore/net/Net.cc
Expand Up @@ -49,14 +49,14 @@ register_net_stats()
// Register statistics
//
RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.net_handler_run",
RECD_INT, RECP_NULL, (int) net_handler_run_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_handler_run_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_handler_run_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.read_bytes",
RECD_INT, RECP_NULL, (int) net_read_bytes_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_read_bytes_stat, RecRawStatSyncSum);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.write_bytes",
RECD_INT, RECP_NULL, (int) net_write_bytes_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_write_bytes_stat, RecRawStatSyncSum);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.connections_currently_open",
RECD_INT, RECP_NON_PERSISTENT, (int) net_connections_currently_open_stat, RecRawStatSyncSum);
Expand All @@ -67,49 +67,49 @@ register_net_stats()
NET_CLEAR_DYN_STAT(net_accepts_currently_open_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_readfromnet",
RECD_INT, RECP_NULL, (int) net_calls_to_readfromnet_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_readfromnet_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_readfromnet_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_readfromnet_afterpoll",
RECD_INT, RECP_NULL, (int) net_calls_to_readfromnet_afterpoll_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_readfromnet_afterpoll_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_readfromnet_afterpoll_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_read",
RECD_INT, RECP_NULL, (int) net_calls_to_read_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_read_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_read_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_read_nodata",
RECD_INT, RECP_NULL, (int) net_calls_to_read_nodata_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_read_nodata_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_read_nodata_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_writetonet",
RECD_INT, RECP_NULL, (int) net_calls_to_writetonet_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_writetonet_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_writetonet_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_writetonet_afterpoll",
RECD_INT, RECP_NULL, (int) net_calls_to_writetonet_afterpoll_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_writetonet_afterpoll_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_writetonet_afterpoll_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_write",
RECD_INT, RECP_NULL, (int) net_calls_to_write_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_write_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_write_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.calls_to_write_nodata",
RECD_INT, RECP_NULL, (int) net_calls_to_write_nodata_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) net_calls_to_write_nodata_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(net_calls_to_write_nodata_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.socks.connections_successful",
RECD_INT, RECP_NULL, (int) socks_connections_successful_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) socks_connections_successful_stat, RecRawStatSyncSum);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.socks.connections_unsuccessful",
RECD_INT, RECP_NULL, (int) socks_connections_unsuccessful_stat, RecRawStatSyncSum);
RECD_INT, RECP_PERSISTENT, (int) socks_connections_unsuccessful_stat, RecRawStatSyncSum);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.socks.connections_currently_open",
RECD_INT, RECP_NON_PERSISTENT, (int) socks_connections_currently_open_stat, RecRawStatSyncSum);
NET_CLEAR_DYN_STAT(socks_connections_currently_open_stat);

RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.inactivity_cop_lock_acquire_failure",
RECD_INT, RECP_NULL, (int) inactivity_cop_lock_acquire_failure_stat,
RECD_INT, RECP_PERSISTENT, (int) inactivity_cop_lock_acquire_failure_stat,
RecRawStatSyncSum);
}

Expand Down
12 changes: 6 additions & 6 deletions lib/records/test_RecProcess.i
Expand Up @@ -510,25 +510,25 @@ Test03()
g_rsb = RecAllocateRawStatBlock((int) MY_STAT_COUNT);

RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_a",
RECD_FLOAT, RECP_NULL, (int) MY_STAT_A, RecRawStatSyncAvg);
RECD_FLOAT, RECP_NON_PERSISTENT, (int) MY_STAT_A, RecRawStatSyncAvg);

RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_b",
RECD_INT, RECP_PERSISTENT, (int) MY_STAT_B, RecRawStatSyncSum);

RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_c",
RECD_INT, RECP_NULL, (int) MY_STAT_C, RecRawStatSyncCount);
RECD_INT, RECP_NON_PERSISTENT, (int) MY_STAT_C, RecRawStatSyncCount);

RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_d",
RECD_FLOAT, RECP_NULL, (int) MY_STAT_D, raw_stat_sync_ticks_per_sec);
RECD_FLOAT, RECP_NON_PERSISTENT, (int) MY_STAT_D, raw_stat_sync_ticks_per_sec);

RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_e",
RECD_FLOAT, RECP_NULL, (int) MY_STAT_E, RecRawStatSyncHrTimeAvg);
RECD_FLOAT, RECP_NON_PERSISTENT, (int) MY_STAT_E, RecRawStatSyncHrTimeAvg);
RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_f",
RECD_INT, RECP_NULL, (int) MY_STAT_F, RecRawStatSyncCount);
RECD_INT, RECP_NON_PERSISTENT, (int) MY_STAT_F, RecRawStatSyncCount);
// If forget to Register this RawStat, we will have SEGV when checking
// g_rsb->global[MY_STAT_G]
RecRegisterRawStat(g_rsb, RECT_PROCESS, "proxy.process.test_raw_stat_g",
RECD_INT, RECP_NULL, (int) MY_STAT_G, RecRawStatSyncSum);
RECD_INT, RECP_NON_PERSISTENT, (int) MY_STAT_G, RecRawStatSyncSum);

// Schedule a bunch of continuations that will use the stats registered above
RawStatCont *sc = new RawStatCont(new_ProxyMutex());
Expand Down
10 changes: 5 additions & 5 deletions lib/records/test_RecordsConfig.cc
Expand Up @@ -51,10 +51,10 @@ RecordsConfigRegister()
RecRegisterConfigCounter(RECT_CONFIG, "proxy.config.link_test_3", 0, RECU_DYNAMIC, RECC_NULL, NULL);

// NODE
RecRegisterStatString(RECT_NODE, "proxy.node.cb_test_1", "cb_test_1__original", RECP_NULL);
RecRegisterStatString(RECT_NODE, "proxy.node.cb_test_2", "cb_test_2__original", RECP_NULL);
RecRegisterStatInt(RECT_NODE, "proxy.node.cb_test_int", 0, RECP_NULL);
RecRegisterStatFloat(RECT_NODE, "proxy.node.cb_test_float", 0.0f, RECP_NULL);
RecRegisterStatCounter(RECT_NODE, "proxy.node.cb_test_count", 0, RECP_NULL);
RecRegisterStatString(RECT_NODE, "proxy.node.cb_test_1", "cb_test_1__original", RECP_NON_PERSISTENT);
RecRegisterStatString(RECT_NODE, "proxy.node.cb_test_2", "cb_test_2__original", RECP_NON_PERSISTENT);
RecRegisterStatInt(RECT_NODE, "proxy.node.cb_test_int", 0, RECP_NON_PERSISTENT);
RecRegisterStatFloat(RECT_NODE, "proxy.node.cb_test_float", 0.0f, RECP_NON_PERSISTENT);
RecRegisterStatCounter(RECT_NODE, "proxy.node.cb_test_count", 0, RECP_NON_PERSISTENT);

}
2 changes: 1 addition & 1 deletion mgmt/BaseManager.h
Expand Up @@ -92,7 +92,7 @@
#define MGMT_SIGNAL_LOGGING_WARNING 10
// Currently unused: 11
// Currently unused: 12
#define MGMT_SIGNAL_PLUGIN_ADD_REC 13
// Currently unused: 13
#define MGMT_SIGNAL_PLUGIN_SET_CONFIG 14
#define MGMT_SIGNAL_LOG_FILES_ROLLED 15
#define MGMT_SIGNAL_LIBRECORDS 16
Expand Down
29 changes: 0 additions & 29 deletions mgmt/LocalManager.cc
Expand Up @@ -617,35 +617,6 @@ LocalManager::handleMgmtMsgFromProcesses(MgmtMessageHdr * mh)
case MGMT_SIGNAL_CONFIG_FILE_READ:
mgmt_log(stderr, "[LocalManager::handleMgmtMsgFromProcesses] File done '%d'\n", data_raw);
break;
case MGMT_SIGNAL_PLUGIN_ADD_REC:
{
char var_name[256];
char var_value[256];
RecDataT data_type;
// data_type is an enum type, so cast to an int* to avoid warnings. /leif
// coverity[secure_coding]
if (sscanf(data_raw, "%255s %d %255s", var_name, (int *) &data_type, var_value) != 3) {
Debug("lm", "Warning: Bad data_type: %s", (char *) data_raw);
data_type = RECD_MAX;
}
switch (data_type) {
case RECD_COUNTER:
RecRegisterStatCounter(RECT_PLUGIN, var_name, ink_atoi64(var_value), RECP_NULL);
break;
case RECD_INT:
RecRegisterStatInt(RECT_PLUGIN, var_name, ink_atoi64(var_value), RECP_NULL);
break;
case RECD_FLOAT:
RecRegisterStatFloat(RECT_PLUGIN, var_name, atof(var_value), RECP_NULL);
break;
case RECD_STRING:
RecRegisterStatString(RECT_PLUGIN, var_name, var_value, RECP_NULL);
break;
default:
break;
}
break;
}
case MGMT_SIGNAL_PLUGIN_SET_CONFIG:
{
char var_name[256];
Expand Down

0 comments on commit 7352493

Please sign in to comment.