[netperf-dev] netperf2 commit notice r175 - trunk/src
raj at netperf.org
raj at netperf.org
Wed Jan 23 14:11:15 PST 2008
Author: raj
Date: 2008-01-23 14:11:15 -0800 (Wed, 23 Jan 2008)
New Revision: 175
Modified:
trunk/src/nettest_omni.c
Log:
first halting bits of the omni output formatter
Modified: trunk/src/nettest_omni.c
===================================================================
--- trunk/src/nettest_omni.c 2008-01-23 02:02:24 UTC (rev 174)
+++ trunk/src/nettest_omni.c 2008-01-23 22:11:15 UTC (rev 175)
@@ -201,23 +201,80 @@
remote_connected;
enum netperf_output_name {
+ COMMAND_LINE,
+ SOCKET_TYPE,
+ PROTOCOL,
+ ELAPSED_TIME,
+ SOURCE_PORT,
+ SOURCE_ADDR,
+ DEST_PORT,
+ DEST_ADDR,
+ LSS_SIZE_REQ,
LSS_SIZE,
+ LSS_SIZE_END,
+ LSR_SIZE_REQ,
LSR_SIZE,
+ LSR_SIZE_END,
+ LOCAL_SEND_SIZE,
+ LOCAL_RECV_SIZE,
+ LOCAL_SEND_CALLS,
+ LOCAL_RECV_CALLS,
+ LOCAL_BYTES_PER_RECV,
+ LOCAL_BYTES_PER_SEND,
+ LOCAL_BYTES_SENT,
+ LOCAL_BYTES_RECVD,
+ LOCAL_BYTES_XFERD,
+ LOCAL_SEND_DIRTY_COUNT,
+ LOCAL_RECV_DIRTY_COUNT,
+ LOCAL_RECV_CLEAN_COUNT,
+ LOCAL_CPU_UTIL,
+ LOCAL_SD,
+ LOCAL_SD_UNITS,
+ LOCAL_CPU_METHOD,
+ LOCAL_NODELAY,
+ LOCAL_CORK,
+ RSS_SIZE_REQ,
+ RSS_SIZE,
+ RSS_SIZE_END,
+ RSR_SIZE_REQ,
+ RSR_SIZE,
+ RSR_SIZE_END,
+ REMOTE_SEND_SIZE,
+ REMOTE_RECV_SIZE,
+ REMOTE_SEND_CALLS,
+ REMOTE_RECV_CALLS,
+ REMOTE_BYTES_PER_RECV,
+ REMOTE_BYTES_PER_SEND,
+ REMOTE_BYTES_SENT,
+ REMOTE_BYTES_RECVD,
+ REMOTE_BYTES_XFERD,
+ REMOTE_SEND_DIRTY_COUNT,
+ REMOTE_RECV_DIRTY_COUNT,
+ REMOTE_RECV_CLEAN_COUNT,
+ REMOTE_CPU_UTIL,
+ REMOTE_SD,
+ REMOTE_SD_UNITS,
+ REMOTE_CPU_METHOD,
+ REMOTE_NODELAY,
+ REMOTE_CORK,
NETPERF_OUTPUT_MAX
};
typedef struct netperf_output_elt {
- int output_name; /* belt and suspenders */
+ enum netperf_output_name output_name; /* belt and suspenders */
int max_line_len; /* length of the longest of the "lines" */
int tot_line_len; /* total length of all lines, including spaces */
char *line1;
char *line2;
char *line3;
char *line4;
+ char *brief; /* the brief name of the value */
char *format; /* format to apply to value */
void *display_value; /* where to find the value */
-} neperf_output_elt_t;
+} netperf_output_elt_t;
+netperf_output_elt_t netperf_output_source[NETPERF_OUTPUT_MAX];
+
static unsigned short
get_port_number(struct addrinfo *res)
{
@@ -318,7 +375,862 @@
set_port_number(local_res, (unsigned short)myport);
}
+char *
+netperf_output_enum_to_str(enum netperf_output_name output_name)
+{
+ switch (output_name) {
+ case COMMAND_LINE:
+ return "COMMAND_LINE";
+ case SOCKET_TYPE:
+ return "SOCKET_TYPE";
+ case PROTOCOL:
+ return "PROTOCOL";
+ case ELAPSED_TIME:
+ return "ELAPSED_TIME";
+ case SOURCE_PORT:
+ return "SOURCE_PORT";
+ case SOURCE_ADDR:
+ return "SOURCE_ADDR";
+ case DEST_PORT:
+ return "DEST_PORT";
+ case DEST_ADDR:
+ return "DEST_ADDR";
+ case LSS_SIZE_REQ:
+ return "LSS_SIZE_REQ";
+ case LSS_SIZE:
+ return "LSS_SIZE";
+ case LSS_SIZE_END:
+ return "LSS_SIZE_END";
+ case LSR_SIZE_REQ:
+ return "LSR_SIZE_REQ";
+ case LSR_SIZE:
+ return "LSR_SIZE";
+ case LSR_SIZE_END:
+ return "LSR_SIZE_END";
+ case LOCAL_SEND_SIZE:
+ return "LOCAL_SEND_SIZE";
+ case LOCAL_RECV_SIZE:
+ return "LOCAL_RECV_SIZE";
+ case LOCAL_SEND_CALLS:
+ return "LOCAL_SEND_CALLS";
+ case LOCAL_RECV_CALLS:
+ return "LOCAL_RECV_CALLS";
+ case LOCAL_BYTES_PER_RECV:
+ return "LOCAL_BYTES_PER_RECV";
+ case LOCAL_BYTES_PER_SEND:
+ return "LOCAL_BYTES_PER_SEND";
+ case LOCAL_BYTES_SENT:
+ return "LOCAL_BYTES_SENT";
+ case LOCAL_BYTES_RECVD:
+ return "LOCAL_BYTES_RECVD";
+ case LOCAL_BYTES_XFERD:
+ return "LOCAL_BYTES_XFERD";
+ case LOCAL_SEND_DIRTY_COUNT:
+ return "LOCAL_SEND_DIRTY_COUNT";
+ case LOCAL_RECV_DIRTY_COUNT:
+ return "LOCAL_RECV_DIRTY_COUNT";
+ case LOCAL_RECV_CLEAN_COUNT:
+ return "LOCAL_RECV_CLEAN_COUNT";
+ case LOCAL_CPU_UTIL:
+ return "LOCAL_CPU_UTIL";
+ case LOCAL_SD:
+ return "LOCAL_SD";
+ case LOCAL_SD_UNITS:
+ return "LOCAL_SD_UNITS";
+ case LOCAL_CPU_METHOD:
+ return "LOCAL_CPU_METHOD";
+ case LOCAL_NODELAY:
+ return "LOCAL_NODELAY";
+ case LOCAL_CORK:
+ return "LOCAL_CORK";
+ case RSS_SIZE_REQ:
+ return "RSS_SIZE_REQ";
+ case RSS_SIZE:
+ return "RSS_SIZE";
+ case RSS_SIZE_END:
+ return "RSS_SIZE_END";
+ case RSR_SIZE_REQ:
+ return "RSR_SIZE_REQ";
+ case RSR_SIZE:
+ return "RSR_SIZE";
+ case RSR_SIZE_END:
+ return "RSR_SIZE_END";
+ case REMOTE_SEND_SIZE:
+ return "REMOTE_SEND_SIZE";
+ case REMOTE_RECV_SIZE:
+ return "REMOTE_RECV_SIZE";
+ case REMOTE_SEND_CALLS:
+ return "REMOTE_SEND_CALLS";
+ case REMOTE_RECV_CALLS:
+ return "REMOTE_RECV_CALLS";
+ case REMOTE_BYTES_PER_RECV:
+ return "REMOTE_BYTES_PER_RECV";
+ case REMOTE_BYTES_PER_SEND:
+ return "REMOTE_BYTES_PER_SEND";
+ case REMOTE_BYTES_SENT:
+ return "REMOTE_BYTES_SENT";
+ case REMOTE_BYTES_RECVD:
+ return "REMOTE_BYTES_RECVD";
+ case REMOTE_BYTES_XFERD:
+ return "REMOTE_BYTES_XFERD";
+ case REMOTE_SEND_DIRTY_COUNT:
+ return "REMOTE_SEND_DIRTY_COUNT";
+ case REMOTE_RECV_DIRTY_COUNT:
+ return "REMOTE_RECV_DIRTY_COUNT";
+ case REMOTE_RECV_CLEAN_COUNT:
+ return "REMOTE_RECV_CLEAN_COUNT";
+ case REMOTE_CPU_UTIL:
+ return "REMOTE_CPU_UTIL";
+ case REMOTE_SD:
+ return "REMOTE_SD";
+ case REMOTE_SD_UNITS:
+ return "REMOTE_SD_UNITS";
+ case REMOTE_CPU_METHOD:
+ return "REMOTE_CPU_METHOD";
+ case REMOTE_NODELAY:
+ return "REMOTE_NODELAY";
+ case REMOTE_CORK:
+ return "REMOTE_CORK";
+ default:
+ return "Unknown";
+ }
+}
void
+dump_netperf_output_source(FILE *where)
+{
+ int i;
+
+ /* belts and suspenders everyone... */
+ for (i = COMMAND_LINE; i < NETPERF_OUTPUT_MAX; i++) {
+ fprintf(where,
+ "Output Name: %s\n",
+ netperf_output_enum_to_str(netperf_output_source[i].output_name));
+ fprintf(where,
+ "\tmax_line_len %d tot_line_len %d display_value %p\n",
+ netperf_output_source[i].max_line_len,
+ netperf_output_source[i].tot_line_len,
+ netperf_output_source[i].display_value);
+ fprintf(where,
+ "\tline1: |%s|\n",
+ (netperf_output_source[i].line1 == NULL) ? "" :
+ netperf_output_source[i].line1);
+ fprintf(where,
+ "\tline2: |%s|\n",
+ (netperf_output_source[i].line2 == NULL) ? "" :
+ netperf_output_source[i].line2);
+ fprintf(where,
+ "\tline3: |%s|\n",
+ (netperf_output_source[i].line3 == NULL) ? "" :
+ netperf_output_source[i].line3);
+ fprintf(where,
+ "\tline4: |%s|\n",
+ (netperf_output_source[i].line4 == NULL) ? "" :
+ netperf_output_source[i].line4);
+ fprintf(where,
+ "\tbrief: |%s|\n",
+ (netperf_output_source[i].brief == NULL) ? "" :
+ netperf_output_source[i].brief);
+ fprintf(where,
+ "\tformat: |%s|\n",
+ (netperf_output_source[i].format == NULL) ? "" :
+ netperf_output_source[i].format);
+ }
+ fflush(where);
+}
+
+/* lots of boring, repetitive code */
+void
+print_omni_init() {
+
+ int i;
+
+ /* belts and suspenders everyone... */
+ for (i = COMMAND_LINE; i < NETPERF_OUTPUT_MAX; i++) {
+ netperf_output_source[i].output_name = i;
+ netperf_output_source[i].max_line_len = 0;
+ netperf_output_source[i].tot_line_len = 0;
+ netperf_output_source[i].line1 = "";
+ netperf_output_source[i].line2 = "";
+ netperf_output_source[i].line3 = "";
+ netperf_output_source[i].line4 = "";
+ netperf_output_source[i].brief = "";
+ netperf_output_source[i].format = "";
+ netperf_output_source[i].display_value = NULL;
+ }
+
+#define MY_MAX(a,b) (a > b) ? a : b
+
+#define NETPERF_LINE_MAX(x) \
+ MY_MAX(MY_MAX(MY_MAX(strlen(netperf_output_source[x].line1),\
+ strlen(netperf_output_source[x].line2)),\
+ strlen(netperf_output_source[x].line3)),\
+ strlen(netperf_output_source[x].line4))
+
+#define NETPERF_LINE_TOT(x) \
+ strlen(netperf_output_source[x].line1) +\
+ strlen(netperf_output_source[x].line2) +\
+ strlen(netperf_output_source[x].line3) +\
+ strlen(netperf_output_source[x].line4)
+
+ netperf_output_source[COMMAND_LINE].output_name = COMMAND_LINE;
+ netperf_output_source[COMMAND_LINE].line1 = "Command";
+ netperf_output_source[COMMAND_LINE].line2 = "Line";
+ netperf_output_source[COMMAND_LINE].format = "%s";
+ netperf_output_source[COMMAND_LINE].display_value = NULL;
+ netperf_output_source[COMMAND_LINE].max_line_len =
+ NETPERF_LINE_MAX(COMMAND_LINE);
+ netperf_output_source[COMMAND_LINE].tot_line_len =
+ NETPERF_LINE_TOT(COMMAND_LINE);
+
+ netperf_output_source[SOCKET_TYPE].output_name = SOCKET_TYPE;
+ netperf_output_source[SOCKET_TYPE].line1 = "Socket";
+ netperf_output_source[SOCKET_TYPE].line2 = "Type";
+ netperf_output_source[SOCKET_TYPE].format = "%s";
+ netperf_output_source[SOCKET_TYPE].display_value = NULL;
+ netperf_output_source[SOCKET_TYPE].max_line_len =
+ NETPERF_LINE_MAX(SOCKET_TYPE);
+ netperf_output_source[SOCKET_TYPE].tot_line_len =
+ NETPERF_LINE_TOT(SOCKET_TYPE);
+
+ netperf_output_source[PROTOCOL].output_name = PROTOCOL;
+ netperf_output_source[PROTOCOL].line1 = "Protocol";
+ netperf_output_source[PROTOCOL].format = "%s";
+ netperf_output_source[PROTOCOL].display_value = NULL;
+ netperf_output_source[PROTOCOL].max_line_len =
+ NETPERF_LINE_MAX(PROTOCOL);
+ netperf_output_source[PROTOCOL].tot_line_len =
+ NETPERF_LINE_TOT(PROTOCOL);
+
+ netperf_output_source[ELAPSED_TIME].output_name = ELAPSED_TIME;
+ netperf_output_source[ELAPSED_TIME].line1 = "Elapsed";
+ netperf_output_source[ELAPSED_TIME].line2 = "Time";
+ netperf_output_source[ELAPSED_TIME].line3 = "(sec)";
+ netperf_output_source[ELAPSED_TIME].format = "%s";
+ netperf_output_source[ELAPSED_TIME].display_value = NULL;
+ netperf_output_source[ELAPSED_TIME].max_line_len =
+ NETPERF_LINE_MAX(ELAPSED_TIME);
+ netperf_output_source[ELAPSED_TIME].tot_line_len =
+ NETPERF_LINE_TOT(ELAPSED_TIME);
+
+ netperf_output_source[SOURCE_PORT].output_name = SOURCE_PORT;
+ netperf_output_source[SOURCE_PORT].line1 = "Source";
+ netperf_output_source[SOURCE_PORT].line2 = "Port";
+ netperf_output_source[SOURCE_PORT].format = "%s";
+ netperf_output_source[SOURCE_PORT].display_value = NULL;
+ netperf_output_source[SOURCE_PORT].max_line_len =
+ NETPERF_LINE_MAX(SOURCE_PORT);
+ netperf_output_source[SOURCE_PORT].tot_line_len =
+ NETPERF_LINE_TOT(SOURCE_PORT);
+
+ netperf_output_source[SOURCE_ADDR].output_name = SOURCE_ADDR;
+ netperf_output_source[SOURCE_ADDR].line1 = "Source";
+ netperf_output_source[SOURCE_ADDR].line2 = "Address";
+ netperf_output_source[SOURCE_ADDR].format = "%s";
+ netperf_output_source[SOURCE_ADDR].display_value = NULL;
+ netperf_output_source[SOURCE_ADDR].max_line_len =
+ NETPERF_LINE_MAX(SOURCE_ADDR);
+ netperf_output_source[SOURCE_ADDR].tot_line_len =
+ NETPERF_LINE_TOT(SOURCE_ADDR);
+
+ netperf_output_source[DEST_PORT].output_name = DEST_PORT;
+ netperf_output_source[DEST_PORT].line1 = "Destination";
+ netperf_output_source[DEST_PORT].line2 = "Port";
+ netperf_output_source[DEST_PORT].format = "%s";
+ netperf_output_source[DEST_PORT].display_value = NULL;
+ netperf_output_source[DEST_PORT].max_line_len =
+ NETPERF_LINE_MAX(DEST_PORT);
+ netperf_output_source[DEST_PORT].tot_line_len =
+ NETPERF_LINE_TOT(DEST_PORT);
+
+ netperf_output_source[DEST_ADDR].output_name = DEST_ADDR;
+ netperf_output_source[DEST_ADDR].line1 = "Destination";
+ netperf_output_source[DEST_ADDR].line2 = "Address";
+ netperf_output_source[DEST_ADDR].format = "%s";
+ netperf_output_source[DEST_ADDR].display_value = NULL;
+ netperf_output_source[DEST_ADDR].max_line_len =
+ NETPERF_LINE_MAX(DEST_ADDR);
+ netperf_output_source[DEST_ADDR].tot_line_len =
+ NETPERF_LINE_TOT(DEST_ADDR);
+
+ netperf_output_source[LSS_SIZE_REQ].output_name = LSS_SIZE_REQ;
+ netperf_output_source[LSS_SIZE_REQ].line1 = "Local";
+ netperf_output_source[LSS_SIZE_REQ].line2 = "Send Socket";
+ netperf_output_source[LSS_SIZE_REQ].line3 = "Size";
+ netperf_output_source[LSS_SIZE_REQ].line4 = "Requested";
+ netperf_output_source[LSS_SIZE_REQ].format = "%s";
+ netperf_output_source[LSS_SIZE_REQ].display_value = NULL;
+ netperf_output_source[LSS_SIZE_REQ].max_line_len =
+ NETPERF_LINE_MAX(LSS_SIZE_REQ);
+ netperf_output_source[LSS_SIZE_REQ].tot_line_len =
+ NETPERF_LINE_TOT(LSS_SIZE_REQ);
+
+ netperf_output_source[LSS_SIZE].output_name = LSS_SIZE;
+ netperf_output_source[LSS_SIZE].line1 = "Local";
+ netperf_output_source[LSS_SIZE].line2 = "Send Socket";
+ netperf_output_source[LSS_SIZE].line3 = "Size";
+ netperf_output_source[LSS_SIZE].line4 = "Initial";
+ netperf_output_source[LSS_SIZE].format = "%s";
+ netperf_output_source[LSS_SIZE].display_value = NULL;
+ netperf_output_source[LSS_SIZE].max_line_len =
+ NETPERF_LINE_MAX(LSS_SIZE);
+ netperf_output_source[LSS_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(LSS_SIZE);
+
+ netperf_output_source[LSS_SIZE_END].output_name = LSS_SIZE_END;
+ netperf_output_source[LSS_SIZE_END].line1 = "Local";
+ netperf_output_source[LSS_SIZE_END].line2 = "Send Socket";
+ netperf_output_source[LSS_SIZE_END].line3 = "Size";
+ netperf_output_source[LSS_SIZE_END].line4 = "Final";
+ netperf_output_source[LSS_SIZE_END].format = "%s";
+ netperf_output_source[LSS_SIZE_END].display_value = NULL;
+ netperf_output_source[LSS_SIZE_END].max_line_len =
+ NETPERF_LINE_MAX(LSS_SIZE_END);
+ netperf_output_source[LSS_SIZE_END].tot_line_len =
+ NETPERF_LINE_TOT(LSS_SIZE_END);
+
+ netperf_output_source[LSR_SIZE_REQ].output_name = LSR_SIZE_REQ;
+ netperf_output_source[LSR_SIZE_REQ].line1 = "Local";
+ netperf_output_source[LSR_SIZE_REQ].line2 = "Recv Socket";
+ netperf_output_source[LSR_SIZE_REQ].line3 = "Size";
+ netperf_output_source[LSR_SIZE_REQ].line4 = "Requested";
+ netperf_output_source[LSR_SIZE_REQ].format = "%s";
+ netperf_output_source[LSR_SIZE_REQ].display_value = NULL;
+ netperf_output_source[LSR_SIZE_REQ].max_line_len =
+ NETPERF_LINE_MAX(LSR_SIZE_REQ);
+ netperf_output_source[LSR_SIZE_REQ].tot_line_len =
+ NETPERF_LINE_TOT(LSR_SIZE_REQ);
+
+ netperf_output_source[LSR_SIZE].output_name = LSR_SIZE;
+ netperf_output_source[LSR_SIZE].line1 = "Local";
+ netperf_output_source[LSR_SIZE].line2 = "Recv Socket";
+ netperf_output_source[LSR_SIZE].line3 = "Size";
+ netperf_output_source[LSR_SIZE].line4 = "Initial";
+ netperf_output_source[LSR_SIZE].format = "%s";
+ netperf_output_source[LSR_SIZE].display_value = NULL;
+ netperf_output_source[LSR_SIZE].max_line_len =
+ NETPERF_LINE_MAX(LSR_SIZE);
+ netperf_output_source[LSR_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(LSR_SIZE);
+
+ netperf_output_source[LSR_SIZE_END].output_name = LSR_SIZE_END;
+ netperf_output_source[LSR_SIZE_END].line1 = "Local";
+ netperf_output_source[LSR_SIZE_END].line2 = "Recv Socket";
+ netperf_output_source[LSR_SIZE_END].line3 = "Size";
+ netperf_output_source[LSR_SIZE_END].line4 = "Final";
+ netperf_output_source[LSR_SIZE_END].format = "%s";
+ netperf_output_source[LSR_SIZE_END].display_value = NULL;
+ netperf_output_source[LSR_SIZE_END].max_line_len =
+ NETPERF_LINE_MAX(LSR_SIZE_END);
+ netperf_output_source[LSR_SIZE_END].tot_line_len =
+ NETPERF_LINE_TOT(LSR_SIZE_END);
+
+ netperf_output_source[LOCAL_SEND_SIZE].output_name = LOCAL_SEND_SIZE;
+ netperf_output_source[LOCAL_SEND_SIZE].line1 = "Local";
+ netperf_output_source[LOCAL_SEND_SIZE].line2 = "Send";
+ netperf_output_source[LOCAL_SEND_SIZE].line3 = "Size";
+ netperf_output_source[LOCAL_SEND_SIZE].line4 = "";
+ netperf_output_source[LOCAL_SEND_SIZE].format = "%s";
+ netperf_output_source[LOCAL_SEND_SIZE].display_value = NULL;
+ netperf_output_source[LOCAL_SEND_SIZE].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_SEND_SIZE);
+ netperf_output_source[LOCAL_SEND_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_SEND_SIZE);
+
+ netperf_output_source[LOCAL_RECV_SIZE].output_name = LOCAL_RECV_SIZE;
+ netperf_output_source[LOCAL_RECV_SIZE].line1 = "Local";
+ netperf_output_source[LOCAL_RECV_SIZE].line2 = "Recv";
+ netperf_output_source[LOCAL_RECV_SIZE].line3 = "Size";
+ netperf_output_source[LOCAL_RECV_SIZE].line4 = "";
+ netperf_output_source[LOCAL_RECV_SIZE].format = "%s";
+ netperf_output_source[LOCAL_RECV_SIZE].display_value = NULL;
+ netperf_output_source[LOCAL_RECV_SIZE].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_RECV_SIZE);
+ netperf_output_source[LOCAL_RECV_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_RECV_SIZE);
+
+ netperf_output_source[LOCAL_SEND_CALLS].output_name = LOCAL_SEND_CALLS;
+ netperf_output_source[LOCAL_SEND_CALLS].line1 = "Local";
+ netperf_output_source[LOCAL_SEND_CALLS].line2 = "Send";
+ netperf_output_source[LOCAL_SEND_CALLS].line3 = "Calls";
+ netperf_output_source[LOCAL_SEND_CALLS].line4 = "";
+ netperf_output_source[LOCAL_SEND_CALLS].format = "%s";
+ netperf_output_source[LOCAL_SEND_CALLS].display_value = NULL;
+ netperf_output_source[LOCAL_SEND_CALLS].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_SEND_CALLS);
+ netperf_output_source[LOCAL_SEND_CALLS].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_SEND_CALLS);
+
+ netperf_output_source[LOCAL_RECV_CALLS].output_name = LOCAL_RECV_CALLS;
+ netperf_output_source[LOCAL_RECV_CALLS].line1 = "Local";
+ netperf_output_source[LOCAL_RECV_CALLS].line2 = "Recv";
+ netperf_output_source[LOCAL_RECV_CALLS].line3 = "Calls";
+ netperf_output_source[LOCAL_RECV_CALLS].line4 = "";
+ netperf_output_source[LOCAL_RECV_CALLS].format = "%s";
+ netperf_output_source[LOCAL_RECV_CALLS].display_value = NULL;
+ netperf_output_source[LOCAL_RECV_CALLS].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_RECV_CALLS);
+ netperf_output_source[LOCAL_RECV_CALLS].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_RECV_CALLS);
+
+ netperf_output_source[LOCAL_BYTES_PER_RECV].output_name = LOCAL_BYTES_PER_RECV;
+ netperf_output_source[LOCAL_BYTES_PER_RECV].line1 = "Local";
+ netperf_output_source[LOCAL_BYTES_PER_RECV].line2 = "Bytes";
+ netperf_output_source[LOCAL_BYTES_PER_RECV].line3 = "Per";
+ netperf_output_source[LOCAL_BYTES_PER_RECV].line4 = "Recv";
+ netperf_output_source[LOCAL_BYTES_PER_RECV].format = "%s";
+ netperf_output_source[LOCAL_BYTES_PER_RECV].display_value = NULL;
+ netperf_output_source[LOCAL_BYTES_PER_RECV].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_BYTES_PER_RECV);
+ netperf_output_source[LOCAL_BYTES_PER_RECV].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_BYTES_PER_RECV);
+
+ netperf_output_source[LOCAL_BYTES_PER_SEND].output_name = LOCAL_BYTES_PER_SEND;
+ netperf_output_source[LOCAL_BYTES_PER_SEND].line1 = "Local";
+ netperf_output_source[LOCAL_BYTES_PER_SEND].line2 = "Bytes";
+ netperf_output_source[LOCAL_BYTES_PER_SEND].line3 = "Per";
+ netperf_output_source[LOCAL_BYTES_PER_SEND].line4 = "Send";
+ netperf_output_source[LOCAL_BYTES_PER_SEND].format = "%s";
+ netperf_output_source[LOCAL_BYTES_PER_SEND].display_value = NULL;
+ netperf_output_source[LOCAL_BYTES_PER_SEND].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_BYTES_PER_SEND);
+ netperf_output_source[LOCAL_BYTES_PER_SEND].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_BYTES_PER_SEND);
+
+ netperf_output_source[LOCAL_BYTES_RECVD].output_name = LOCAL_BYTES_RECVD;
+ netperf_output_source[LOCAL_BYTES_RECVD].line1 = "Local";
+ netperf_output_source[LOCAL_BYTES_RECVD].line2 = "Bytes";
+ netperf_output_source[LOCAL_BYTES_RECVD].line3 = "Received";
+ netperf_output_source[LOCAL_BYTES_RECVD].line4 = "";
+ netperf_output_source[LOCAL_BYTES_RECVD].format = "%s";
+ netperf_output_source[LOCAL_BYTES_RECVD].display_value = NULL;
+ netperf_output_source[LOCAL_BYTES_RECVD].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_BYTES_RECVD);
+ netperf_output_source[LOCAL_BYTES_RECVD].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_BYTES_RECVD);
+
+ netperf_output_source[LOCAL_BYTES_SENT].output_name = LOCAL_BYTES_SENT;
+ netperf_output_source[LOCAL_BYTES_SENT].line1 = "Local";
+ netperf_output_source[LOCAL_BYTES_SENT].line2 = "Bytes";
+ netperf_output_source[LOCAL_BYTES_SENT].line3 = "Sent";
+ netperf_output_source[LOCAL_BYTES_SENT].line4 = "";
+ netperf_output_source[LOCAL_BYTES_SENT].format = "%s";
+ netperf_output_source[LOCAL_BYTES_SENT].display_value = NULL;
+ netperf_output_source[LOCAL_BYTES_SENT].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_BYTES_SENT);
+ netperf_output_source[LOCAL_BYTES_SENT].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_BYTES_SENT);
+
+ netperf_output_source[LOCAL_BYTES_XFERD].output_name = LOCAL_BYTES_XFERD;
+ netperf_output_source[LOCAL_BYTES_XFERD].line1 = "Local";
+ netperf_output_source[LOCAL_BYTES_XFERD].line2 = "Bytes";
+ netperf_output_source[LOCAL_BYTES_XFERD].line3 = "Xferred";
+ netperf_output_source[LOCAL_BYTES_XFERD].line4 = "";
+ netperf_output_source[LOCAL_BYTES_XFERD].format = "%s";
+ netperf_output_source[LOCAL_BYTES_XFERD].display_value = NULL;
+ netperf_output_source[LOCAL_BYTES_XFERD].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_BYTES_XFERD);
+ netperf_output_source[LOCAL_BYTES_XFERD].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_BYTES_XFERD);
+
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].output_name = LOCAL_SEND_DIRTY_COUNT;
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line1 = "Local";
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line2 = "Send";
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line3 = "Dirty";
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line4 = "Count";
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].format = "%s";
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].display_value = NULL;
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_SEND_DIRTY_COUNT);
+ netperf_output_source[LOCAL_SEND_DIRTY_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_SEND_DIRTY_COUNT);
+
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].output_name = LOCAL_RECV_DIRTY_COUNT;
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line1 = "Local";
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line2 = "Recv";
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line3 = "Dirty";
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line4 = "Count";
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].format = "%s";
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].display_value = NULL;
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_RECV_DIRTY_COUNT);
+ netperf_output_source[LOCAL_RECV_DIRTY_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_RECV_DIRTY_COUNT);
+
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].output_name = LOCAL_RECV_CLEAN_COUNT;
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line1 = "Local";
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line2 = "Recv";
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line3 = "Clean";
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line4 = "Count";
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].format = "%s";
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].display_value = NULL;
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_RECV_CLEAN_COUNT);
+ netperf_output_source[LOCAL_RECV_CLEAN_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_RECV_CLEAN_COUNT);
+
+ netperf_output_source[LOCAL_CPU_UTIL].output_name = LOCAL_CPU_UTIL;
+ netperf_output_source[LOCAL_CPU_UTIL].line1 = "Local";
+ netperf_output_source[LOCAL_CPU_UTIL].line2 = "CPU";
+ netperf_output_source[LOCAL_CPU_UTIL].line3 = "Util";
+ netperf_output_source[LOCAL_CPU_UTIL].line4 = "%";
+ netperf_output_source[LOCAL_CPU_UTIL].format = "%s";
+ netperf_output_source[LOCAL_CPU_UTIL].display_value = NULL;
+ netperf_output_source[LOCAL_CPU_UTIL].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_CPU_UTIL);
+ netperf_output_source[LOCAL_CPU_UTIL].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_CPU_UTIL);
+
+ netperf_output_source[LOCAL_SD].output_name = LOCAL_SD;
+ netperf_output_source[LOCAL_SD].line1 = "Local";
+ netperf_output_source[LOCAL_SD].line2 = "Service";
+ netperf_output_source[LOCAL_SD].line3 = "Demand";
+ netperf_output_source[LOCAL_SD].line4 = "";
+ netperf_output_source[LOCAL_SD].format = "%s";
+ netperf_output_source[LOCAL_SD].display_value = NULL;
+ netperf_output_source[LOCAL_SD].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_SD);
+ netperf_output_source[LOCAL_SD].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_SD);
+
+ netperf_output_source[LOCAL_SD_UNITS].output_name = LOCAL_SD_UNITS;
+ netperf_output_source[LOCAL_SD_UNITS].line1 = "Local";
+ netperf_output_source[LOCAL_SD_UNITS].line2 = "Service";
+ netperf_output_source[LOCAL_SD_UNITS].line3 = "Demand";
+ netperf_output_source[LOCAL_SD_UNITS].line4 = "Units";
+ netperf_output_source[LOCAL_SD_UNITS].format = "%s";
+ netperf_output_source[LOCAL_SD_UNITS].display_value = NULL;
+ netperf_output_source[LOCAL_SD_UNITS].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_SD_UNITS);
+ netperf_output_source[LOCAL_SD_UNITS].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_SD_UNITS);
+
+ netperf_output_source[LOCAL_CPU_METHOD].output_name = LOCAL_CPU_METHOD;
+ netperf_output_source[LOCAL_CPU_METHOD].line1 = "Local";
+ netperf_output_source[LOCAL_CPU_METHOD].line2 = "CPU";
+ netperf_output_source[LOCAL_CPU_METHOD].line3 = "Util";
+ netperf_output_source[LOCAL_CPU_METHOD].line4 = "Method";
+ netperf_output_source[LOCAL_CPU_METHOD].format = "%s";
+ netperf_output_source[LOCAL_CPU_METHOD].display_value = NULL;
+ netperf_output_source[LOCAL_CPU_METHOD].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_CPU_METHOD);
+ netperf_output_source[LOCAL_CPU_METHOD].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_CPU_METHOD);
+
+ netperf_output_source[LOCAL_NODELAY].output_name = LOCAL_NODELAY;
+ netperf_output_source[LOCAL_NODELAY].line1 = "Local";
+ netperf_output_source[LOCAL_NODELAY].line2 = "NODELAY";
+ netperf_output_source[LOCAL_NODELAY].line3 = "";
+ netperf_output_source[LOCAL_NODELAY].line4 = "";
+ netperf_output_source[LOCAL_NODELAY].format = "%s";
+ netperf_output_source[LOCAL_NODELAY].display_value = NULL;
+ netperf_output_source[LOCAL_NODELAY].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_NODELAY);
+ netperf_output_source[LOCAL_NODELAY].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_NODELAY);
+
+ netperf_output_source[LOCAL_CORK].output_name = LOCAL_CORK;
+ netperf_output_source[LOCAL_CORK].line1 = "Local";
+ netperf_output_source[LOCAL_CORK].line2 = "Cork";
+ netperf_output_source[LOCAL_CORK].line3 = "";
+ netperf_output_source[LOCAL_CORK].line4 = "";
+ netperf_output_source[LOCAL_CORK].format = "%s";
+ netperf_output_source[LOCAL_CORK].display_value = NULL;
+ netperf_output_source[LOCAL_CORK].max_line_len =
+ NETPERF_LINE_MAX(LOCAL_CORK);
+ netperf_output_source[LOCAL_CORK].tot_line_len =
+ NETPERF_LINE_TOT(LOCAL_CORK);
+
+ netperf_output_source[RSS_SIZE_REQ].output_name = RSS_SIZE_REQ;
+ netperf_output_source[RSS_SIZE_REQ].line1 = "Remote";
+ netperf_output_source[RSS_SIZE_REQ].line2 = "Send Socket";
+ netperf_output_source[RSS_SIZE_REQ].line3 = "Size";
+ netperf_output_source[RSS_SIZE_REQ].line4 = "Requested";
+ netperf_output_source[RSS_SIZE_REQ].format = "%s";
+ netperf_output_source[RSS_SIZE_REQ].display_value = NULL;
+ netperf_output_source[RSS_SIZE_REQ].max_line_len =
+ NETPERF_LINE_MAX(RSS_SIZE_REQ);
+ netperf_output_source[RSS_SIZE_REQ].tot_line_len =
+ NETPERF_LINE_TOT(RSS_SIZE_REQ);
+
+ netperf_output_source[RSS_SIZE].output_name = RSS_SIZE;
+ netperf_output_source[RSS_SIZE].line1 = "Remote";
+ netperf_output_source[RSS_SIZE].line2 = "Send Socket";
+ netperf_output_source[RSS_SIZE].line3 = "Size";
+ netperf_output_source[RSS_SIZE].line4 = "Initial";
+ netperf_output_source[RSS_SIZE].format = "%s";
+ netperf_output_source[RSS_SIZE].display_value = NULL;
+ netperf_output_source[RSS_SIZE].max_line_len =
+ NETPERF_LINE_MAX(RSS_SIZE);
+ netperf_output_source[RSS_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(RSS_SIZE);
+
+ netperf_output_source[RSS_SIZE_END].output_name = RSS_SIZE_END;
+ netperf_output_source[RSS_SIZE_END].line1 = "Remote";
+ netperf_output_source[RSS_SIZE_END].line2 = "Send Socket";
+ netperf_output_source[RSS_SIZE_END].line3 = "Size";
+ netperf_output_source[RSS_SIZE_END].line4 = "Final";
+ netperf_output_source[RSS_SIZE_END].format = "%s";
+ netperf_output_source[RSS_SIZE_END].display_value = NULL;
+ netperf_output_source[RSS_SIZE_END].max_line_len =
+ NETPERF_LINE_MAX(RSS_SIZE_END);
+ netperf_output_source[RSS_SIZE_END].tot_line_len =
+ NETPERF_LINE_TOT(RSS_SIZE_END);
+
+ netperf_output_source[RSR_SIZE_REQ].output_name = RSR_SIZE_REQ;
+ netperf_output_source[RSR_SIZE_REQ].line1 = "Remote";
+ netperf_output_source[RSR_SIZE_REQ].line2 = "Recv Socket";
+ netperf_output_source[RSR_SIZE_REQ].line3 = "Size";
+ netperf_output_source[RSR_SIZE_REQ].line4 = "Requested";
+ netperf_output_source[RSR_SIZE_REQ].format = "%s";
+ netperf_output_source[RSR_SIZE_REQ].display_value = NULL;
+ netperf_output_source[RSR_SIZE_REQ].max_line_len =
+ NETPERF_LINE_MAX(RSR_SIZE_REQ);
+ netperf_output_source[RSR_SIZE_REQ].tot_line_len =
+ NETPERF_LINE_TOT(RSR_SIZE_REQ);
+
+ netperf_output_source[RSR_SIZE].output_name = RSR_SIZE;
+ netperf_output_source[RSR_SIZE].line1 = "Remote";
+ netperf_output_source[RSR_SIZE].line2 = "Recv Socket";
+ netperf_output_source[RSR_SIZE].line3 = "Size";
+ netperf_output_source[RSR_SIZE].line4 = "Initial";
+ netperf_output_source[RSR_SIZE].format = "%s";
+ netperf_output_source[RSR_SIZE].display_value = NULL;
+ netperf_output_source[RSR_SIZE].max_line_len =
+ NETPERF_LINE_MAX(RSR_SIZE);
+ netperf_output_source[RSR_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(RSR_SIZE);
+
+ netperf_output_source[RSR_SIZE_END].output_name = RSR_SIZE_END;
+ netperf_output_source[RSR_SIZE_END].line1 = "Remote";
+ netperf_output_source[RSR_SIZE_END].line2 = "Recv Socket";
+ netperf_output_source[RSR_SIZE_END].line3 = "Size";
+ netperf_output_source[RSR_SIZE_END].line4 = "Final";
+ netperf_output_source[RSR_SIZE_END].format = "%s";
+ netperf_output_source[RSR_SIZE_END].display_value = NULL;
+ netperf_output_source[RSR_SIZE_END].max_line_len =
+ NETPERF_LINE_MAX(RSR_SIZE_END);
+ netperf_output_source[RSR_SIZE_END].tot_line_len =
+ NETPERF_LINE_TOT(RSR_SIZE_END);
+
+ netperf_output_source[REMOTE_SEND_SIZE].output_name = REMOTE_SEND_SIZE;
+ netperf_output_source[REMOTE_SEND_SIZE].line1 = "Remote";
+ netperf_output_source[REMOTE_SEND_SIZE].line2 = "Send";
+ netperf_output_source[REMOTE_SEND_SIZE].line3 = "Size";
+ netperf_output_source[REMOTE_SEND_SIZE].line4 = "";
+ netperf_output_source[REMOTE_SEND_SIZE].format = "%s";
+ netperf_output_source[REMOTE_SEND_SIZE].display_value = NULL;
+ netperf_output_source[REMOTE_SEND_SIZE].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_SEND_SIZE);
+ netperf_output_source[REMOTE_SEND_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_SEND_SIZE);
+
+ netperf_output_source[REMOTE_RECV_SIZE].output_name = REMOTE_RECV_SIZE;
+ netperf_output_source[REMOTE_RECV_SIZE].line1 = "Remote";
+ netperf_output_source[REMOTE_RECV_SIZE].line2 = "Recv";
+ netperf_output_source[REMOTE_RECV_SIZE].line3 = "Size";
+ netperf_output_source[REMOTE_RECV_SIZE].line4 = "";
+ netperf_output_source[REMOTE_RECV_SIZE].format = "%s";
+ netperf_output_source[REMOTE_RECV_SIZE].display_value = NULL;
+ netperf_output_source[REMOTE_RECV_SIZE].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_RECV_SIZE);
+ netperf_output_source[REMOTE_RECV_SIZE].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_RECV_SIZE);
+
+ netperf_output_source[REMOTE_SEND_CALLS].output_name = REMOTE_SEND_CALLS;
+ netperf_output_source[REMOTE_SEND_CALLS].line1 = "Remote";
+ netperf_output_source[REMOTE_SEND_CALLS].line2 = "Send";
+ netperf_output_source[REMOTE_SEND_CALLS].line3 = "Calls";
+ netperf_output_source[REMOTE_SEND_CALLS].line4 = "";
+ netperf_output_source[REMOTE_SEND_CALLS].format = "%s";
+ netperf_output_source[REMOTE_SEND_CALLS].display_value = NULL;
+ netperf_output_source[REMOTE_SEND_CALLS].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_SEND_CALLS);
+ netperf_output_source[REMOTE_SEND_CALLS].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_SEND_CALLS);
+
+ netperf_output_source[REMOTE_RECV_CALLS].output_name = REMOTE_RECV_CALLS;
+ netperf_output_source[REMOTE_RECV_CALLS].line1 = "Remote";
+ netperf_output_source[REMOTE_RECV_CALLS].line2 = "Recv";
+ netperf_output_source[REMOTE_RECV_CALLS].line3 = "Calls";
+ netperf_output_source[REMOTE_RECV_CALLS].line4 = "";
+ netperf_output_source[REMOTE_RECV_CALLS].format = "%s";
+ netperf_output_source[REMOTE_RECV_CALLS].display_value = NULL;
+ netperf_output_source[REMOTE_RECV_CALLS].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_RECV_CALLS);
+ netperf_output_source[REMOTE_RECV_CALLS].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_RECV_CALLS);
+
+ netperf_output_source[REMOTE_BYTES_PER_RECV].output_name = REMOTE_BYTES_PER_RECV;
+ netperf_output_source[REMOTE_BYTES_PER_RECV].line1 = "Remote";
+ netperf_output_source[REMOTE_BYTES_PER_RECV].line2 = "Bytes";
+ netperf_output_source[REMOTE_BYTES_PER_RECV].line3 = "Per";
+ netperf_output_source[REMOTE_BYTES_PER_RECV].line4 = "Recv";
+ netperf_output_source[REMOTE_BYTES_PER_RECV].format = "%s";
+ netperf_output_source[REMOTE_BYTES_PER_RECV].display_value = NULL;
+ netperf_output_source[REMOTE_BYTES_PER_RECV].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_BYTES_PER_RECV);
+ netperf_output_source[REMOTE_BYTES_PER_RECV].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_BYTES_PER_RECV);
+
+ netperf_output_source[REMOTE_BYTES_PER_SEND].output_name = REMOTE_BYTES_PER_SEND;
+ netperf_output_source[REMOTE_BYTES_PER_SEND].line1 = "Remote";
+ netperf_output_source[REMOTE_BYTES_PER_SEND].line2 = "Bytes";
+ netperf_output_source[REMOTE_BYTES_PER_SEND].line3 = "Per";
+ netperf_output_source[REMOTE_BYTES_PER_SEND].line4 = "Send";
+ netperf_output_source[REMOTE_BYTES_PER_SEND].format = "%s";
+ netperf_output_source[REMOTE_BYTES_PER_SEND].display_value = NULL;
+ netperf_output_source[REMOTE_BYTES_PER_SEND].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_BYTES_PER_SEND);
+ netperf_output_source[REMOTE_BYTES_PER_SEND].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_BYTES_PER_SEND);
+
+ netperf_output_source[REMOTE_BYTES_RECVD].output_name = REMOTE_BYTES_RECVD;
+ netperf_output_source[REMOTE_BYTES_RECVD].line1 = "Remote";
+ netperf_output_source[REMOTE_BYTES_RECVD].line2 = "Bytes";
+ netperf_output_source[REMOTE_BYTES_RECVD].line3 = "Received";
+ netperf_output_source[REMOTE_BYTES_RECVD].line4 = "";
+ netperf_output_source[REMOTE_BYTES_RECVD].format = "%s";
+ netperf_output_source[REMOTE_BYTES_RECVD].display_value = NULL;
+ netperf_output_source[REMOTE_BYTES_RECVD].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_BYTES_RECVD);
+ netperf_output_source[REMOTE_BYTES_RECVD].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_BYTES_RECVD);
+
+ netperf_output_source[REMOTE_BYTES_SENT].output_name = REMOTE_BYTES_SENT;
+ netperf_output_source[REMOTE_BYTES_SENT].line1 = "Remote";
+ netperf_output_source[REMOTE_BYTES_SENT].line2 = "Bytes";
+ netperf_output_source[REMOTE_BYTES_SENT].line3 = "Sent";
+ netperf_output_source[REMOTE_BYTES_SENT].line4 = "";
+ netperf_output_source[REMOTE_BYTES_SENT].format = "%s";
+ netperf_output_source[REMOTE_BYTES_SENT].display_value = NULL;
+ netperf_output_source[REMOTE_BYTES_SENT].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_BYTES_SENT);
+ netperf_output_source[REMOTE_BYTES_SENT].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_BYTES_SENT);
+
+ netperf_output_source[REMOTE_BYTES_XFERD].output_name = REMOTE_BYTES_XFERD;
+ netperf_output_source[REMOTE_BYTES_XFERD].line1 = "Remote";
+ netperf_output_source[REMOTE_BYTES_XFERD].line2 = "Bytes";
+ netperf_output_source[REMOTE_BYTES_XFERD].line3 = "Xferred";
+ netperf_output_source[REMOTE_BYTES_XFERD].line4 = "";
+ netperf_output_source[REMOTE_BYTES_XFERD].format = "%s";
+ netperf_output_source[REMOTE_BYTES_XFERD].display_value = NULL;
+ netperf_output_source[REMOTE_BYTES_XFERD].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_BYTES_XFERD);
+ netperf_output_source[REMOTE_BYTES_XFERD].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_BYTES_XFERD);
+
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].output_name = REMOTE_SEND_DIRTY_COUNT;
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line1 = "Remote";
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line2 = "Send";
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line3 = "Dirty";
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line4 = "Count";
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].format = "%s";
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].display_value = NULL;
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_SEND_DIRTY_COUNT);
+ netperf_output_source[REMOTE_SEND_DIRTY_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_SEND_DIRTY_COUNT);
+
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].output_name = REMOTE_RECV_DIRTY_COUNT;
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line1 = "Remote";
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line2 = "Recv";
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line3 = "Dirty";
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line4 = "Count";
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].format = "%s";
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].display_value = NULL;
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_RECV_DIRTY_COUNT);
+ netperf_output_source[REMOTE_RECV_DIRTY_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_RECV_DIRTY_COUNT);
+
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].output_name = REMOTE_RECV_CLEAN_COUNT;
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line1 = "Remote";
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line2 = "Recv";
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line3 = "Clean";
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line4 = "Count";
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].format = "%s";
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].display_value = NULL;
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_RECV_CLEAN_COUNT);
+ netperf_output_source[REMOTE_RECV_CLEAN_COUNT].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_RECV_CLEAN_COUNT);
+
+ netperf_output_source[REMOTE_CPU_UTIL].output_name = REMOTE_CPU_UTIL;
+ netperf_output_source[REMOTE_CPU_UTIL].line1 = "Remote";
+ netperf_output_source[REMOTE_CPU_UTIL].line2 = "CPU";
+ netperf_output_source[REMOTE_CPU_UTIL].line3 = "Util";
+ netperf_output_source[REMOTE_CPU_UTIL].line4 = "%";
+ netperf_output_source[REMOTE_CPU_UTIL].format = "%s";
+ netperf_output_source[REMOTE_CPU_UTIL].display_value = NULL;
+ netperf_output_source[REMOTE_CPU_UTIL].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_CPU_UTIL);
+ netperf_output_source[REMOTE_CPU_UTIL].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_CPU_UTIL);
+
+ netperf_output_source[REMOTE_SD].output_name = REMOTE_SD;
+ netperf_output_source[REMOTE_SD].line1 = "Remote";
+ netperf_output_source[REMOTE_SD].line2 = "Service";
+ netperf_output_source[REMOTE_SD].line3 = "Demand";
+ netperf_output_source[REMOTE_SD].line4 = "";
+ netperf_output_source[REMOTE_SD].format = "%s";
+ netperf_output_source[REMOTE_SD].display_value = NULL;
+ netperf_output_source[REMOTE_SD].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_SD);
+ netperf_output_source[REMOTE_SD].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_SD);
+
+ netperf_output_source[REMOTE_SD_UNITS].output_name = REMOTE_SD_UNITS;
+ netperf_output_source[REMOTE_SD_UNITS].line1 = "Remote";
+ netperf_output_source[REMOTE_SD_UNITS].line2 = "Service";
+ netperf_output_source[REMOTE_SD_UNITS].line3 = "Demand";
+ netperf_output_source[REMOTE_SD_UNITS].line4 = "Units";
+ netperf_output_source[REMOTE_SD_UNITS].format = "%s";
+ netperf_output_source[REMOTE_SD_UNITS].display_value = NULL;
+ netperf_output_source[REMOTE_SD_UNITS].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_SD_UNITS);
+ netperf_output_source[REMOTE_SD_UNITS].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_SD_UNITS);
+
+ netperf_output_source[REMOTE_CPU_METHOD].output_name = REMOTE_CPU_METHOD;
+ netperf_output_source[REMOTE_CPU_METHOD].line1 = "Remote";
+ netperf_output_source[REMOTE_CPU_METHOD].line2 = "CPU";
+ netperf_output_source[REMOTE_CPU_METHOD].line3 = "Util";
+ netperf_output_source[REMOTE_CPU_METHOD].line4 = "Method";
+ netperf_output_source[REMOTE_CPU_METHOD].format = "%s";
+ netperf_output_source[REMOTE_CPU_METHOD].display_value = NULL;
+ netperf_output_source[REMOTE_CPU_METHOD].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_CPU_METHOD);
+ netperf_output_source[REMOTE_CPU_METHOD].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_CPU_METHOD);
+
+ netperf_output_source[REMOTE_NODELAY].output_name = REMOTE_NODELAY;
+ netperf_output_source[REMOTE_NODELAY].line1 = "Remote";
+ netperf_output_source[REMOTE_NODELAY].line2 = "NODELAY";
+ netperf_output_source[REMOTE_NODELAY].line3 = "";
+ netperf_output_source[REMOTE_NODELAY].line4 = "";
+ netperf_output_source[REMOTE_NODELAY].format = "%s";
+ netperf_output_source[REMOTE_NODELAY].display_value = NULL;
+ netperf_output_source[REMOTE_NODELAY].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_NODELAY);
+ netperf_output_source[REMOTE_NODELAY].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_NODELAY);
+
+ netperf_output_source[REMOTE_CORK].output_name = REMOTE_CORK;
+ netperf_output_source[REMOTE_CORK].line1 = "Remote";
+ netperf_output_source[REMOTE_CORK].line2 = "Cork";
+ netperf_output_source[REMOTE_CORK].line3 = "";
+ netperf_output_source[REMOTE_CORK].line4 = "";
+ netperf_output_source[REMOTE_CORK].format = "%s";
+ netperf_output_source[REMOTE_CORK].display_value = NULL;
+ netperf_output_source[REMOTE_CORK].max_line_len =
+ NETPERF_LINE_MAX(REMOTE_CORK);
+ netperf_output_source[REMOTE_CORK].tot_line_len =
+ NETPERF_LINE_TOT(REMOTE_CORK);
+
+}
+
+void
print_omni_csv()
{
@@ -381,6 +1293,11 @@
print_omni()
{
+ printf("calling print_omni_init\n");
+ print_omni_init();
+ printf("calling dump_netperf_output_source\n");
+ dump_netperf_output_source(where);
+
}
/* for the next few routines (connect, accept, send, recv,
disconnect/close) we will use a return of -1 to mean times up, -2
@@ -1453,6 +2370,8 @@
&local_service_demand,
&remote_service_demand);
+ printf("calling print_omni\n");
+ print_omni();
print_omni_human();
fprintf(where,
More information about the netperf-dev
mailing list