AFS-Monitor

 view release on metacpan or  search on metacpan

examples/xstat_fs_test  view on Meta::CPAN

  parse_OverallPerfInfo($host->{data});
  parse_DetailedPerfInfo($host->{data});
}


sub parse_OverallPerfInfo {
  my $data = shift;

  printf "\t%10d numPerfCalls\n\n",      $data->{numPerfCalls};

  printf "\t%10d vcache_L_Entries\n",    $data->{vcache_L_Entries};
  printf "\t%10d vcache_L_Allocs\n",     $data->{vcache_L_Allocs};
  printf "\t%10d vcache_L_Gets\n",       $data->{vcache_L_Gets};
  printf "\t%10d vcache_L_Reads\n",      $data->{vcache_L_Reads};
  printf "\t%10d vcache_L_Writes\n\n",   $data->{vcache_L_Writes};

  printf "\t%10d vcache_S_Entries\n",    $data->{vcache_S_Entries};
  printf "\t%10d vcache_S_Allocs\n",     $data->{vcache_S_Allocs};
  printf "\t%10d vcache_S_Gets\n",       $data->{vcache_S_Gets};
  printf "\t%10d vcache_S_Reads\n",      $data->{vcache_S_Reads};
  printf "\t%10d vcache_S_Writes\n\n",   $data->{vcache_S_Writes};

  printf "\t%10d vcache_H_Entries\n",    $data->{vcache_H_Entries};
  printf "\t%10d vcache_H_Gets\n",       $data->{vcache_H_Gets};
  printf "\t%10d vcache_H_Replacements\n\n",     $data->{vcache_H_Replacements};

  printf "\t%10d dir_Buffers\n",     $data->{dir_Buffers};
  printf "\t%10d dir_Calls\n",       $data->{dir_Calls};
  printf "\t%10d dir_IOs\n\n",       $data->{dir_IOs};

  printf "\t%10d rx_packetRequests\n",     $data->{rx_packetRequests};
  printf "\t%10d rx_noPackets_RcvClass\n", $data->{rx_noPackets_RcvClass};
  printf "\t%10d rx_noPackets_SendClass\n",      $data->{rx_noPackets_SendClass};
  printf "\t%10d rx_noPackets_SpecialClass\n",   $data->{rx_noPackets_SpecialClass};
  printf "\t%10d rx_socketGreedy\n",       $data->{rx_socketGreedy};
  printf "\t%10d rx_bogusPacketOnRead\n",  $data->{rx_bogusPacketOnRead};
  printf "\t%10d rx_bogusHost\n",        $data->{rx_bogusHost};
  printf "\t%10d rx_noPacketOnRead\n",   $data->{rx_noPacketOnRead};
  printf "\t%10d rx_noPacketBuffersOnRead\n",    $data->{rx_noPacketBuffersOnRead};
  printf "\t%10d rx_selects\n",          $data->{rx_selects};
  printf "\t%10d rx_sendSelects\n",      $data->{rx_sendSelects};
  printf "\t%10d rx_packetsRead_RcvClass\n",     $data->{rx_packetsRead_RcvClass};
  printf "\t%10d rx_packetsRead_SendClass\n",    $data->{rx_packetsRead_SendClass};
  printf "\t%10d rx_packetsRead_SpecialClass\n", $data->{rx_packetsRead_SpecialClass};
  printf "\t%10d rx_dataPacketsRead\n",    $data->{rx_dataPacketsRead};
  printf "\t%10d rx_ackPacketsRead\n",     $data->{rx_ackPacketsRead};
  printf "\t%10d rx_dupPacketsRead\n",     $data->{rx_dupPacketsRead};
  printf "\t%10d rx_spuriousPacketsRead\n",      $data->{rx_spuriousPacketsRead};
  printf "\t%10d rx_packetsSent_RcvClass\n",     $data->{rx_packetsSent_RcvClass};
  printf "\t%10d rx_packetsSent_SendClass\n",    $data->{rx_packetsSent_SendClass};
  printf "\t%10d rx_packetsSent_SpecialClass\n", $data->{rx_packetsSent_SpecialClass};
  printf "\t%10d rx_ackPacketsSent\n",     $data->{rx_ackPacketsSent};
  printf "\t%10d rx_pingPacketsSent\n",    $data->{rx_pingPacketsSent};
  printf "\t%10d rx_abortPacketsSent\n",   $data->{rx_abortPacketsSent};
  printf "\t%10d rx_busyPacketsSent\n",    $data->{rx_busyPacketsSent};
  printf "\t%10d rx_dataPacketsSent\n",    $data->{rx_dataPacketsSent};
  printf "\t%10d rx_dataPacketsReSent\n",  $data->{rx_dataPacketsReSent};
  printf "\t%10d rx_dataPacketsPushed\n",  $data->{rx_dataPacketsPushed};
  printf "\t%10d rx_ignoreAckedPacket\n",  $data->{rx_ignoreAckedPacket};
  printf "\t%10d rx_totalRtt_Sec\n",       $data->{rx_totalRtt_Sec};
  printf "\t%10d rx_totalRtt_Usec\n",      $data->{rx_totalRtt_Usec};
  printf "\t%10d rx_minRtt_Sec\n",         $data->{rx_minRtt_Sec};
  printf "\t%10d rx_minRtt_Usec\n",        $data->{rx_minRtt_Usec};
  printf "\t%10d rx_maxRtt_Sec\n",         $data->{rx_maxRtt_Sec};
  printf "\t%10d rx_maxRtt_Usec\n",        $data->{rx_maxRtt_Usec};
  printf "\t%10d rx_nRttSamples\n",        $data->{rx_nRttSamples};
  printf "\t%10d rx_nServerConns\n",       $data->{rx_nServerConns};
  printf "\t%10d rx_nClientConns\n",       $data->{rx_nClientConns};
  printf "\t%10d rx_nPeerStructs\n",       $data->{rx_nPeerStructs};
  printf "\t%10d rx_nCallStructs\n",       $data->{rx_nCallStructs};
  printf "\t%10d rx_nFreeCallStructs\n", $data->{rx_nFreeCallStructs};
  if (defined($data->{rx_nBusies})) {  # only on OpenAFS-1.4.1
    printf "\t%10d rx_nBusies\n\n", $data->{rx_nBusies};

    printf "\t%10d fs_nBusies\n", $data->{fs_nBusies};
    printf "\t%10d fs_GetCapabilities\n\n", $data->{fs_GetCapabilities};
  }

  printf "\t%10d host_NumHostEntries\n",   $data->{host_NumHostEntries};
  printf "\t%10d host_HostBlocks\n",       $data->{host_HostBlocks};
  printf "\t%10d host_NonDeletedHosts\n",  $data->{host_NonDeletedHosts};
  printf "\t%10d host_HostsInSameNetOrSubnet\n", $data->{host_HostsInSameNetOrSubnet};
  printf "\t%10d host_HostsInDiffSubnet\n",      $data->{host_HostsInDiffSubnet};
  printf "\t%10d host_HostsInDiffNetwork\n",     $data->{host_HostsInDiffNetwork};
  printf "\t%10d host_NumClients\n",       $data->{host_NumClients};
  printf "\t%10d host_ClientBlocks\n\n",   $data->{host_ClientBlocks};

  printf "\t%10d sysname_ID\n",      $data->{sysname_ID};
}


sub parse_DetailedPerfInfo {
  my $data = shift;

  printf "\t%10d epoch\n", $data->{epoch};

  my $rpcop = $data->{rpcOpTimes};

  parse_OpTiming("FetchData", $rpcop);
  parse_OpTiming("FetchACL", $rpcop);
  parse_OpTiming("FetchStatus", $rpcop);
  parse_OpTiming("StoreData", $rpcop);
  parse_OpTiming("StoreACL", $rpcop);
  parse_OpTiming("StoreStatus", $rpcop);
  parse_OpTiming("RemoveFile", $rpcop);
  parse_OpTiming("CreateFile", $rpcop);
  parse_OpTiming("Rename", $rpcop);
  parse_OpTiming("Symlink", $rpcop);
  parse_OpTiming("Link", $rpcop);
  parse_OpTiming("MakeDir", $rpcop);
  parse_OpTiming("RemoveDir", $rpcop);
  parse_OpTiming("SetLock", $rpcop);
  parse_OpTiming("ExtendLock", $rpcop);
  parse_OpTiming("ReleaseLock", $rpcop);
  parse_OpTiming("GetStatistics", $rpcop);
  parse_OpTiming("GiveUpCallbacks", $rpcop);
  parse_OpTiming("GetVolumeInfo", $rpcop);
  parse_OpTiming("GetVolumeStatus", $rpcop);
  parse_OpTiming("SetVolumeStatus", $rpcop);
  parse_OpTiming("GetRootVolume", $rpcop);
  parse_OpTiming("CheckToken", $rpcop);
  parse_OpTiming("GetTime", $rpcop);
  parse_OpTiming("NGetVolumeInfo", $rpcop);
  parse_OpTiming("BulkStatus", $rpcop);
  parse_OpTiming("XStatsVersion", $rpcop);



( run in 0.559 second using v1.01-cache-2.11-cpan-39bf76dae61 )