"NGetVolumeInfo",
"BulkStatus",
"XStatsVersion",
- "GetXStats"
+ "GetXStats",
+ "GetCapabilities"
};
static char *xferOpNames[] = {
int numInt32s; /*# int32words returned */
afs_int32 *currInt32; /*Ptr to current afs_int32 value */
char *printableTime; /*Ptr to printable time string */
+ time_t probeTime = xstat_fs_Results.probeTime;
/*
* Just print out the results of the particular probe.
*/
numInt32s = xstat_fs_Results.data.AFS_CollData_len;
currInt32 = (afs_int32 *) (xstat_fs_Results.data.AFS_CollData_val);
- printableTime = ctime((time_t *) & (xstat_fs_Results.probeTime));
+ printableTime = ctime(&probeTime);
printableTime[strlen(printableTime) - 1] = '\0';
printf("AFS_XSTATSCOLL_CALL_INFO (coll %d) for FS %s\n[Probe %d, %s]\n\n",
printf("\t%10d rx_nClientConns\n", a_ovP->rx_nClientConns);
printf("\t%10d rx_nPeerStructs\n", a_ovP->rx_nPeerStructs);
printf("\t%10d rx_nCallStructs\n", a_ovP->rx_nCallStructs);
- printf("\t%10d rx_nFreeCallStructs\n\n", a_ovP->rx_nFreeCallStructs);
+ printf("\t%10d rx_nFreeCallStructs\n", a_ovP->rx_nFreeCallStructs);
+ printf("\t%10d rx_nBusies\n\n", a_ovP->rx_nBusies);
+ printf("\t%10d fs_nBusies\n\n", a_ovP->fs_nBusies);
/*
* Host module fields.
*/
struct fs_stats_FullPerfStats *fullPerfP; /*Ptr to full perf stats */
char *printableTime; /*Ptr to printable time
* string */
+ time_t probeTime = xstat_fs_Results.probeTime;
numInt32s = xstat_fs_Results.data.AFS_CollData_len;
if (numInt32s != fullPerfInt32s) {
return;
}
- printableTime = ctime((time_t *) & (xstat_fs_Results.probeTime));
+ printableTime = ctime(&probeTime);
printableTime[strlen(printableTime) - 1] = '\0';
fullPerfP = (struct fs_stats_FullPerfStats *)
(xstat_fs_Results.data.AFS_CollData_val);
afs_int32 numInt32s; /*# int32words received */
struct afs_PerfStats *perfP; /*Ptr to performance stats */
char *printableTime; /*Ptr to printable time string */
+ time_t probeTime = xstat_fs_Results.probeTime;
numInt32s = xstat_fs_Results.data.AFS_CollData_len;
if (numInt32s != perfInt32s) {
return;
}
- printableTime = ctime((time_t *) & (xstat_fs_Results.probeTime));
+ printableTime = ctime(&probeTime);
printableTime[strlen(printableTime) - 1] = '\0';
perfP = (struct afs_PerfStats *)
(xstat_fs_Results.data.AFS_CollData_val);
PrintOverallPerfInfo(perfP);
}
+static char *CbCounterStrings[] = {
+ "DeleteFiles",
+ "DeleteCallBacks",
+ "BreakCallBacks",
+ "AddCallBack",
+ "GotSomeSpaces",
+ "DeleteAllCallBacks",
+ "nFEs", "nCBs", "nblks",
+ "CBsTimedOut",
+ "nbreakers",
+ "GSS1", "GSS2", "GSS3", "GSS4", "GSS5"
+};
+
+
+void
+PrintCbCounters() {
+ int numInt32s = sizeof(CbCounterStrings)/sizeof(char *);
+ int i;
+ afs_uint32 *val=xstat_fs_Results.data.AFS_CollData_val;
+
+ if (numInt32s > xstat_fs_Results.data.AFS_CollData_len)
+ numInt32s = xstat_fs_Results.data.AFS_CollData_len;
+
+ for (i=0; i<numInt32s; i++) {
+ printf("\t%10u %s\n", val[i], CbCounterStrings[i]);
+ }
+}
+
/*------------------------------------------------------------------------
* FS_Handler
PrintFullPerfInfo();
break;
+ case AFS_XSTATSCOLL_CBSTATS:
+ PrintCbCounters();
+ break;
+
default:
printf("** Unknown collection: %d\n",
xstat_fs_Results.collectionNumber);
*/
curr_item = a_s->parms[P_FS_NAMES].items;
for (currFS = 0; currFS < numFSs; currFS++) {
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+ FSSktArray[currFS].sin_family = AF_INET; /*Internet family */
+#else
FSSktArray[currFS].sin_family = htons(AF_INET); /*Internet family */
+#endif
FSSktArray[currFS].sin_port = htons(7000); /*FileServer port */
he = hostutil_GetHostByName(curr_item->data);
if (he == NULL) {