2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include "../afs/param.h"
12 #include "../afs/sysincludes.h"
13 #include "../afs/afsincludes.h"
20 #include "../sys/errno.h"
27 * This file creates a centralized mechanism for implementing the rpc
28 * stat code - which is generic across all servers.
31 afs_int32 MRXSTATS_RetrieveProcessRPCStats(
33 IN afs_uint32 clientVersion,
34 OUT afs_uint32 *serverVersion,
35 OUT afs_uint32 *clock_sec,
36 OUT afs_uint32 *clock_usec,
37 OUT afs_uint32 *stat_count,
43 rc = rx_RetrieveProcessRPCStats(clientVersion,
49 &stats->rpcStats_val);
50 stats->rpcStats_len = allocSize/sizeof(afs_uint32);
55 afs_int32 MRXSTATS_RetrievePeerRPCStats(
57 IN afs_uint32 clientVersion,
58 OUT afs_uint32 *serverVersion,
59 OUT afs_uint32 *clock_sec,
60 OUT afs_uint32 *clock_usec,
61 OUT afs_uint32 *stat_count,
67 rc = rx_RetrievePeerRPCStats(clientVersion,
73 &stats->rpcStats_val);
74 stats->rpcStats_len = allocSize/sizeof(afs_uint32);
79 afs_int32 MRXSTATS_QueryProcessRPCStats(
84 *on = rx_queryProcessRPCStats();
89 afs_int32 MRXSTATS_QueryPeerRPCStats(
94 *on = rx_queryPeerRPCStats();
99 afs_int32 MRXSTATS_EnableProcessRPCStats(
100 struct rx_call *call)
103 if (!rx_RxStatUserOk(call)) {
106 rx_enableProcessRPCStats();
111 afs_int32 MRXSTATS_EnablePeerRPCStats(
112 struct rx_call *call)
115 if (!rx_RxStatUserOk(call)) {
118 rx_enablePeerRPCStats();
124 afs_int32 MRXSTATS_DisableProcessRPCStats(
125 struct rx_call *call)
128 if (!rx_RxStatUserOk(call)) {
131 rx_disableProcessRPCStats();
136 afs_int32 MRXSTATS_DisablePeerRPCStats(
137 struct rx_call *call)
140 if (!rx_RxStatUserOk(call)) {
143 rx_disablePeerRPCStats();
148 afs_int32 MRXSTATS_QueryRPCStatsVersion(
149 struct rx_call *call,
153 *ver = RX_STATS_RETRIEVAL_VERSION;
157 afs_int32 MRXSTATS_ClearProcessRPCStats(
158 struct rx_call *call,
159 IN afs_uint32 clearFlag)
162 if (!rx_RxStatUserOk(call)) {
165 rx_clearProcessRPCStats(clearFlag);
170 afs_int32 MRXSTATS_ClearPeerRPCStats(
171 struct rx_call *call,
172 IN afs_uint32 clearFlag)
175 if (!rx_RxStatUserOk(call)) {
178 rx_clearPeerRPCStats(clearFlag);