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

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // schema.cpp
  8. //
  9. // SYNOPSIS
  10. //
  11. // Defines the schema for the PerfMon DLL.
  12. //
  13. // MODIFICATION HISTORY
  14. //
  15. // 09/09/1998 Original version.
  16. // 11/30/1998 "No Record" and "Accounting Reponse" were reversed.
  17. // 09/14/1999 Same as previous for per-client counters.
  18. // 02/18/2000 Added support for proxy counters.
  19. //
  20. ///////////////////////////////////////////////////////////////////////////////
  21. #include <ias.h>
  22. #include <iasperf.h>
  23. #include <perflib.h>
  24. //////////
  25. // Callbacks used for populating the performance data.
  26. //////////
  27. VOID WINAPI AuthServerDataSource(PerfObjectType& sink);
  28. VOID WINAPI AuthClientDataSource(PerfObjectType& sink);
  29. VOID WINAPI AcctServerDataSource(PerfObjectType& sink);
  30. VOID WINAPI AcctClientDataSource(PerfObjectType& sink);
  31. VOID WINAPI AuthProxyDataSource(PerfObjectType& sink);
  32. VOID WINAPI AcctProxyDataSource(PerfObjectType& sink);
  33. VOID WINAPI AuthRemoteServerDataSource(PerfObjectType& sink);
  34. VOID WINAPI AcctRemoteServerDataSource(PerfObjectType& sink);
  35. //////////
  36. // Computes the number of elements in an array.
  37. //////////
  38. #define ARRAY_ELEMENTS(a) (sizeof(a)/sizeof((a)[0]))
  39. PerfCounterDef AUTH_SERVER_COUNTERS[] =
  40. {
  41. {
  42. RADIUS_SRV_UP_TIME,
  43. PERF_COUNTER_RAWCOUNT,
  44. 0,
  45. PERF_DETAIL_NOVICE
  46. },
  47. {
  48. RADIUS_SRV_RESET_TIME,
  49. PERF_COUNTER_RAWCOUNT,
  50. 0,
  51. PERF_DETAIL_NOVICE
  52. },
  53. {
  54. RADIUS_SRV_INVALID_CLIENT,
  55. PERF_COUNTER_RAWCOUNT,
  56. 0,
  57. PERF_DETAIL_NOVICE
  58. },
  59. {
  60. RADIUS_SRV_INVALID_CLIENT_RATE,
  61. PERF_COUNTER_COUNTER,
  62. 0,
  63. PERF_DETAIL_NOVICE
  64. },
  65. {
  66. RADIUS_MALFORMED_PACKET,
  67. PERF_COUNTER_RAWCOUNT,
  68. 0,
  69. PERF_DETAIL_NOVICE
  70. },
  71. {
  72. RADIUS_BAD_AUTHENTICATOR,
  73. PERF_COUNTER_RAWCOUNT,
  74. 0,
  75. PERF_DETAIL_NOVICE
  76. },
  77. {
  78. RADIUS_DROPPED_PACKET,
  79. PERF_COUNTER_RAWCOUNT,
  80. 0,
  81. PERF_DETAIL_NOVICE
  82. },
  83. {
  84. RADIUS_UNKNOWN_TYPE,
  85. PERF_COUNTER_RAWCOUNT,
  86. 0,
  87. PERF_DETAIL_NOVICE
  88. },
  89. {
  90. RADIUS_AUTH_ACCESS_REQUEST,
  91. PERF_COUNTER_RAWCOUNT,
  92. 0,
  93. PERF_DETAIL_NOVICE
  94. },
  95. {
  96. RADIUS_AUTH_DUP_ACCESS_REQUEST,
  97. PERF_COUNTER_RAWCOUNT,
  98. 0,
  99. PERF_DETAIL_NOVICE
  100. },
  101. {
  102. RADIUS_AUTH_ACCESS_ACCEPT,
  103. PERF_COUNTER_RAWCOUNT,
  104. 0,
  105. PERF_DETAIL_NOVICE
  106. },
  107. {
  108. RADIUS_AUTH_ACCESS_REJECT,
  109. PERF_COUNTER_RAWCOUNT,
  110. 0,
  111. PERF_DETAIL_NOVICE
  112. },
  113. {
  114. RADIUS_AUTH_ACCESS_CHALLENGE,
  115. PERF_COUNTER_RAWCOUNT,
  116. 0,
  117. PERF_DETAIL_NOVICE
  118. },
  119. {
  120. RADIUS_PACKETS_RECEIVED,
  121. PERF_COUNTER_RAWCOUNT,
  122. 0,
  123. PERF_DETAIL_NOVICE
  124. },
  125. {
  126. RADIUS_PACKETS_SENT,
  127. PERF_COUNTER_RAWCOUNT,
  128. 0,
  129. PERF_DETAIL_NOVICE
  130. },
  131. {
  132. RADIUS_MALFORMED_PACKET_RATE,
  133. PERF_COUNTER_COUNTER,
  134. 0,
  135. PERF_DETAIL_NOVICE
  136. },
  137. {
  138. RADIUS_BAD_AUTHENTICATOR_RATE,
  139. PERF_COUNTER_COUNTER,
  140. 0,
  141. PERF_DETAIL_NOVICE
  142. },
  143. {
  144. RADIUS_DROPPED_PACKET_RATE,
  145. PERF_COUNTER_COUNTER,
  146. 0,
  147. PERF_DETAIL_NOVICE
  148. },
  149. {
  150. RADIUS_UNKNOWN_TYPE_RATE,
  151. PERF_COUNTER_COUNTER,
  152. 0,
  153. PERF_DETAIL_NOVICE
  154. },
  155. {
  156. RADIUS_AUTH_ACCESS_REQUEST_RATE,
  157. PERF_COUNTER_COUNTER,
  158. 0,
  159. PERF_DETAIL_NOVICE
  160. },
  161. {
  162. RADIUS_AUTH_DUP_ACCESS_REQUEST_RATE,
  163. PERF_COUNTER_COUNTER,
  164. 0,
  165. PERF_DETAIL_NOVICE
  166. },
  167. {
  168. RADIUS_AUTH_ACCESS_ACCEPT_RATE,
  169. PERF_COUNTER_COUNTER,
  170. 0,
  171. PERF_DETAIL_NOVICE
  172. },
  173. {
  174. RADIUS_AUTH_ACCESS_REJECT_RATE,
  175. PERF_COUNTER_COUNTER,
  176. 0,
  177. PERF_DETAIL_NOVICE
  178. },
  179. {
  180. RADIUS_AUTH_ACCESS_CHALLENGE_RATE,
  181. PERF_COUNTER_COUNTER,
  182. 0,
  183. PERF_DETAIL_NOVICE
  184. },
  185. {
  186. RADIUS_PACKETS_RECEIVED_RATE,
  187. PERF_COUNTER_COUNTER,
  188. 0,
  189. PERF_DETAIL_NOVICE
  190. },
  191. {
  192. RADIUS_PACKETS_SENT_RATE,
  193. PERF_COUNTER_COUNTER,
  194. 0,
  195. PERF_DETAIL_NOVICE
  196. }
  197. };
  198. PerfCounterDef AUTH_CLIENT_COUNTERS[] =
  199. {
  200. {
  201. RADIUS_MALFORMED_PACKET,
  202. PERF_COUNTER_RAWCOUNT,
  203. 0,
  204. PERF_DETAIL_NOVICE
  205. },
  206. {
  207. RADIUS_BAD_AUTHENTICATOR,
  208. PERF_COUNTER_RAWCOUNT,
  209. 0,
  210. PERF_DETAIL_NOVICE
  211. },
  212. {
  213. RADIUS_DROPPED_PACKET,
  214. PERF_COUNTER_RAWCOUNT,
  215. 0,
  216. PERF_DETAIL_NOVICE
  217. },
  218. {
  219. RADIUS_UNKNOWN_TYPE,
  220. PERF_COUNTER_RAWCOUNT,
  221. 0,
  222. PERF_DETAIL_NOVICE
  223. },
  224. {
  225. RADIUS_AUTH_ACCESS_REQUEST,
  226. PERF_COUNTER_RAWCOUNT,
  227. 0,
  228. PERF_DETAIL_NOVICE
  229. },
  230. {
  231. RADIUS_AUTH_DUP_ACCESS_REQUEST,
  232. PERF_COUNTER_RAWCOUNT,
  233. 0,
  234. PERF_DETAIL_NOVICE
  235. },
  236. {
  237. RADIUS_AUTH_ACCESS_ACCEPT,
  238. PERF_COUNTER_RAWCOUNT,
  239. 0,
  240. PERF_DETAIL_NOVICE
  241. },
  242. {
  243. RADIUS_AUTH_ACCESS_REJECT,
  244. PERF_COUNTER_RAWCOUNT,
  245. 0,
  246. PERF_DETAIL_NOVICE
  247. },
  248. {
  249. RADIUS_AUTH_ACCESS_CHALLENGE,
  250. PERF_COUNTER_RAWCOUNT,
  251. 0,
  252. PERF_DETAIL_NOVICE
  253. },
  254. {
  255. RADIUS_PACKETS_RECEIVED,
  256. PERF_COUNTER_RAWCOUNT,
  257. 0,
  258. PERF_DETAIL_NOVICE
  259. },
  260. {
  261. RADIUS_PACKETS_SENT,
  262. PERF_COUNTER_RAWCOUNT,
  263. 0,
  264. PERF_DETAIL_NOVICE
  265. },
  266. {
  267. RADIUS_MALFORMED_PACKET_RATE,
  268. PERF_COUNTER_COUNTER,
  269. 0,
  270. PERF_DETAIL_NOVICE
  271. },
  272. {
  273. RADIUS_BAD_AUTHENTICATOR_RATE,
  274. PERF_COUNTER_COUNTER,
  275. 0,
  276. PERF_DETAIL_NOVICE
  277. },
  278. {
  279. RADIUS_DROPPED_PACKET_RATE,
  280. PERF_COUNTER_COUNTER,
  281. 0,
  282. PERF_DETAIL_NOVICE
  283. },
  284. {
  285. RADIUS_UNKNOWN_TYPE_RATE,
  286. PERF_COUNTER_COUNTER,
  287. 0,
  288. PERF_DETAIL_NOVICE
  289. },
  290. {
  291. RADIUS_AUTH_ACCESS_REQUEST_RATE,
  292. PERF_COUNTER_COUNTER,
  293. 0,
  294. PERF_DETAIL_NOVICE
  295. },
  296. {
  297. RADIUS_AUTH_DUP_ACCESS_REQUEST_RATE,
  298. PERF_COUNTER_COUNTER,
  299. 0,
  300. PERF_DETAIL_NOVICE
  301. },
  302. {
  303. RADIUS_AUTH_ACCESS_ACCEPT_RATE,
  304. PERF_COUNTER_COUNTER,
  305. 0,
  306. PERF_DETAIL_NOVICE
  307. },
  308. {
  309. RADIUS_AUTH_ACCESS_REJECT_RATE,
  310. PERF_COUNTER_COUNTER,
  311. 0,
  312. PERF_DETAIL_NOVICE
  313. },
  314. {
  315. RADIUS_AUTH_ACCESS_CHALLENGE_RATE,
  316. PERF_COUNTER_COUNTER,
  317. 0,
  318. PERF_DETAIL_NOVICE
  319. },
  320. {
  321. RADIUS_PACKETS_RECEIVED_RATE,
  322. PERF_COUNTER_COUNTER,
  323. 0,
  324. PERF_DETAIL_NOVICE
  325. },
  326. {
  327. RADIUS_PACKETS_SENT_RATE,
  328. PERF_COUNTER_COUNTER,
  329. 0,
  330. PERF_DETAIL_NOVICE
  331. }
  332. };
  333. PerfCounterDef ACCT_SERVER_COUNTERS[] =
  334. {
  335. {
  336. RADIUS_SRV_UP_TIME,
  337. PERF_COUNTER_RAWCOUNT,
  338. 0,
  339. PERF_DETAIL_NOVICE
  340. },
  341. {
  342. RADIUS_SRV_RESET_TIME,
  343. PERF_COUNTER_RAWCOUNT,
  344. 0,
  345. PERF_DETAIL_NOVICE
  346. },
  347. {
  348. RADIUS_SRV_INVALID_CLIENT,
  349. PERF_COUNTER_RAWCOUNT,
  350. 0,
  351. PERF_DETAIL_NOVICE
  352. },
  353. {
  354. RADIUS_SRV_INVALID_CLIENT_RATE,
  355. PERF_COUNTER_COUNTER,
  356. 0,
  357. PERF_DETAIL_NOVICE
  358. },
  359. {
  360. RADIUS_MALFORMED_PACKET,
  361. PERF_COUNTER_RAWCOUNT,
  362. 0,
  363. PERF_DETAIL_NOVICE
  364. },
  365. {
  366. RADIUS_BAD_AUTHENTICATOR,
  367. PERF_COUNTER_RAWCOUNT,
  368. 0,
  369. PERF_DETAIL_NOVICE
  370. },
  371. {
  372. RADIUS_DROPPED_PACKET,
  373. PERF_COUNTER_RAWCOUNT,
  374. 0,
  375. PERF_DETAIL_NOVICE
  376. },
  377. {
  378. RADIUS_UNKNOWN_TYPE,
  379. PERF_COUNTER_RAWCOUNT,
  380. 0,
  381. PERF_DETAIL_NOVICE
  382. },
  383. {
  384. RADIUS_ACCT_REQUEST,
  385. PERF_COUNTER_RAWCOUNT,
  386. 0,
  387. PERF_DETAIL_NOVICE
  388. },
  389. {
  390. RADIUS_ACCT_DUP_REQUEST,
  391. PERF_COUNTER_RAWCOUNT,
  392. 0,
  393. PERF_DETAIL_NOVICE
  394. },
  395. {
  396. RADIUS_ACCT_NO_RECORD,
  397. PERF_COUNTER_RAWCOUNT,
  398. 0,
  399. PERF_DETAIL_NOVICE
  400. },
  401. {
  402. RADIUS_ACCT_RESPONSE,
  403. PERF_COUNTER_RAWCOUNT,
  404. 0,
  405. PERF_DETAIL_NOVICE
  406. },
  407. {
  408. RADIUS_PACKETS_RECEIVED,
  409. PERF_COUNTER_RAWCOUNT,
  410. 0,
  411. PERF_DETAIL_NOVICE
  412. },
  413. {
  414. RADIUS_PACKETS_SENT,
  415. PERF_COUNTER_RAWCOUNT,
  416. 0,
  417. PERF_DETAIL_NOVICE
  418. },
  419. {
  420. RADIUS_MALFORMED_PACKET_RATE,
  421. PERF_COUNTER_COUNTER,
  422. 0,
  423. PERF_DETAIL_NOVICE
  424. },
  425. {
  426. RADIUS_BAD_AUTHENTICATOR_RATE,
  427. PERF_COUNTER_COUNTER,
  428. 0,
  429. PERF_DETAIL_NOVICE
  430. },
  431. {
  432. RADIUS_DROPPED_PACKET_RATE,
  433. PERF_COUNTER_COUNTER,
  434. 0,
  435. PERF_DETAIL_NOVICE
  436. },
  437. {
  438. RADIUS_UNKNOWN_TYPE_RATE,
  439. PERF_COUNTER_COUNTER,
  440. 0,
  441. PERF_DETAIL_NOVICE
  442. },
  443. {
  444. RADIUS_ACCT_REQUEST_RATE,
  445. PERF_COUNTER_COUNTER,
  446. 0,
  447. PERF_DETAIL_NOVICE
  448. },
  449. {
  450. RADIUS_ACCT_DUP_REQUEST_RATE,
  451. PERF_COUNTER_COUNTER,
  452. 0,
  453. PERF_DETAIL_NOVICE
  454. },
  455. {
  456. RADIUS_ACCT_NO_RECORD_RATE,
  457. PERF_COUNTER_COUNTER,
  458. 0,
  459. PERF_DETAIL_NOVICE
  460. },
  461. {
  462. RADIUS_ACCT_RESPONSE_RATE,
  463. PERF_COUNTER_COUNTER,
  464. 0,
  465. PERF_DETAIL_NOVICE
  466. },
  467. {
  468. RADIUS_PACKETS_RECEIVED_RATE,
  469. PERF_COUNTER_COUNTER,
  470. 0,
  471. PERF_DETAIL_NOVICE
  472. },
  473. {
  474. RADIUS_PACKETS_SENT_RATE,
  475. PERF_COUNTER_COUNTER,
  476. 0,
  477. PERF_DETAIL_NOVICE
  478. }
  479. };
  480. PerfCounterDef ACCT_CLIENT_COUNTERS[] =
  481. {
  482. {
  483. RADIUS_MALFORMED_PACKET,
  484. PERF_COUNTER_RAWCOUNT,
  485. 0,
  486. PERF_DETAIL_NOVICE
  487. },
  488. {
  489. RADIUS_BAD_AUTHENTICATOR,
  490. PERF_COUNTER_RAWCOUNT,
  491. 0,
  492. PERF_DETAIL_NOVICE
  493. },
  494. {
  495. RADIUS_DROPPED_PACKET,
  496. PERF_COUNTER_RAWCOUNT,
  497. 0,
  498. PERF_DETAIL_NOVICE
  499. },
  500. {
  501. RADIUS_UNKNOWN_TYPE,
  502. PERF_COUNTER_RAWCOUNT,
  503. 0,
  504. PERF_DETAIL_NOVICE
  505. },
  506. {
  507. RADIUS_ACCT_REQUEST,
  508. PERF_COUNTER_RAWCOUNT,
  509. 0,
  510. PERF_DETAIL_NOVICE
  511. },
  512. {
  513. RADIUS_ACCT_DUP_REQUEST,
  514. PERF_COUNTER_RAWCOUNT,
  515. 0,
  516. PERF_DETAIL_NOVICE
  517. },
  518. {
  519. RADIUS_ACCT_NO_RECORD,
  520. PERF_COUNTER_RAWCOUNT,
  521. 0,
  522. PERF_DETAIL_NOVICE
  523. },
  524. {
  525. RADIUS_ACCT_RESPONSE,
  526. PERF_COUNTER_RAWCOUNT,
  527. 0,
  528. PERF_DETAIL_NOVICE
  529. },
  530. {
  531. RADIUS_PACKETS_RECEIVED,
  532. PERF_COUNTER_RAWCOUNT,
  533. 0,
  534. PERF_DETAIL_NOVICE
  535. },
  536. {
  537. RADIUS_PACKETS_SENT,
  538. PERF_COUNTER_RAWCOUNT,
  539. 0,
  540. PERF_DETAIL_NOVICE
  541. },
  542. {
  543. RADIUS_MALFORMED_PACKET_RATE,
  544. PERF_COUNTER_COUNTER,
  545. 0,
  546. PERF_DETAIL_NOVICE
  547. },
  548. {
  549. RADIUS_BAD_AUTHENTICATOR_RATE,
  550. PERF_COUNTER_COUNTER,
  551. 0,
  552. PERF_DETAIL_NOVICE
  553. },
  554. {
  555. RADIUS_DROPPED_PACKET_RATE,
  556. PERF_COUNTER_COUNTER,
  557. 0,
  558. PERF_DETAIL_NOVICE
  559. },
  560. {
  561. RADIUS_UNKNOWN_TYPE_RATE,
  562. PERF_COUNTER_COUNTER,
  563. 0,
  564. PERF_DETAIL_NOVICE
  565. },
  566. {
  567. RADIUS_ACCT_REQUEST_RATE,
  568. PERF_COUNTER_COUNTER,
  569. 0,
  570. PERF_DETAIL_NOVICE
  571. },
  572. {
  573. RADIUS_ACCT_DUP_REQUEST_RATE,
  574. PERF_COUNTER_COUNTER,
  575. 0,
  576. PERF_DETAIL_NOVICE
  577. },
  578. {
  579. RADIUS_ACCT_NO_RECORD_RATE,
  580. PERF_COUNTER_COUNTER,
  581. 0,
  582. PERF_DETAIL_NOVICE
  583. },
  584. {
  585. RADIUS_ACCT_RESPONSE_RATE,
  586. PERF_COUNTER_COUNTER,
  587. 0,
  588. PERF_DETAIL_NOVICE
  589. },
  590. {
  591. RADIUS_PACKETS_RECEIVED_RATE,
  592. PERF_COUNTER_COUNTER,
  593. 0,
  594. PERF_DETAIL_NOVICE
  595. },
  596. {
  597. RADIUS_PACKETS_SENT_RATE,
  598. PERF_COUNTER_COUNTER,
  599. 0,
  600. PERF_DETAIL_NOVICE
  601. }
  602. };
  603. PerfCounterDef AUTH_PROXY_COUNTERS[] =
  604. {
  605. {
  606. PROXY_INVALID_ADDRESS,
  607. PERF_COUNTER_RAWCOUNT,
  608. 0,
  609. PERF_DETAIL_NOVICE
  610. },
  611. {
  612. PROXY_INVALID_ADDRESS_RATE,
  613. PERF_COUNTER_COUNTER,
  614. 0,
  615. PERF_DETAIL_NOVICE
  616. },
  617. {
  618. PROXY_AUTH_ACCESS_REQUEST,
  619. PERF_COUNTER_RAWCOUNT,
  620. 0,
  621. PERF_DETAIL_NOVICE
  622. },
  623. {
  624. PROXY_RETRANSMISSION,
  625. PERF_COUNTER_RAWCOUNT,
  626. 0,
  627. PERF_DETAIL_NOVICE
  628. },
  629. {
  630. PROXY_AUTH_ACCESS_ACCEPT,
  631. PERF_COUNTER_RAWCOUNT,
  632. 0,
  633. PERF_DETAIL_NOVICE
  634. },
  635. {
  636. PROXY_AUTH_ACCESS_REJECT,
  637. PERF_COUNTER_RAWCOUNT,
  638. 0,
  639. PERF_DETAIL_NOVICE
  640. },
  641. {
  642. PROXY_AUTH_ACCESS_CHALLENGE,
  643. PERF_COUNTER_RAWCOUNT,
  644. 0,
  645. PERF_DETAIL_NOVICE
  646. },
  647. {
  648. RADIUS_UNKNOWN_TYPE,
  649. PERF_COUNTER_RAWCOUNT,
  650. 0,
  651. PERF_DETAIL_NOVICE
  652. },
  653. {
  654. RADIUS_MALFORMED_PACKET,
  655. PERF_COUNTER_RAWCOUNT,
  656. 0,
  657. PERF_DETAIL_NOVICE
  658. },
  659. {
  660. RADIUS_BAD_AUTHENTICATOR,
  661. PERF_COUNTER_RAWCOUNT,
  662. 0,
  663. PERF_DETAIL_NOVICE
  664. },
  665. {
  666. RADIUS_DROPPED_PACKET,
  667. PERF_COUNTER_RAWCOUNT,
  668. 0,
  669. PERF_DETAIL_NOVICE
  670. },
  671. {
  672. PROXY_TIMEOUT,
  673. PERF_COUNTER_RAWCOUNT,
  674. 0,
  675. PERF_DETAIL_NOVICE
  676. },
  677. {
  678. RADIUS_PACKETS_RECEIVED,
  679. PERF_COUNTER_RAWCOUNT,
  680. 0,
  681. PERF_DETAIL_NOVICE
  682. },
  683. {
  684. PROXY_PENDING,
  685. PERF_COUNTER_RAWCOUNT,
  686. 0,
  687. PERF_DETAIL_NOVICE
  688. },
  689. {
  690. PROXY_AUTH_ACCESS_REQUEST_RATE,
  691. PERF_COUNTER_COUNTER,
  692. 0,
  693. PERF_DETAIL_NOVICE
  694. },
  695. {
  696. PROXY_RETRANSMISSION_RATE,
  697. PERF_COUNTER_COUNTER,
  698. 0,
  699. PERF_DETAIL_NOVICE
  700. },
  701. {
  702. PROXY_AUTH_ACCESS_ACCEPT_RATE,
  703. PERF_COUNTER_COUNTER,
  704. 0,
  705. PERF_DETAIL_NOVICE
  706. },
  707. {
  708. PROXY_AUTH_ACCESS_REJECT_RATE,
  709. PERF_COUNTER_COUNTER,
  710. 0,
  711. PERF_DETAIL_NOVICE
  712. },
  713. {
  714. PROXY_AUTH_ACCESS_CHALLENGE_RATE,
  715. PERF_COUNTER_COUNTER,
  716. 0,
  717. PERF_DETAIL_NOVICE
  718. },
  719. {
  720. RADIUS_UNKNOWN_TYPE_RATE,
  721. PERF_COUNTER_COUNTER,
  722. 0,
  723. PERF_DETAIL_NOVICE
  724. },
  725. {
  726. RADIUS_MALFORMED_PACKET_RATE,
  727. PERF_COUNTER_COUNTER,
  728. 0,
  729. PERF_DETAIL_NOVICE
  730. },
  731. {
  732. RADIUS_BAD_AUTHENTICATOR_RATE,
  733. PERF_COUNTER_COUNTER,
  734. 0,
  735. PERF_DETAIL_NOVICE
  736. },
  737. {
  738. RADIUS_DROPPED_PACKET_RATE,
  739. PERF_COUNTER_COUNTER,
  740. 0,
  741. PERF_DETAIL_NOVICE
  742. },
  743. {
  744. PROXY_TIMEOUT_RATE,
  745. PERF_COUNTER_COUNTER,
  746. 0,
  747. PERF_DETAIL_NOVICE
  748. },
  749. {
  750. RADIUS_PACKETS_RECEIVED_RATE,
  751. PERF_COUNTER_COUNTER,
  752. 0,
  753. PERF_DETAIL_NOVICE
  754. }
  755. };
  756. PerfCounterDef ACCT_PROXY_COUNTERS[] =
  757. {
  758. {
  759. PROXY_INVALID_ADDRESS,
  760. PERF_COUNTER_RAWCOUNT,
  761. 0,
  762. PERF_DETAIL_NOVICE
  763. },
  764. {
  765. PROXY_INVALID_ADDRESS_RATE,
  766. PERF_COUNTER_COUNTER,
  767. 0,
  768. PERF_DETAIL_NOVICE
  769. },
  770. {
  771. PROXY_ACCT_REQUEST,
  772. PERF_COUNTER_RAWCOUNT,
  773. 0,
  774. PERF_DETAIL_NOVICE
  775. },
  776. {
  777. PROXY_RETRANSMISSION,
  778. PERF_COUNTER_RAWCOUNT,
  779. 0,
  780. PERF_DETAIL_NOVICE
  781. },
  782. {
  783. PROXY_ACCT_RESPONSE,
  784. PERF_COUNTER_RAWCOUNT,
  785. 0,
  786. PERF_DETAIL_NOVICE
  787. },
  788. {
  789. RADIUS_UNKNOWN_TYPE,
  790. PERF_COUNTER_RAWCOUNT,
  791. 0,
  792. PERF_DETAIL_NOVICE
  793. },
  794. {
  795. RADIUS_MALFORMED_PACKET,
  796. PERF_COUNTER_RAWCOUNT,
  797. 0,
  798. PERF_DETAIL_NOVICE
  799. },
  800. {
  801. RADIUS_BAD_AUTHENTICATOR,
  802. PERF_COUNTER_RAWCOUNT,
  803. 0,
  804. PERF_DETAIL_NOVICE
  805. },
  806. {
  807. RADIUS_DROPPED_PACKET,
  808. PERF_COUNTER_RAWCOUNT,
  809. 0,
  810. PERF_DETAIL_NOVICE
  811. },
  812. {
  813. PROXY_TIMEOUT,
  814. PERF_COUNTER_RAWCOUNT,
  815. 0,
  816. PERF_DETAIL_NOVICE
  817. },
  818. {
  819. RADIUS_PACKETS_RECEIVED,
  820. PERF_COUNTER_RAWCOUNT,
  821. 0,
  822. PERF_DETAIL_NOVICE
  823. },
  824. {
  825. PROXY_PENDING,
  826. PERF_COUNTER_RAWCOUNT,
  827. 0,
  828. PERF_DETAIL_NOVICE
  829. },
  830. {
  831. PROXY_ACCT_REQUEST_RATE,
  832. PERF_COUNTER_COUNTER,
  833. 0,
  834. PERF_DETAIL_NOVICE
  835. },
  836. {
  837. PROXY_RETRANSMISSION_RATE,
  838. PERF_COUNTER_COUNTER,
  839. 0,
  840. PERF_DETAIL_NOVICE
  841. },
  842. {
  843. PROXY_ACCT_RESPONSE_RATE,
  844. PERF_COUNTER_COUNTER,
  845. 0,
  846. PERF_DETAIL_NOVICE
  847. },
  848. {
  849. RADIUS_UNKNOWN_TYPE_RATE,
  850. PERF_COUNTER_COUNTER,
  851. 0,
  852. PERF_DETAIL_NOVICE
  853. },
  854. {
  855. RADIUS_MALFORMED_PACKET_RATE,
  856. PERF_COUNTER_COUNTER,
  857. 0,
  858. PERF_DETAIL_NOVICE
  859. },
  860. {
  861. RADIUS_BAD_AUTHENTICATOR_RATE,
  862. PERF_COUNTER_COUNTER,
  863. 0,
  864. PERF_DETAIL_NOVICE
  865. },
  866. {
  867. RADIUS_DROPPED_PACKET_RATE,
  868. PERF_COUNTER_COUNTER,
  869. 0,
  870. PERF_DETAIL_NOVICE
  871. },
  872. {
  873. PROXY_TIMEOUT_RATE,
  874. PERF_COUNTER_COUNTER,
  875. 0,
  876. PERF_DETAIL_NOVICE
  877. },
  878. {
  879. RADIUS_PACKETS_RECEIVED_RATE,
  880. PERF_COUNTER_COUNTER,
  881. 0,
  882. PERF_DETAIL_NOVICE
  883. }
  884. };
  885. PerfCounterDef REMOTE_AUTH_SRV_COUNTERS[] =
  886. {
  887. {
  888. PROXY_REMSRV_PORT,
  889. PERF_COUNTER_RAWCOUNT,
  890. 0,
  891. PERF_DETAIL_NOVICE
  892. },
  893. {
  894. PROXY_REMSRV_ROUND_TRIP,
  895. PERF_COUNTER_RAWCOUNT,
  896. 0,
  897. PERF_DETAIL_NOVICE
  898. },
  899. {
  900. PROXY_AUTH_ACCESS_REQUEST,
  901. PERF_COUNTER_RAWCOUNT,
  902. 0,
  903. PERF_DETAIL_NOVICE
  904. },
  905. {
  906. PROXY_RETRANSMISSION,
  907. PERF_COUNTER_RAWCOUNT,
  908. 0,
  909. PERF_DETAIL_NOVICE
  910. },
  911. {
  912. PROXY_AUTH_ACCESS_ACCEPT,
  913. PERF_COUNTER_RAWCOUNT,
  914. 0,
  915. PERF_DETAIL_NOVICE
  916. },
  917. {
  918. PROXY_AUTH_ACCESS_REJECT,
  919. PERF_COUNTER_RAWCOUNT,
  920. 0,
  921. PERF_DETAIL_NOVICE
  922. },
  923. {
  924. PROXY_AUTH_ACCESS_CHALLENGE,
  925. PERF_COUNTER_RAWCOUNT,
  926. 0,
  927. PERF_DETAIL_NOVICE
  928. },
  929. {
  930. RADIUS_UNKNOWN_TYPE,
  931. PERF_COUNTER_RAWCOUNT,
  932. 0,
  933. PERF_DETAIL_NOVICE
  934. },
  935. {
  936. RADIUS_MALFORMED_PACKET,
  937. PERF_COUNTER_RAWCOUNT,
  938. 0,
  939. PERF_DETAIL_NOVICE
  940. },
  941. {
  942. RADIUS_BAD_AUTHENTICATOR,
  943. PERF_COUNTER_RAWCOUNT,
  944. 0,
  945. PERF_DETAIL_NOVICE
  946. },
  947. {
  948. RADIUS_DROPPED_PACKET,
  949. PERF_COUNTER_RAWCOUNT,
  950. 0,
  951. PERF_DETAIL_NOVICE
  952. },
  953. {
  954. PROXY_TIMEOUT,
  955. PERF_COUNTER_RAWCOUNT,
  956. 0,
  957. PERF_DETAIL_NOVICE
  958. },
  959. {
  960. RADIUS_PACKETS_RECEIVED,
  961. PERF_COUNTER_RAWCOUNT,
  962. 0,
  963. PERF_DETAIL_NOVICE
  964. },
  965. {
  966. PROXY_PENDING,
  967. PERF_COUNTER_RAWCOUNT,
  968. 0,
  969. PERF_DETAIL_NOVICE
  970. },
  971. {
  972. PROXY_AUTH_ACCESS_REQUEST_RATE,
  973. PERF_COUNTER_COUNTER,
  974. 0,
  975. PERF_DETAIL_NOVICE
  976. },
  977. {
  978. PROXY_RETRANSMISSION_RATE,
  979. PERF_COUNTER_COUNTER,
  980. 0,
  981. PERF_DETAIL_NOVICE
  982. },
  983. {
  984. PROXY_AUTH_ACCESS_ACCEPT_RATE,
  985. PERF_COUNTER_COUNTER,
  986. 0,
  987. PERF_DETAIL_NOVICE
  988. },
  989. {
  990. PROXY_AUTH_ACCESS_REJECT_RATE,
  991. PERF_COUNTER_COUNTER,
  992. 0,
  993. PERF_DETAIL_NOVICE
  994. },
  995. {
  996. PROXY_AUTH_ACCESS_CHALLENGE_RATE,
  997. PERF_COUNTER_COUNTER,
  998. 0,
  999. PERF_DETAIL_NOVICE
  1000. },
  1001. {
  1002. RADIUS_UNKNOWN_TYPE_RATE,
  1003. PERF_COUNTER_COUNTER,
  1004. 0,
  1005. PERF_DETAIL_NOVICE
  1006. },
  1007. {
  1008. RADIUS_MALFORMED_PACKET_RATE,
  1009. PERF_COUNTER_COUNTER,
  1010. 0,
  1011. PERF_DETAIL_NOVICE
  1012. },
  1013. {
  1014. RADIUS_BAD_AUTHENTICATOR_RATE,
  1015. PERF_COUNTER_COUNTER,
  1016. 0,
  1017. PERF_DETAIL_NOVICE
  1018. },
  1019. {
  1020. RADIUS_DROPPED_PACKET_RATE,
  1021. PERF_COUNTER_COUNTER,
  1022. 0,
  1023. PERF_DETAIL_NOVICE
  1024. },
  1025. {
  1026. PROXY_TIMEOUT_RATE,
  1027. PERF_COUNTER_COUNTER,
  1028. 0,
  1029. PERF_DETAIL_NOVICE
  1030. },
  1031. {
  1032. RADIUS_PACKETS_RECEIVED_RATE,
  1033. PERF_COUNTER_COUNTER,
  1034. 0,
  1035. PERF_DETAIL_NOVICE
  1036. }
  1037. };
  1038. PerfCounterDef REMOTE_ACCT_SRV_COUNTERS[] =
  1039. {
  1040. {
  1041. PROXY_REMSRV_PORT,
  1042. PERF_COUNTER_RAWCOUNT,
  1043. 0,
  1044. PERF_DETAIL_NOVICE
  1045. },
  1046. {
  1047. PROXY_REMSRV_ROUND_TRIP,
  1048. PERF_COUNTER_RAWCOUNT,
  1049. 0,
  1050. PERF_DETAIL_NOVICE
  1051. },
  1052. {
  1053. PROXY_ACCT_REQUEST,
  1054. PERF_COUNTER_RAWCOUNT,
  1055. 0,
  1056. PERF_DETAIL_NOVICE
  1057. },
  1058. {
  1059. PROXY_RETRANSMISSION,
  1060. PERF_COUNTER_RAWCOUNT,
  1061. 0,
  1062. PERF_DETAIL_NOVICE
  1063. },
  1064. {
  1065. PROXY_ACCT_RESPONSE,
  1066. PERF_COUNTER_RAWCOUNT,
  1067. 0,
  1068. PERF_DETAIL_NOVICE
  1069. },
  1070. {
  1071. RADIUS_UNKNOWN_TYPE,
  1072. PERF_COUNTER_RAWCOUNT,
  1073. 0,
  1074. PERF_DETAIL_NOVICE
  1075. },
  1076. {
  1077. RADIUS_MALFORMED_PACKET,
  1078. PERF_COUNTER_RAWCOUNT,
  1079. 0,
  1080. PERF_DETAIL_NOVICE
  1081. },
  1082. {
  1083. RADIUS_BAD_AUTHENTICATOR,
  1084. PERF_COUNTER_RAWCOUNT,
  1085. 0,
  1086. PERF_DETAIL_NOVICE
  1087. },
  1088. {
  1089. RADIUS_DROPPED_PACKET,
  1090. PERF_COUNTER_RAWCOUNT,
  1091. 0,
  1092. PERF_DETAIL_NOVICE
  1093. },
  1094. {
  1095. PROXY_TIMEOUT,
  1096. PERF_COUNTER_RAWCOUNT,
  1097. 0,
  1098. PERF_DETAIL_NOVICE
  1099. },
  1100. {
  1101. RADIUS_PACKETS_RECEIVED,
  1102. PERF_COUNTER_RAWCOUNT,
  1103. 0,
  1104. PERF_DETAIL_NOVICE
  1105. },
  1106. {
  1107. PROXY_PENDING,
  1108. PERF_COUNTER_RAWCOUNT,
  1109. 0,
  1110. PERF_DETAIL_NOVICE
  1111. },
  1112. {
  1113. PROXY_ACCT_REQUEST_RATE,
  1114. PERF_COUNTER_COUNTER,
  1115. 0,
  1116. PERF_DETAIL_NOVICE
  1117. },
  1118. {
  1119. PROXY_RETRANSMISSION_RATE,
  1120. PERF_COUNTER_COUNTER,
  1121. 0,
  1122. PERF_DETAIL_NOVICE
  1123. },
  1124. {
  1125. PROXY_ACCT_RESPONSE_RATE,
  1126. PERF_COUNTER_COUNTER,
  1127. 0,
  1128. PERF_DETAIL_NOVICE
  1129. },
  1130. {
  1131. RADIUS_UNKNOWN_TYPE_RATE,
  1132. PERF_COUNTER_COUNTER,
  1133. 0,
  1134. PERF_DETAIL_NOVICE
  1135. },
  1136. {
  1137. RADIUS_MALFORMED_PACKET_RATE,
  1138. PERF_COUNTER_COUNTER,
  1139. 0,
  1140. PERF_DETAIL_NOVICE
  1141. },
  1142. {
  1143. RADIUS_BAD_AUTHENTICATOR_RATE,
  1144. PERF_COUNTER_COUNTER,
  1145. 0,
  1146. PERF_DETAIL_NOVICE
  1147. },
  1148. {
  1149. RADIUS_DROPPED_PACKET_RATE,
  1150. PERF_COUNTER_COUNTER,
  1151. 0,
  1152. PERF_DETAIL_NOVICE
  1153. },
  1154. {
  1155. PROXY_TIMEOUT_RATE,
  1156. PERF_COUNTER_COUNTER,
  1157. 0,
  1158. PERF_DETAIL_NOVICE
  1159. },
  1160. {
  1161. RADIUS_PACKETS_RECEIVED_RATE,
  1162. PERF_COUNTER_COUNTER,
  1163. 0,
  1164. PERF_DETAIL_NOVICE
  1165. }
  1166. };
  1167. PerfObjectTypeDef PERF_OBJECTS[] =
  1168. {
  1169. {
  1170. RADIUS_AUTH_SERVER_OBJECT,
  1171. ARRAY_ELEMENTS(AUTH_SERVER_COUNTERS),
  1172. AUTH_SERVER_COUNTERS,
  1173. AuthServerDataSource,
  1174. FALSE,
  1175. -1
  1176. },
  1177. {
  1178. RADIUS_AUTH_CLIENT_OBJECT,
  1179. ARRAY_ELEMENTS(AUTH_CLIENT_COUNTERS),
  1180. AUTH_CLIENT_COUNTERS,
  1181. AuthClientDataSource,
  1182. TRUE,
  1183. -1
  1184. },
  1185. {
  1186. RADIUS_ACCT_SERVER_OBJECT,
  1187. ARRAY_ELEMENTS(ACCT_SERVER_COUNTERS),
  1188. ACCT_SERVER_COUNTERS,
  1189. AcctServerDataSource,
  1190. FALSE,
  1191. -1
  1192. },
  1193. {
  1194. RADIUS_ACCT_CLIENT_OBJECT,
  1195. ARRAY_ELEMENTS(ACCT_CLIENT_COUNTERS),
  1196. ACCT_CLIENT_COUNTERS,
  1197. AcctClientDataSource,
  1198. TRUE,
  1199. -1
  1200. },
  1201. {
  1202. PROXY_AUTH_PROXY_OBJECT,
  1203. ARRAY_ELEMENTS(AUTH_PROXY_COUNTERS),
  1204. AUTH_PROXY_COUNTERS,
  1205. AuthProxyDataSource,
  1206. FALSE,
  1207. -1
  1208. },
  1209. {
  1210. PROXY_AUTH_REMSRV_OBJECT,
  1211. ARRAY_ELEMENTS(REMOTE_AUTH_SRV_COUNTERS),
  1212. REMOTE_AUTH_SRV_COUNTERS,
  1213. AuthRemoteServerDataSource,
  1214. TRUE,
  1215. -1
  1216. },
  1217. {
  1218. PROXY_ACCT_PROXY_OBJECT,
  1219. ARRAY_ELEMENTS(ACCT_PROXY_COUNTERS),
  1220. ACCT_PROXY_COUNTERS,
  1221. AcctProxyDataSource,
  1222. FALSE,
  1223. -1
  1224. },
  1225. {
  1226. PROXY_ACCT_REMSRV_OBJECT,
  1227. ARRAY_ELEMENTS(REMOTE_ACCT_SRV_COUNTERS),
  1228. REMOTE_ACCT_SRV_COUNTERS,
  1229. AcctRemoteServerDataSource,
  1230. TRUE,
  1231. -1
  1232. }
  1233. };
  1234. PerfCollectorDef PERF_SCHEMA =
  1235. {
  1236. L"IAS",
  1237. ARRAY_ELEMENTS(PERF_OBJECTS),
  1238. PERF_OBJECTS
  1239. };