Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1253 lines
22 KiB

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998, Microsoft Corp. All rights reserved.
//
// FILE
//
// schema.cpp
//
// SYNOPSIS
//
// Defines the schema for the PerfMon DLL.
//
// MODIFICATION HISTORY
//
// 09/09/1998 Original version.
// 11/30/1998 "No Record" and "Accounting Reponse" were reversed.
// 09/14/1999 Same as previous for per-client counters.
// 02/18/2000 Added support for proxy counters.
//
///////////////////////////////////////////////////////////////////////////////
#include <ias.h>
#include <iasperf.h>
#include <perflib.h>
//////////
// Callbacks used for populating the performance data.
//////////
VOID WINAPI AuthServerDataSource(PerfObjectType& sink);
VOID WINAPI AuthClientDataSource(PerfObjectType& sink);
VOID WINAPI AcctServerDataSource(PerfObjectType& sink);
VOID WINAPI AcctClientDataSource(PerfObjectType& sink);
VOID WINAPI AuthProxyDataSource(PerfObjectType& sink);
VOID WINAPI AcctProxyDataSource(PerfObjectType& sink);
VOID WINAPI AuthRemoteServerDataSource(PerfObjectType& sink);
VOID WINAPI AcctRemoteServerDataSource(PerfObjectType& sink);
//////////
// Computes the number of elements in an array.
//////////
#define ARRAY_ELEMENTS(a) (sizeof(a)/sizeof((a)[0]))
PerfCounterDef AUTH_SERVER_COUNTERS[] =
{
{
RADIUS_SRV_UP_TIME,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_RESET_TIME,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_INVALID_CLIENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_INVALID_CLIENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_DUP_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_ACCEPT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REJECT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_CHALLENGE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_DUP_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_ACCEPT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REJECT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_CHALLENGE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef AUTH_CLIENT_COUNTERS[] =
{
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_DUP_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_ACCEPT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REJECT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_CHALLENGE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_DUP_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_ACCEPT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_REJECT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_AUTH_ACCESS_CHALLENGE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef ACCT_SERVER_COUNTERS[] =
{
{
RADIUS_SRV_UP_TIME,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_RESET_TIME,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_INVALID_CLIENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_SRV_INVALID_CLIENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_DUP_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_NO_RECORD,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_RESPONSE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_DUP_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_NO_RECORD_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_RESPONSE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef ACCT_CLIENT_COUNTERS[] =
{
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_DUP_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_NO_RECORD,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_RESPONSE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_DUP_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_NO_RECORD_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_ACCT_RESPONSE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_SENT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef AUTH_PROXY_COUNTERS[] =
{
{
PROXY_INVALID_ADDRESS,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_INVALID_ADDRESS_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_ACCEPT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REJECT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_CHALLENGE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_PENDING,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_ACCEPT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REJECT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_CHALLENGE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef ACCT_PROXY_COUNTERS[] =
{
{
PROXY_INVALID_ADDRESS,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_INVALID_ADDRESS_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_RESPONSE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_PENDING,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_RESPONSE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef REMOTE_AUTH_SRV_COUNTERS[] =
{
{
PROXY_REMSRV_PORT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_REMSRV_ROUND_TRIP,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_ACCEPT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REJECT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_CHALLENGE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_PENDING,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_ACCEPT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_REJECT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_AUTH_ACCESS_CHALLENGE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfCounterDef REMOTE_ACCT_SRV_COUNTERS[] =
{
{
PROXY_REMSRV_PORT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_REMSRV_ROUND_TRIP,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_REQUEST,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_RESPONSE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_PENDING,
PERF_COUNTER_RAWCOUNT,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_REQUEST_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_RETRANSMISSION_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_ACCT_RESPONSE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_UNKNOWN_TYPE_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_MALFORMED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_BAD_AUTHENTICATOR_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_DROPPED_PACKET_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
PROXY_TIMEOUT_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
},
{
RADIUS_PACKETS_RECEIVED_RATE,
PERF_COUNTER_COUNTER,
0,
PERF_DETAIL_NOVICE
}
};
PerfObjectTypeDef PERF_OBJECTS[] =
{
{
RADIUS_AUTH_SERVER_OBJECT,
ARRAY_ELEMENTS(AUTH_SERVER_COUNTERS),
AUTH_SERVER_COUNTERS,
AuthServerDataSource,
FALSE,
-1
},
{
RADIUS_AUTH_CLIENT_OBJECT,
ARRAY_ELEMENTS(AUTH_CLIENT_COUNTERS),
AUTH_CLIENT_COUNTERS,
AuthClientDataSource,
TRUE,
-1
},
{
RADIUS_ACCT_SERVER_OBJECT,
ARRAY_ELEMENTS(ACCT_SERVER_COUNTERS),
ACCT_SERVER_COUNTERS,
AcctServerDataSource,
FALSE,
-1
},
{
RADIUS_ACCT_CLIENT_OBJECT,
ARRAY_ELEMENTS(ACCT_CLIENT_COUNTERS),
ACCT_CLIENT_COUNTERS,
AcctClientDataSource,
TRUE,
-1
},
{
PROXY_AUTH_PROXY_OBJECT,
ARRAY_ELEMENTS(AUTH_PROXY_COUNTERS),
AUTH_PROXY_COUNTERS,
AuthProxyDataSource,
FALSE,
-1
},
{
PROXY_AUTH_REMSRV_OBJECT,
ARRAY_ELEMENTS(REMOTE_AUTH_SRV_COUNTERS),
REMOTE_AUTH_SRV_COUNTERS,
AuthRemoteServerDataSource,
TRUE,
-1
},
{
PROXY_ACCT_PROXY_OBJECT,
ARRAY_ELEMENTS(ACCT_PROXY_COUNTERS),
ACCT_PROXY_COUNTERS,
AcctProxyDataSource,
FALSE,
-1
},
{
PROXY_ACCT_REMSRV_OBJECT,
ARRAY_ELEMENTS(REMOTE_ACCT_SRV_COUNTERS),
REMOTE_ACCT_SRV_COUNTERS,
AcctRemoteServerDataSource,
TRUE,
-1
}
};
PerfCollectorDef PERF_SCHEMA =
{
L"IAS",
ARRAY_ELEMENTS(PERF_OBJECTS),
PERF_OBJECTS
};