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"
13 #include <afs/param.h>
15 #include <afsconfig.h>
20 #include "../afs/sysincludes.h"
21 #include "../afs/afsincludes.h"
28 #include "../sys/errno.h"
35 * This file creates a centralized mechanism for implementing the rpc
36 * stat code - which is generic across all servers.
39 afs_int32 MRXSTATS_RetrieveProcessRPCStats(
41 IN afs_uint32 clientVersion,
42 OUT afs_uint32 *serverVersion,
43 OUT afs_uint32 *clock_sec,
44 OUT afs_uint32 *clock_usec,
45 OUT afs_uint32 *stat_count,
51 rc = rx_RetrieveProcessRPCStats(clientVersion,
57 &stats->rpcStats_val);
58 stats->rpcStats_len = allocSize/sizeof(afs_uint32);
63 afs_int32 MRXSTATS_RetrievePeerRPCStats(
65 IN afs_uint32 clientVersion,
66 OUT afs_uint32 *serverVersion,
67 OUT afs_uint32 *clock_sec,
68 OUT afs_uint32 *clock_usec,
69 OUT afs_uint32 *stat_count,
75 rc = rx_RetrievePeerRPCStats(clientVersion,
81 &stats->rpcStats_val);
82 stats->rpcStats_len = allocSize/sizeof(afs_uint32);
87 afs_int32 MRXSTATS_QueryProcessRPCStats(
92 *on = rx_queryProcessRPCStats();
97 afs_int32 MRXSTATS_QueryPeerRPCStats(
102 *on = rx_queryPeerRPCStats();
107 afs_int32 MRXSTATS_EnableProcessRPCStats(
108 struct rx_call *call)
111 if (!rx_RxStatUserOk(call)) {
114 rx_enableProcessRPCStats();
119 afs_int32 MRXSTATS_EnablePeerRPCStats(
120 struct rx_call *call)
123 if (!rx_RxStatUserOk(call)) {
126 rx_enablePeerRPCStats();
132 afs_int32 MRXSTATS_DisableProcessRPCStats(
133 struct rx_call *call)
136 if (!rx_RxStatUserOk(call)) {
139 rx_disableProcessRPCStats();
144 afs_int32 MRXSTATS_DisablePeerRPCStats(
145 struct rx_call *call)
148 if (!rx_RxStatUserOk(call)) {
151 rx_disablePeerRPCStats();
156 afs_int32 MRXSTATS_QueryRPCStatsVersion(
157 struct rx_call *call,
161 *ver = RX_STATS_RETRIEVAL_VERSION;
165 afs_int32 MRXSTATS_ClearProcessRPCStats(
166 struct rx_call *call,
167 IN afs_uint32 clearFlag)
170 if (!rx_RxStatUserOk(call)) {
173 rx_clearProcessRPCStats(clearFlag);
178 afs_int32 MRXSTATS_ClearPeerRPCStats(
179 struct rx_call *call,
180 IN afs_uint32 clearFlag)
183 if (!rx_RxStatUserOk(call)) {
186 rx_clearPeerRPCStats(clearFlag);