Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpcstat(cmds) — Sprite KS.390

Media Vault

Software Library

Restoration Projects

Artifacts Sought

RPCSTAT  —  User Commands

NAME

rpcstat − Print out statistics about the RPC system

SYNOPSIS

rpcstat  [options]

OPTIONS

−tracePrint out the RPC trace. 

−cinfoPrint client-side RPC system statistics. 

−sinfoPrint server-side RPC system statistics. 

−chanPrint the state of the client RPC channels. 

−srvrPrint the state of the RPC server processees. 

−callsPrint the number of RPC calls made. 

−rpcsPrint the number of RPC calls serviced. 

−chistDisplay the client-side RPC histograms. 

−shistDisplay the server-side RPC histograms. 

−zeroPrint the zero valued counts. 

−nohostdbDo not search the host database file. 

INTRODUCTION

This command is used to get statistics and trace information about the Sprite kernel-to-kernel RPC system. 

RPC TRACE

The RPC trace has a record for the last 100 packets sent or received in the RPC network protocol.  The trace has the following fields: ID code time flag commnd client server psize dsize doff fragment

IDThe RPC sequence number.  A new ID is generated for each RPC, and all packets involved with an RPC contain this ID. 

codeEither "in" or "out" to mean the packet was transmitted or received. 

timeSeconds since last packet.  Sun3 clock granularity is too low (10 msec) for this to be meaningful. 

flagQ reQuest packet.  Qp reQuest with please acknowledge bit set.  A Acknowledgment packet.  R Reply packet.  Re Error reply; command field contains error code.  Ac Close acknowledgment sent to close client/server binding. 

commandThe RPC name.  If this is a number and the flag field is "Re", then this is the returned error code. 

clientTwo numbers identify the client host and the client channel number. 

serverTwo numbers identify the server host and the server process number. 

psizeThe size of the parameter area of the packet. 

dsizeThe size of the data area of the packet

doffThe offset of the data area.  Used when fragmenting large data blocks. 

fragmentTwo numbers are the number of fragments and the fragment bitmask. 

CLIENT RPC

The client half of the RPC system maintains statistics about the number of timeouts, retransmissions, etc.  The output of the −cinfo option is (nearly) self-explanatory.  There are also a set of channels used by the client side of RPC.  Each channel is dynamically bound to a particular server host/process pair, and the kernel attempts to reuse the channel for successive RPCs to that server.  The −chan option prints out the state of the client channels, what they are bound to, what RPC is in progress, etc.  The binding is not hard, but is used to optimize away explicit acknowledgment packets. 

SERVER RPC

The server half of the RPC system maintains statistics about the number of requests it has received, the number of requests that implicitly acknowledged a previous reply, etc.  The output of the −sinfo option is (nearly) self-explanatory.  There are also a pool of kernel RPC server processes.  The −srvr option prints out the state of each, their current client, the current RPC, etc. 

HISTOGRAMS

The kernel can keep track of how long RPCs take.  For each RPC number the kernel keeps the total time spent processing that RPC command, as well as a histogram showing the distribution of times.  The −chist option displays the client-side timings, whereas −shist displays the server-side timings.  These options display the following information for each RPC command: the command name, the number of calls, the average time per call, the overhead for collecting the timing information, and the timing distribution for the command.  The timing distribution is a series of double lines.  The top line gives the minimum times for a series of buckets, in microseconds, and the bottom line gives the number of RPCs that fell into that bucket. 

Use rpccmd to enable, disable, or reset these timings. 

BUGS

On current Sprite systems, the histogram resolution is finer than the clock resolution, so many buckets will always have a count of 0. 

SEE ALSO

rpccmd

KEYWORDS

rpc, server, client, channel

Sprite version 1.0  —  July 10, 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026