Leaked source code of windows server 2003
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.

1642 lines
46 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows NT **/
  3. /** Copyright(c) Microsoft Corp., 1993-1996 **/
  4. /**********************************************************************/
  5. /*
  6. w3ata.cxx
  7. Constant data structures for the W3 Server's counter objects &
  8. counters.
  9. FILE HISTORY:
  10. KeithMo 07-Jun-1993 Created.
  11. Bob Watson/MuraliK 03-Oct-1996 - Added rate counters for W3.
  12. EmilyK 10-Sep-2000 Altered to be cxx as well as other IIS 6 changes
  13. */
  14. #include "precomp.h"
  15. W3_COUNTER_BLOCK w3c;
  16. W3_GLOBAL_COUNTER_BLOCK IISGlobal;
  17. //
  18. // Initialize the constant portitions of these data structure.
  19. // Certain parts (especially the name/help indices) will be
  20. // updated at initialization time.
  21. //
  22. W3_DATA_DEFINITION W3DataDefinition =
  23. {
  24. { // W3ObjectType
  25. sizeof(W3_DATA_DEFINITION), // + sizeof (W3_COUNTER_BLOCK),
  26. sizeof(W3_DATA_DEFINITION),
  27. sizeof(PERF_OBJECT_TYPE),
  28. W3_COUNTER_OBJECT,
  29. NULL,
  30. W3_COUNTER_OBJECT,
  31. NULL,
  32. PERF_DETAIL_ADVANCED,
  33. NUMBER_OF_W3_COUNTERS,
  34. 5, // Default = Bytes Total/sec
  35. PERF_NO_INSTANCES,
  36. 0,
  37. { 0, 0 },
  38. { 0, 0 }
  39. },
  40. { // W3BytesSent
  41. sizeof(PERF_COUNTER_DEFINITION),
  42. W3_BYTES_SENT_COUNTER,
  43. NULL,
  44. W3_BYTES_SENT_COUNTER,
  45. NULL,
  46. -4,
  47. PERF_DETAIL_ADVANCED,
  48. PERF_COUNTER_LARGE_RAWCOUNT,
  49. sizeof(w3c.BytesSent),
  50. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesSent)
  51. },
  52. { // W3BytesSent/Sec
  53. sizeof(PERF_COUNTER_DEFINITION),
  54. W3_BYTES_SENT_PER_SEC,
  55. NULL,
  56. W3_BYTES_SENT_PER_SEC,
  57. NULL,
  58. -4,
  59. PERF_DETAIL_ADVANCED,
  60. PERF_COUNTER_BULK_COUNT,
  61. sizeof(w3c.BytesSent),
  62. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesSent)
  63. },
  64. { // W3BytesReceived
  65. sizeof(PERF_COUNTER_DEFINITION),
  66. W3_BYTES_RECEIVED_COUNTER,
  67. NULL,
  68. W3_BYTES_RECEIVED_COUNTER,
  69. NULL,
  70. -4,
  71. PERF_DETAIL_ADVANCED,
  72. PERF_COUNTER_LARGE_RAWCOUNT,
  73. sizeof(w3c.BytesReceived),
  74. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesReceived)
  75. },
  76. { // W3BytesReceived/Sec
  77. sizeof(PERF_COUNTER_DEFINITION),
  78. W3_BYTES_RECEIVED_PER_SEC,
  79. NULL,
  80. W3_BYTES_RECEIVED_PER_SEC,
  81. NULL,
  82. -4,
  83. PERF_DETAIL_ADVANCED,
  84. PERF_COUNTER_BULK_COUNT,
  85. sizeof(w3c.BytesReceived),
  86. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesReceived)
  87. },
  88. { // W3BytesTotal
  89. sizeof(PERF_COUNTER_DEFINITION),
  90. W3_BYTES_TOTAL_COUNTER,
  91. NULL,
  92. W3_BYTES_TOTAL_COUNTER,
  93. NULL,
  94. -4,
  95. PERF_DETAIL_ADVANCED,
  96. PERF_COUNTER_LARGE_RAWCOUNT,
  97. sizeof(w3c.BytesTotal),
  98. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesTotal)
  99. },
  100. { // W3BytesTotal/Sec
  101. sizeof(PERF_COUNTER_DEFINITION),
  102. W3_BYTES_TOTAL_PER_SEC,
  103. NULL,
  104. W3_BYTES_TOTAL_PER_SEC,
  105. NULL,
  106. -4,
  107. PERF_DETAIL_ADVANCED,
  108. PERF_COUNTER_BULK_COUNT,
  109. sizeof(w3c.BytesTotal),
  110. FIELD_OFFSET(W3_COUNTER_BLOCK, BytesTotal)
  111. },
  112. { // W3FilesSent
  113. sizeof(PERF_COUNTER_DEFINITION),
  114. W3_FILES_SENT_COUNTER,
  115. NULL,
  116. W3_FILES_SENT_COUNTER,
  117. NULL,
  118. 0,
  119. PERF_DETAIL_ADVANCED,
  120. PERF_COUNTER_RAWCOUNT,
  121. sizeof(w3c.FilesSent),
  122. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesSent)
  123. },
  124. { // W3FilesSentSec
  125. sizeof(PERF_COUNTER_DEFINITION),
  126. W3_FILES_SENT_SEC,
  127. NULL,
  128. W3_FILES_SENT_SEC,
  129. NULL,
  130. 0,
  131. PERF_DETAIL_ADVANCED,
  132. PERF_COUNTER_COUNTER,
  133. sizeof(w3c.FilesSent),
  134. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesSent)
  135. },
  136. { // W3FilesReceived
  137. sizeof(PERF_COUNTER_DEFINITION),
  138. W3_FILES_RECEIVED_COUNTER,
  139. NULL,
  140. W3_FILES_RECEIVED_COUNTER,
  141. NULL,
  142. 0,
  143. PERF_DETAIL_ADVANCED,
  144. PERF_COUNTER_RAWCOUNT,
  145. sizeof(w3c.FilesReceived),
  146. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesReceived)
  147. },
  148. { // W3FilesReceivedSec
  149. sizeof(PERF_COUNTER_DEFINITION),
  150. W3_FILES_RECEIVED_SEC,
  151. NULL,
  152. W3_FILES_RECEIVED_SEC,
  153. NULL,
  154. 0,
  155. PERF_DETAIL_ADVANCED,
  156. PERF_COUNTER_COUNTER,
  157. sizeof(w3c.FilesReceived),
  158. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesReceived)
  159. },
  160. { // W3FilesTotal
  161. sizeof(PERF_COUNTER_DEFINITION),
  162. W3_FILES_TOTAL_COUNTER,
  163. NULL,
  164. W3_FILES_TOTAL_COUNTER,
  165. NULL,
  166. 0,
  167. PERF_DETAIL_ADVANCED,
  168. PERF_COUNTER_RAWCOUNT,
  169. sizeof(w3c.FilesTotal),
  170. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesTotal)
  171. },
  172. { // W3FilesSec
  173. sizeof(PERF_COUNTER_DEFINITION),
  174. W3_FILES_SEC,
  175. NULL,
  176. W3_FILES_SEC,
  177. NULL,
  178. 0,
  179. PERF_DETAIL_ADVANCED,
  180. PERF_COUNTER_COUNTER,
  181. sizeof(w3c.FilesTotal),
  182. FIELD_OFFSET(W3_COUNTER_BLOCK, FilesTotal)
  183. },
  184. { // W3CurrentAnonymous
  185. sizeof(PERF_COUNTER_DEFINITION),
  186. W3_CURRENT_ANONYMOUS_COUNTER,
  187. NULL,
  188. W3_CURRENT_ANONYMOUS_COUNTER,
  189. NULL,
  190. 0,
  191. PERF_DETAIL_ADVANCED,
  192. PERF_COUNTER_RAWCOUNT,
  193. sizeof(w3c.CurrentAnonymous),
  194. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentAnonymous)
  195. },
  196. { // W3CurrentNonAnonymous
  197. sizeof(PERF_COUNTER_DEFINITION),
  198. W3_CURRENT_NONANONYMOUS_COUNTER,
  199. NULL,
  200. W3_CURRENT_NONANONYMOUS_COUNTER,
  201. NULL,
  202. 0,
  203. PERF_DETAIL_ADVANCED,
  204. PERF_COUNTER_RAWCOUNT,
  205. sizeof(w3c.CurrentNonAnonymous),
  206. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentNonAnonymous)
  207. },
  208. { // W3TotalAnonymous
  209. sizeof(PERF_COUNTER_DEFINITION),
  210. W3_TOTAL_ANONYMOUS_COUNTER,
  211. NULL,
  212. W3_TOTAL_ANONYMOUS_COUNTER,
  213. NULL,
  214. 0,
  215. PERF_DETAIL_ADVANCED,
  216. PERF_COUNTER_RAWCOUNT,
  217. sizeof(w3c.TotalAnonymous),
  218. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalAnonymous)
  219. },
  220. { // W3TotalAnonymous/Sec
  221. sizeof(PERF_COUNTER_DEFINITION),
  222. W3_ANONYMOUS_USERS_SEC,
  223. NULL,
  224. W3_ANONYMOUS_USERS_SEC,
  225. NULL,
  226. 0,
  227. PERF_DETAIL_ADVANCED,
  228. PERF_COUNTER_COUNTER,
  229. sizeof(w3c.TotalAnonymous),
  230. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalAnonymous)
  231. },
  232. { // W3NonAnonymous
  233. sizeof(PERF_COUNTER_DEFINITION),
  234. W3_TOTAL_NONANONYMOUS_COUNTER,
  235. NULL,
  236. W3_TOTAL_NONANONYMOUS_COUNTER,
  237. NULL,
  238. 0,
  239. PERF_DETAIL_ADVANCED,
  240. PERF_COUNTER_RAWCOUNT,
  241. sizeof(w3c.TotalNonAnonymous),
  242. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalNonAnonymous)
  243. },
  244. { // W3NonAnonymous/Sec
  245. sizeof(PERF_COUNTER_DEFINITION),
  246. W3_NON_ANONYMOUS_USERS_SEC,
  247. NULL,
  248. W3_NON_ANONYMOUS_USERS_SEC,
  249. NULL,
  250. 0,
  251. PERF_DETAIL_ADVANCED,
  252. PERF_COUNTER_COUNTER,
  253. sizeof(w3c.TotalNonAnonymous),
  254. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalNonAnonymous)
  255. },
  256. { // W3MaxAnonymous
  257. sizeof(PERF_COUNTER_DEFINITION),
  258. W3_MAX_ANONYMOUS_COUNTER,
  259. NULL,
  260. W3_MAX_ANONYMOUS_COUNTER,
  261. NULL,
  262. 0,
  263. PERF_DETAIL_ADVANCED,
  264. PERF_COUNTER_RAWCOUNT,
  265. sizeof(w3c.MaxAnonymous),
  266. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxAnonymous)
  267. },
  268. { // W3MaxNonAnonymous
  269. sizeof(PERF_COUNTER_DEFINITION),
  270. W3_MAX_NONANONYMOUS_COUNTER,
  271. NULL,
  272. W3_MAX_NONANONYMOUS_COUNTER,
  273. NULL,
  274. 0,
  275. PERF_DETAIL_ADVANCED,
  276. PERF_COUNTER_RAWCOUNT,
  277. sizeof(w3c.MaxNonAnonymous),
  278. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxNonAnonymous)
  279. },
  280. { // W3CurrentConnections
  281. sizeof(PERF_COUNTER_DEFINITION),
  282. W3_CURRENT_CONNECTIONS_COUNTER,
  283. NULL,
  284. W3_CURRENT_CONNECTIONS_COUNTER,
  285. NULL,
  286. 0,
  287. PERF_DETAIL_ADVANCED,
  288. PERF_COUNTER_RAWCOUNT,
  289. sizeof(w3c.CurrentConnections),
  290. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentConnections)
  291. },
  292. { // W3MaxConnections
  293. sizeof(PERF_COUNTER_DEFINITION),
  294. W3_MAX_CONNECTIONS_COUNTER,
  295. NULL,
  296. W3_MAX_CONNECTIONS_COUNTER,
  297. NULL,
  298. 0,
  299. PERF_DETAIL_ADVANCED,
  300. PERF_COUNTER_RAWCOUNT,
  301. sizeof(w3c.MaxConnections),
  302. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxConnections)
  303. },
  304. { // W3ConnectionAttempts
  305. sizeof(PERF_COUNTER_DEFINITION),
  306. W3_CONNECTION_ATTEMPTS_COUNTER,
  307. NULL,
  308. W3_CONNECTION_ATTEMPTS_COUNTER,
  309. NULL,
  310. 0,
  311. PERF_DETAIL_ADVANCED,
  312. PERF_COUNTER_RAWCOUNT,
  313. sizeof(w3c.ConnectionAttempts),
  314. FIELD_OFFSET(W3_COUNTER_BLOCK, ConnectionAttempts)
  315. },
  316. { // W3ConnectionsPerSec
  317. sizeof(PERF_COUNTER_DEFINITION),
  318. W3_CONNECTION_ATTEMPTS_SEC,
  319. NULL,
  320. W3_CONNECTION_ATTEMPTS_SEC,
  321. NULL,
  322. 0,
  323. PERF_DETAIL_ADVANCED,
  324. PERF_COUNTER_COUNTER,
  325. sizeof(w3c.ConnectionAttempts),
  326. FIELD_OFFSET(W3_COUNTER_BLOCK, ConnectionAttempts)
  327. },
  328. { // W3LogonAttempts
  329. sizeof(PERF_COUNTER_DEFINITION),
  330. W3_LOGON_ATTEMPTS_COUNTER,
  331. NULL,
  332. W3_LOGON_ATTEMPTS_COUNTER,
  333. NULL,
  334. 0,
  335. PERF_DETAIL_ADVANCED,
  336. PERF_COUNTER_RAWCOUNT,
  337. sizeof(w3c.LogonAttempts),
  338. FIELD_OFFSET(W3_COUNTER_BLOCK, LogonAttempts)
  339. },
  340. { // W3LogonAttemptsSec
  341. sizeof(PERF_COUNTER_DEFINITION),
  342. W3_LOGON_ATTEMPTS_SEC,
  343. NULL,
  344. W3_LOGON_ATTEMPTS_SEC,
  345. NULL,
  346. 0,
  347. PERF_DETAIL_ADVANCED,
  348. PERF_COUNTER_COUNTER,
  349. sizeof(w3c.LogonAttempts),
  350. FIELD_OFFSET(W3_COUNTER_BLOCK, LogonAttempts)
  351. },
  352. { // W3TotalOptions
  353. sizeof(PERF_COUNTER_DEFINITION),
  354. W3_TOTAL_OPTIONS_COUNTER,
  355. NULL,
  356. W3_TOTAL_OPTIONS_COUNTER,
  357. NULL,
  358. 0,
  359. PERF_DETAIL_ADVANCED,
  360. PERF_COUNTER_RAWCOUNT,
  361. sizeof(w3c.TotalOptions),
  362. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalOptions)
  363. },
  364. { // W3TotalOptionsSec
  365. sizeof(PERF_COUNTER_DEFINITION),
  366. W3_TOTAL_OPTIONS_SEC,
  367. NULL,
  368. W3_TOTAL_OPTIONS_SEC,
  369. NULL,
  370. 0,
  371. PERF_DETAIL_ADVANCED,
  372. PERF_COUNTER_COUNTER,
  373. sizeof(w3c.TotalOptions),
  374. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalOptions)
  375. },
  376. { // W3TotalGets
  377. sizeof(PERF_COUNTER_DEFINITION),
  378. W3_TOTAL_GETS_COUNTER,
  379. NULL,
  380. W3_TOTAL_GETS_COUNTER,
  381. NULL,
  382. 0,
  383. PERF_DETAIL_ADVANCED,
  384. PERF_COUNTER_RAWCOUNT,
  385. sizeof(w3c.TotalGets),
  386. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalGets)
  387. },
  388. { // W3TotalGetsSec
  389. sizeof(PERF_COUNTER_DEFINITION),
  390. W3_TOTAL_GETS_SEC,
  391. NULL,
  392. W3_TOTAL_GETS_SEC,
  393. NULL,
  394. 0,
  395. PERF_DETAIL_ADVANCED,
  396. PERF_COUNTER_COUNTER,
  397. sizeof(w3c.TotalGets),
  398. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalGets)
  399. },
  400. { // W3TotalPosts
  401. sizeof(PERF_COUNTER_DEFINITION),
  402. W3_TOTAL_POSTS_COUNTER,
  403. NULL,
  404. W3_TOTAL_POSTS_COUNTER,
  405. NULL,
  406. 0,
  407. PERF_DETAIL_ADVANCED,
  408. PERF_COUNTER_RAWCOUNT,
  409. sizeof(w3c.TotalPosts),
  410. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPosts)
  411. },
  412. { // W3TotalPostsSec
  413. sizeof(PERF_COUNTER_DEFINITION),
  414. W3_TOTAL_POSTS_SEC,
  415. NULL,
  416. W3_TOTAL_POSTS_SEC,
  417. NULL,
  418. 0,
  419. PERF_DETAIL_ADVANCED,
  420. PERF_COUNTER_COUNTER,
  421. sizeof(w3c.TotalPosts),
  422. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPosts)
  423. },
  424. { // W3TotalHeads
  425. sizeof(PERF_COUNTER_DEFINITION),
  426. W3_TOTAL_HEADS_COUNTER,
  427. NULL,
  428. W3_TOTAL_HEADS_COUNTER,
  429. NULL,
  430. 0,
  431. PERF_DETAIL_ADVANCED,
  432. PERF_COUNTER_RAWCOUNT,
  433. sizeof(w3c.TotalHeads),
  434. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalHeads)
  435. },
  436. { // W3TotalHeadsSec
  437. sizeof(PERF_COUNTER_DEFINITION),
  438. W3_TOTAL_HEADS_SEC,
  439. NULL,
  440. W3_TOTAL_HEADS_SEC,
  441. NULL,
  442. 0,
  443. PERF_DETAIL_ADVANCED,
  444. PERF_COUNTER_COUNTER,
  445. sizeof(w3c.TotalHeads),
  446. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalHeads)
  447. },
  448. { // W3TotalPuts
  449. sizeof(PERF_COUNTER_DEFINITION),
  450. W3_TOTAL_PUTS_COUNTER,
  451. NULL,
  452. W3_TOTAL_PUTS_COUNTER,
  453. NULL,
  454. 0,
  455. PERF_DETAIL_ADVANCED,
  456. PERF_COUNTER_RAWCOUNT,
  457. sizeof(w3c.TotalPuts),
  458. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPuts)
  459. },
  460. { // W3TotalPutsSec
  461. sizeof(PERF_COUNTER_DEFINITION),
  462. W3_TOTAL_PUTS_SEC,
  463. NULL,
  464. W3_TOTAL_PUTS_SEC,
  465. NULL,
  466. 0,
  467. PERF_DETAIL_ADVANCED,
  468. PERF_COUNTER_COUNTER,
  469. sizeof(w3c.TotalPuts),
  470. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPuts)
  471. },
  472. { // W3TotalDeletes
  473. sizeof(PERF_COUNTER_DEFINITION),
  474. W3_TOTAL_DELETES_COUNTER,
  475. NULL,
  476. W3_TOTAL_DELETES_COUNTER,
  477. NULL,
  478. 0,
  479. PERF_DETAIL_ADVANCED,
  480. PERF_COUNTER_RAWCOUNT,
  481. sizeof(w3c.TotalDeletes),
  482. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalDeletes)
  483. },
  484. { // W3TotalDeletesSec
  485. sizeof(PERF_COUNTER_DEFINITION),
  486. W3_TOTAL_DELETES_SEC,
  487. NULL,
  488. W3_TOTAL_DELETES_SEC,
  489. NULL,
  490. 0,
  491. PERF_DETAIL_ADVANCED,
  492. PERF_COUNTER_COUNTER,
  493. sizeof(w3c.TotalDeletes),
  494. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalDeletes)
  495. },
  496. { // W3TotalTraces
  497. sizeof(PERF_COUNTER_DEFINITION),
  498. W3_TOTAL_TRACES_COUNTER,
  499. NULL,
  500. W3_TOTAL_TRACES_COUNTER,
  501. NULL,
  502. 0,
  503. PERF_DETAIL_ADVANCED,
  504. PERF_COUNTER_RAWCOUNT,
  505. sizeof(w3c.TotalTraces),
  506. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalTraces)
  507. },
  508. { // W3TotalTracesSec
  509. sizeof(PERF_COUNTER_DEFINITION),
  510. W3_TOTAL_TRACES_SEC,
  511. NULL,
  512. W3_TOTAL_TRACES_SEC,
  513. NULL,
  514. 0,
  515. PERF_DETAIL_ADVANCED,
  516. PERF_COUNTER_COUNTER,
  517. sizeof(w3c.TotalTraces),
  518. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalTraces)
  519. },
  520. { // W3TotalMove
  521. sizeof(PERF_COUNTER_DEFINITION),
  522. W3_TOTAL_MOVE_COUNTER,
  523. NULL,
  524. W3_TOTAL_MOVE_COUNTER,
  525. NULL,
  526. 0,
  527. PERF_DETAIL_ADVANCED,
  528. PERF_COUNTER_RAWCOUNT,
  529. sizeof(w3c.TotalMove),
  530. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalMove)
  531. },
  532. { // W3TotalMoveSec
  533. sizeof(PERF_COUNTER_DEFINITION),
  534. W3_TOTAL_MOVE_SEC,
  535. NULL,
  536. W3_TOTAL_MOVE_SEC,
  537. NULL,
  538. 0,
  539. PERF_DETAIL_ADVANCED,
  540. PERF_COUNTER_COUNTER,
  541. sizeof(w3c.TotalMove),
  542. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalMove)
  543. },
  544. { // W3TotalCopy
  545. sizeof(PERF_COUNTER_DEFINITION),
  546. W3_TOTAL_COPY_COUNTER,
  547. NULL,
  548. W3_TOTAL_COPY_COUNTER,
  549. NULL,
  550. 0,
  551. PERF_DETAIL_ADVANCED,
  552. PERF_COUNTER_RAWCOUNT,
  553. sizeof(w3c.TotalCopy),
  554. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalCopy)
  555. },
  556. { // W3TotalCopySec
  557. sizeof(PERF_COUNTER_DEFINITION),
  558. W3_TOTAL_COPY_SEC,
  559. NULL,
  560. W3_TOTAL_COPY_SEC,
  561. NULL,
  562. 0,
  563. PERF_DETAIL_ADVANCED,
  564. PERF_COUNTER_COUNTER,
  565. sizeof(w3c.TotalCopy),
  566. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalCopy)
  567. },
  568. { // W3TotalMkcol
  569. sizeof(PERF_COUNTER_DEFINITION),
  570. W3_TOTAL_MKCOL_COUNTER,
  571. NULL,
  572. W3_TOTAL_MKCOL_COUNTER,
  573. NULL,
  574. 0,
  575. PERF_DETAIL_ADVANCED,
  576. PERF_COUNTER_RAWCOUNT,
  577. sizeof(w3c.TotalMkcol),
  578. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalMkcol)
  579. },
  580. { // W3TotalMkcolSec
  581. sizeof(PERF_COUNTER_DEFINITION),
  582. W3_TOTAL_MKCOL_SEC,
  583. NULL,
  584. W3_TOTAL_MKCOL_SEC,
  585. NULL,
  586. 0,
  587. PERF_DETAIL_ADVANCED,
  588. PERF_COUNTER_COUNTER,
  589. sizeof(w3c.TotalMkcol),
  590. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalMkcol)
  591. },
  592. { // W3TotalPropfind
  593. sizeof(PERF_COUNTER_DEFINITION),
  594. W3_TOTAL_PROPFIND_COUNTER,
  595. NULL,
  596. W3_TOTAL_PROPFIND_COUNTER,
  597. NULL,
  598. 0,
  599. PERF_DETAIL_ADVANCED,
  600. PERF_COUNTER_RAWCOUNT,
  601. sizeof(w3c.TotalPropfind),
  602. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPropfind)
  603. },
  604. { // W3TotalPropfindSec
  605. sizeof(PERF_COUNTER_DEFINITION),
  606. W3_TOTAL_PROPFIND_SEC,
  607. NULL,
  608. W3_TOTAL_PROPFIND_SEC,
  609. NULL,
  610. 0,
  611. PERF_DETAIL_ADVANCED,
  612. PERF_COUNTER_COUNTER,
  613. sizeof(w3c.TotalPropfind),
  614. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalPropfind)
  615. },
  616. { // W3TotalProppatch
  617. sizeof(PERF_COUNTER_DEFINITION),
  618. W3_TOTAL_PROPPATCH_COUNTER,
  619. NULL,
  620. W3_TOTAL_PROPPATCH_COUNTER,
  621. NULL,
  622. 0,
  623. PERF_DETAIL_ADVANCED,
  624. PERF_COUNTER_RAWCOUNT,
  625. sizeof(w3c.TotalProppatch),
  626. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalProppatch)
  627. },
  628. { // W3TotalProppatchSec
  629. sizeof(PERF_COUNTER_DEFINITION),
  630. W3_TOTAL_PROPPATCH_SEC,
  631. NULL,
  632. W3_TOTAL_PROPPATCH_SEC,
  633. NULL,
  634. 0,
  635. PERF_DETAIL_ADVANCED,
  636. PERF_COUNTER_COUNTER,
  637. sizeof(w3c.TotalProppatch),
  638. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalProppatch)
  639. },
  640. { // W3TotalSearch
  641. sizeof(PERF_COUNTER_DEFINITION),
  642. W3_TOTAL_SEARCH_COUNTER,
  643. NULL,
  644. W3_TOTAL_SEARCH_COUNTER,
  645. NULL,
  646. 0,
  647. PERF_DETAIL_ADVANCED,
  648. PERF_COUNTER_RAWCOUNT,
  649. sizeof(w3c.TotalSearch),
  650. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalSearch)
  651. },
  652. { // W3TotalSearchSec
  653. sizeof(PERF_COUNTER_DEFINITION),
  654. W3_TOTAL_SEARCH_SEC,
  655. NULL,
  656. W3_TOTAL_SEARCH_SEC,
  657. NULL,
  658. 0,
  659. PERF_DETAIL_ADVANCED,
  660. PERF_COUNTER_COUNTER,
  661. sizeof(w3c.TotalSearch),
  662. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalSearch)
  663. },
  664. { // W3TotalLock
  665. sizeof(PERF_COUNTER_DEFINITION),
  666. W3_TOTAL_LOCK_COUNTER,
  667. NULL,
  668. W3_TOTAL_LOCK_COUNTER,
  669. NULL,
  670. 0,
  671. PERF_DETAIL_ADVANCED,
  672. PERF_COUNTER_RAWCOUNT,
  673. sizeof(w3c.TotalLock),
  674. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalLock)
  675. },
  676. { // W3TotalLockSec
  677. sizeof(PERF_COUNTER_DEFINITION),
  678. W3_TOTAL_LOCK_SEC,
  679. NULL,
  680. W3_TOTAL_LOCK_SEC,
  681. NULL,
  682. 0,
  683. PERF_DETAIL_ADVANCED,
  684. PERF_COUNTER_COUNTER,
  685. sizeof(w3c.TotalLock),
  686. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalLock)
  687. },
  688. { // W3TotalUnlock
  689. sizeof(PERF_COUNTER_DEFINITION),
  690. W3_TOTAL_UNLOCK_COUNTER,
  691. NULL,
  692. W3_TOTAL_UNLOCK_COUNTER,
  693. NULL,
  694. 0,
  695. PERF_DETAIL_ADVANCED,
  696. PERF_COUNTER_RAWCOUNT,
  697. sizeof(w3c.TotalUnlock),
  698. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalUnlock)
  699. },
  700. { // W3TotalUnlockSec
  701. sizeof(PERF_COUNTER_DEFINITION),
  702. W3_TOTAL_UNLOCK_SEC,
  703. NULL,
  704. W3_TOTAL_UNLOCK_SEC,
  705. NULL,
  706. 0,
  707. PERF_DETAIL_ADVANCED,
  708. PERF_COUNTER_COUNTER,
  709. sizeof(w3c.TotalUnlock),
  710. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalUnlock)
  711. },
  712. { // W3TotalOthers
  713. sizeof(PERF_COUNTER_DEFINITION),
  714. W3_TOTAL_OTHERS_COUNTER,
  715. NULL,
  716. W3_TOTAL_OTHERS_COUNTER,
  717. NULL,
  718. 0,
  719. PERF_DETAIL_ADVANCED,
  720. PERF_COUNTER_RAWCOUNT,
  721. sizeof(w3c.TotalOthers),
  722. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalOthers)
  723. },
  724. { // W3TotalOthersSec
  725. sizeof(PERF_COUNTER_DEFINITION),
  726. W3_TOTAL_OTHERS_SEC,
  727. NULL,
  728. W3_TOTAL_OTHERS_SEC,
  729. NULL,
  730. 0,
  731. PERF_DETAIL_ADVANCED,
  732. PERF_COUNTER_COUNTER,
  733. sizeof(w3c.TotalOthers),
  734. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalOthers)
  735. },
  736. { // W3TotalRequests
  737. sizeof(PERF_COUNTER_DEFINITION),
  738. W3_TOTAL_REQUESTS_COUNTER,
  739. NULL,
  740. W3_TOTAL_REQUESTS_COUNTER,
  741. NULL,
  742. 0,
  743. PERF_DETAIL_ADVANCED,
  744. PERF_COUNTER_RAWCOUNT,
  745. sizeof(w3c.TotalRequests),
  746. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalRequests)
  747. },
  748. { // W3TotalRequestsSec
  749. sizeof(PERF_COUNTER_DEFINITION),
  750. W3_TOTAL_REQUESTS_SEC,
  751. NULL,
  752. W3_TOTAL_REQUESTS_SEC,
  753. NULL,
  754. 0,
  755. PERF_DETAIL_ADVANCED,
  756. PERF_COUNTER_COUNTER,
  757. sizeof(w3c.TotalRequests),
  758. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalRequests)
  759. },
  760. { // W3TotalCGIRequests
  761. sizeof(PERF_COUNTER_DEFINITION),
  762. W3_TOTAL_CGI_REQUESTS_COUNTER,
  763. NULL,
  764. W3_TOTAL_CGI_REQUESTS_COUNTER,
  765. NULL,
  766. 0,
  767. PERF_DETAIL_ADVANCED,
  768. PERF_COUNTER_RAWCOUNT,
  769. sizeof(w3c.TotalCGIRequests),
  770. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalCGIRequests)
  771. },
  772. { // W3TotalCGIRequestsSec
  773. sizeof(PERF_COUNTER_DEFINITION),
  774. W3_CGI_REQUESTS_SEC,
  775. NULL,
  776. W3_CGI_REQUESTS_SEC,
  777. NULL,
  778. 0,
  779. PERF_DETAIL_ADVANCED,
  780. PERF_COUNTER_COUNTER,
  781. sizeof(w3c.TotalCGIRequests),
  782. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalCGIRequests)
  783. },
  784. { // W3TotalBGIRequests
  785. sizeof(PERF_COUNTER_DEFINITION),
  786. W3_TOTAL_BGI_REQUESTS_COUNTER,
  787. NULL,
  788. W3_TOTAL_BGI_REQUESTS_COUNTER,
  789. NULL,
  790. 0,
  791. PERF_DETAIL_ADVANCED,
  792. PERF_COUNTER_RAWCOUNT,
  793. sizeof(w3c.TotalBGIRequests),
  794. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalBGIRequests)
  795. },
  796. { // W3TotalBGIRequestsSec
  797. sizeof(PERF_COUNTER_DEFINITION),
  798. W3_BGI_REQUESTS_SEC,
  799. NULL,
  800. W3_BGI_REQUESTS_SEC,
  801. NULL,
  802. 0,
  803. PERF_DETAIL_ADVANCED,
  804. PERF_COUNTER_COUNTER,
  805. sizeof(w3c.TotalBGIRequests),
  806. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalBGIRequests)
  807. },
  808. { // W3TotalNotFoundErrors
  809. sizeof(PERF_COUNTER_DEFINITION),
  810. W3_TOTAL_NOT_FOUND_ERRORS_COUNTER,
  811. NULL,
  812. W3_TOTAL_NOT_FOUND_ERRORS_COUNTER,
  813. NULL,
  814. 0,
  815. PERF_DETAIL_ADVANCED,
  816. PERF_COUNTER_RAWCOUNT,
  817. sizeof(w3c.TotalNotFoundErrors),
  818. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalNotFoundErrors)
  819. },
  820. { // W3TotalNotFoundErrorsSec
  821. sizeof(PERF_COUNTER_DEFINITION),
  822. W3_TOTAL_NOT_FOUND_ERRORS_SEC,
  823. NULL,
  824. W3_TOTAL_NOT_FOUND_ERRORS_SEC,
  825. NULL,
  826. 0,
  827. PERF_DETAIL_ADVANCED,
  828. PERF_COUNTER_COUNTER,
  829. sizeof(w3c.TotalNotFoundErrors),
  830. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalNotFoundErrors)
  831. },
  832. { // W3TotalLockedErrors
  833. sizeof(PERF_COUNTER_DEFINITION),
  834. W3_TOTAL_LOCKED_ERRORS_COUNTER,
  835. NULL,
  836. W3_TOTAL_LOCKED_ERRORS_COUNTER,
  837. NULL,
  838. 0,
  839. PERF_DETAIL_ADVANCED,
  840. PERF_COUNTER_RAWCOUNT,
  841. sizeof(w3c.TotalLockedErrors),
  842. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalLockedErrors)
  843. },
  844. { // W3TotalLockedErrorsSec
  845. sizeof(PERF_COUNTER_DEFINITION),
  846. W3_TOTAL_LOCKED_ERRORS_SEC,
  847. NULL,
  848. W3_TOTAL_LOCKED_ERRORS_SEC,
  849. NULL,
  850. 0,
  851. PERF_DETAIL_ADVANCED,
  852. PERF_COUNTER_COUNTER,
  853. sizeof(w3c.TotalLockedErrors),
  854. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalLockedErrors)
  855. },
  856. { // W3CurrentCGI
  857. sizeof(PERF_COUNTER_DEFINITION),
  858. W3_CURRENT_CGI_COUNTER,
  859. NULL,
  860. W3_CURRENT_CGI_COUNTER,
  861. NULL,
  862. 0,
  863. PERF_DETAIL_ADVANCED,
  864. PERF_COUNTER_RAWCOUNT,
  865. sizeof(w3c.CurrentCGIRequests),
  866. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentCGIRequests)
  867. },
  868. { // W3CurrentBGI
  869. sizeof(PERF_COUNTER_DEFINITION),
  870. W3_CURRENT_BGI_COUNTER,
  871. NULL,
  872. W3_CURRENT_BGI_COUNTER,
  873. NULL,
  874. 0,
  875. PERF_DETAIL_ADVANCED,
  876. PERF_COUNTER_RAWCOUNT,
  877. sizeof(w3c.CurrentBGIRequests),
  878. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentBGIRequests)
  879. },
  880. { // W3MaxCGI
  881. sizeof(PERF_COUNTER_DEFINITION),
  882. W3_MAX_CGI_COUNTER,
  883. NULL,
  884. W3_MAX_CGI_COUNTER,
  885. NULL,
  886. 0,
  887. PERF_DETAIL_ADVANCED,
  888. PERF_COUNTER_RAWCOUNT,
  889. sizeof(w3c.MaxCGIRequests),
  890. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxCGIRequests)
  891. },
  892. { // W3MaxBGI
  893. sizeof(PERF_COUNTER_DEFINITION),
  894. W3_MAX_BGI_COUNTER,
  895. NULL,
  896. W3_MAX_BGI_COUNTER,
  897. NULL,
  898. 0,
  899. PERF_DETAIL_ADVANCED,
  900. PERF_COUNTER_RAWCOUNT,
  901. sizeof(w3c.MaxBGIRequests),
  902. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxBGIRequests)
  903. },
  904. { // W3CurrentCalAuth
  905. sizeof(PERF_COUNTER_DEFINITION),
  906. W3_CURRENT_CAL_AUTH_COUNTER,
  907. NULL,
  908. W3_CURRENT_CAL_AUTH_COUNTER,
  909. NULL,
  910. 0,
  911. PERF_DETAIL_ADVANCED,
  912. PERF_COUNTER_RAWCOUNT,
  913. sizeof(w3c.CurrentCalAuth),
  914. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentCalAuth)
  915. },
  916. { // W3MaxCalAuth
  917. sizeof(PERF_COUNTER_DEFINITION),
  918. W3_MAX_CAL_AUTH_COUNTER,
  919. NULL,
  920. W3_MAX_CAL_AUTH_COUNTER,
  921. NULL,
  922. 0,
  923. PERF_DETAIL_ADVANCED,
  924. PERF_COUNTER_RAWCOUNT,
  925. sizeof(w3c.MaxCalAuth),
  926. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxCalAuth)
  927. },
  928. { // W3TotalFailedCalAuth
  929. sizeof(PERF_COUNTER_DEFINITION),
  930. W3_TOTAL_FAILED_CAL_AUTH_COUNTER,
  931. NULL,
  932. W3_TOTAL_FAILED_CAL_AUTH_COUNTER,
  933. NULL,
  934. 0,
  935. PERF_DETAIL_ADVANCED,
  936. PERF_COUNTER_RAWCOUNT,
  937. sizeof(w3c.TotalFailedCalAuth),
  938. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalFailedCalAuth)
  939. },
  940. { // W3CurrentCalSsl
  941. sizeof(PERF_COUNTER_DEFINITION),
  942. W3_CURRENT_CAL_SSL_COUNTER,
  943. NULL,
  944. W3_CURRENT_CAL_SSL_COUNTER,
  945. NULL,
  946. 0,
  947. PERF_DETAIL_ADVANCED,
  948. PERF_COUNTER_RAWCOUNT,
  949. sizeof(w3c.CurrentCalSsl),
  950. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentCalSsl)
  951. },
  952. { // W3MaxCalSsl
  953. sizeof(PERF_COUNTER_DEFINITION),
  954. W3_MAX_CAL_SSL_COUNTER,
  955. NULL,
  956. W3_MAX_CAL_SSL_COUNTER,
  957. NULL,
  958. 0,
  959. PERF_DETAIL_ADVANCED,
  960. PERF_COUNTER_RAWCOUNT,
  961. sizeof(w3c.MaxCalSsl),
  962. FIELD_OFFSET(W3_COUNTER_BLOCK, MaxCalSsl)
  963. },
  964. { // W3TotalFailedCalSsl
  965. sizeof(PERF_COUNTER_DEFINITION),
  966. W3_TOTAL_FAILED_CAL_SSL_COUNTER,
  967. NULL,
  968. W3_TOTAL_FAILED_CAL_SSL_COUNTER,
  969. NULL,
  970. 0,
  971. PERF_DETAIL_ADVANCED,
  972. PERF_COUNTER_RAWCOUNT,
  973. sizeof(w3c.TotalFailedCalSsl),
  974. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalFailedCalSsl)
  975. },
  976. { // W3BlockedRequests
  977. sizeof(PERF_COUNTER_DEFINITION),
  978. W3_BLOCKED_REQUESTS_COUNTER,
  979. 0,
  980. W3_BLOCKED_REQUESTS_COUNTER,
  981. 0,
  982. 0,
  983. PERF_DETAIL_ADVANCED,
  984. PERF_COUNTER_RAWCOUNT,
  985. sizeof(w3c.BlockedRequests),
  986. FIELD_OFFSET(W3_COUNTER_BLOCK, BlockedRequests)
  987. },
  988. { // W3AllowedRequests
  989. sizeof(PERF_COUNTER_DEFINITION),
  990. W3_ALLOWED_REQUESTS_COUNTER,
  991. 0,
  992. W3_ALLOWED_REQUESTS_COUNTER,
  993. 0,
  994. 0,
  995. PERF_DETAIL_ADVANCED,
  996. PERF_COUNTER_RAWCOUNT,
  997. sizeof(w3c.AllowedRequests),
  998. FIELD_OFFSET(W3_COUNTER_BLOCK, AllowedRequests)
  999. },
  1000. { // W3RejectedRequests
  1001. sizeof(PERF_COUNTER_DEFINITION),
  1002. W3_REJECTED_REQUESTS_COUNTER,
  1003. 0,
  1004. W3_REJECTED_REQUESTS_COUNTER,
  1005. 0,
  1006. 0,
  1007. PERF_DETAIL_ADVANCED,
  1008. PERF_COUNTER_RAWCOUNT,
  1009. sizeof(w3c.RejectedRequests),
  1010. FIELD_OFFSET(W3_COUNTER_BLOCK, RejectedRequests)
  1011. },
  1012. { // W3CurrentBlockedRequests
  1013. sizeof(PERF_COUNTER_DEFINITION),
  1014. W3_CURRENT_BLOCKED_REQUESTS_COUNTER,
  1015. 0,
  1016. W3_CURRENT_BLOCKED_REQUESTS_COUNTER,
  1017. 0,
  1018. 0,
  1019. PERF_DETAIL_ADVANCED,
  1020. PERF_COUNTER_RAWCOUNT,
  1021. sizeof(w3c.CurrentBlockedRequests),
  1022. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentBlockedRequests)
  1023. },
  1024. { // W3MeasuredBandwidth
  1025. sizeof(PERF_COUNTER_DEFINITION),
  1026. W3_MEASURED_BANDWIDTH_COUNTER,
  1027. NULL,
  1028. W3_MEASURED_BANDWIDTH_COUNTER,
  1029. NULL,
  1030. 0,
  1031. PERF_DETAIL_ADVANCED,
  1032. PERF_COUNTER_RAWCOUNT,
  1033. sizeof(w3c.MeasuredBandwidth),
  1034. FIELD_OFFSET(W3_COUNTER_BLOCK, MeasuredBandwidth)
  1035. },
  1036. { // W3TotalBlockedBandwidthBytes
  1037. sizeof(PERF_COUNTER_DEFINITION),
  1038. W3_TOTAL_BLOCKED_BANDWIDTH_BYTES_COUNTER,
  1039. NULL,
  1040. W3_TOTAL_BLOCKED_BANDWIDTH_BYTES_COUNTER,
  1041. NULL,
  1042. 0,
  1043. PERF_DETAIL_ADVANCED,
  1044. PERF_COUNTER_RAWCOUNT,
  1045. sizeof(w3c.TotalBlockedBandwidthBytes),
  1046. FIELD_OFFSET(W3_COUNTER_BLOCK, TotalBlockedBandwidthBytes)
  1047. },
  1048. { // W3CurrentBlockedBandwidthBytes
  1049. sizeof(PERF_COUNTER_DEFINITION),
  1050. W3_CURRENT_BLOCKED_BANDWIDTH_BYTES_COUNTER,
  1051. NULL,
  1052. W3_CURRENT_BLOCKED_BANDWIDTH_BYTES_COUNTER,
  1053. NULL,
  1054. 0,
  1055. PERF_DETAIL_ADVANCED,
  1056. PERF_COUNTER_RAWCOUNT,
  1057. sizeof(w3c.CurrentBlockedBandwidthBytes),
  1058. FIELD_OFFSET(W3_COUNTER_BLOCK, CurrentBlockedBandwidthBytes)
  1059. },
  1060. { // W3ServiceUptime
  1061. sizeof(PERF_COUNTER_DEFINITION),
  1062. W3_SERVICE_UPTIME_COUNTER,
  1063. NULL,
  1064. W3_SERVICE_UPTIME_COUNTER,
  1065. NULL,
  1066. 0,
  1067. PERF_DETAIL_ADVANCED,
  1068. PERF_COUNTER_RAWCOUNT,
  1069. sizeof(w3c.ServiceUptime),
  1070. FIELD_OFFSET(W3_COUNTER_BLOCK, ServiceUptime)
  1071. }
  1072. };
  1073. //
  1074. // Global Data Structure.
  1075. //
  1076. //
  1077. // Initialize the constant portitions of these data structure.
  1078. // Certain parts (especially the name/help indices) will be
  1079. // updated at initialization time.
  1080. //
  1081. W3_GLOBAL_DATA_DEFINITION W3GlobalDataDefinition =
  1082. {
  1083. { // W3GlobalObjectType
  1084. sizeof(W3_GLOBAL_DATA_DEFINITION), // + sizeof (W3_COUNTER_BLOCK),
  1085. sizeof(W3_GLOBAL_DATA_DEFINITION),
  1086. sizeof(PERF_OBJECT_TYPE),
  1087. W3_GLOBAL_COUNTER_OBJECT,
  1088. NULL,
  1089. W3_GLOBAL_COUNTER_OBJECT,
  1090. NULL,
  1091. PERF_DETAIL_ADVANCED,
  1092. NUMBER_OF_W3_GLOBAL_COUNTERS,
  1093. 2, // Default = ???
  1094. PERF_NO_INSTANCES,
  1095. 0,
  1096. { 0, 0 },
  1097. { 0, 0 }
  1098. },
  1099. { // CurrentFilesCached
  1100. sizeof(PERF_COUNTER_DEFINITION),
  1101. W3_GLOBAL_CURRENT_FILES_CACHED_COUNTER,
  1102. NULL,
  1103. W3_GLOBAL_CURRENT_FILES_CACHED_COUNTER,
  1104. NULL,
  1105. 0,
  1106. PERF_DETAIL_ADVANCED,
  1107. PERF_COUNTER_RAWCOUNT,
  1108. sizeof(IISGlobal.CurrentFilesCached),
  1109. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, CurrentFilesCached)
  1110. },
  1111. { // TotalFilesCached
  1112. sizeof(PERF_COUNTER_DEFINITION),
  1113. W3_GLOBAL_TOTAL_FILES_CACHED_COUNTER,
  1114. NULL,
  1115. W3_GLOBAL_TOTAL_FILES_CACHED_COUNTER,
  1116. NULL,
  1117. 0,
  1118. PERF_DETAIL_ADVANCED,
  1119. PERF_COUNTER_RAWCOUNT,
  1120. sizeof(IISGlobal.TotalFilesCached),
  1121. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalFilesCached)
  1122. },
  1123. { // FileCacheHits
  1124. sizeof(PERF_COUNTER_DEFINITION),
  1125. W3_GLOBAL_FILE_CACHE_HITS_COUNTER,
  1126. NULL,
  1127. W3_GLOBAL_FILE_CACHE_HITS_COUNTER,
  1128. NULL,
  1129. 0,
  1130. PERF_DETAIL_ADVANCED,
  1131. PERF_COUNTER_RAWCOUNT,
  1132. sizeof(IISGlobal.FileCacheHits),
  1133. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, FileCacheHits)
  1134. },
  1135. { // FileCacheMisses
  1136. sizeof(PERF_COUNTER_DEFINITION),
  1137. W3_GLOBAL_FILE_CACHE_MISSES_COUNTER,
  1138. NULL,
  1139. W3_GLOBAL_FILE_CACHE_MISSES_COUNTER,
  1140. NULL,
  1141. 0,
  1142. PERF_DETAIL_ADVANCED,
  1143. PERF_COUNTER_RAWCOUNT,
  1144. sizeof(IISGlobal.FileCacheMisses),
  1145. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, FileCacheMisses)
  1146. },
  1147. { // Calculated ratio of hits to total requests. - Numerator (cache hits)
  1148. sizeof(PERF_COUNTER_DEFINITION),
  1149. W3_GLOBAL_FILE_CACHE_HIT_RATIO_COUNTER,
  1150. NULL,
  1151. W3_GLOBAL_FILE_CACHE_HIT_RATIO_COUNTER,
  1152. NULL,
  1153. 0,
  1154. PERF_DETAIL_ADVANCED,
  1155. PERF_RAW_FRACTION,
  1156. sizeof(IISGlobal.FileCacheHits),
  1157. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, FileCacheHits)
  1158. },
  1159. { // Calculated ratio of hits to total requests - Denominator, (hits + misses)
  1160. // Not Displayed
  1161. sizeof(PERF_COUNTER_DEFINITION),
  1162. W3_GLOBAL_FILE_CACHE_HIT_RATIO_COUNTER_DENOM,
  1163. NULL,
  1164. W3_GLOBAL_FILE_CACHE_HIT_RATIO_COUNTER_DENOM,
  1165. NULL,
  1166. 0,
  1167. PERF_DETAIL_ADVANCED,
  1168. PERF_RAW_BASE,
  1169. sizeof(IISGlobal.FileCacheHitRatio),
  1170. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, FileCacheHitRatio)
  1171. },
  1172. { // FileCacheFlushes
  1173. sizeof(PERF_COUNTER_DEFINITION),
  1174. W3_GLOBAL_FILE_CACHE_FLUSHES_COUNTER,
  1175. NULL,
  1176. W3_GLOBAL_FILE_CACHE_FLUSHES_COUNTER,
  1177. NULL,
  1178. 0,
  1179. PERF_DETAIL_ADVANCED,
  1180. PERF_COUNTER_RAWCOUNT,
  1181. sizeof(IISGlobal.FileCacheFlushes),
  1182. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, FileCacheFlushes)
  1183. },
  1184. { // CurrentFileCacheMemoryUsage
  1185. sizeof(PERF_COUNTER_DEFINITION),
  1186. W3_GLOBAL_CURRENT_FILE_CACHE_MEMORY_USAGE_COUNTER,
  1187. NULL,
  1188. W3_GLOBAL_CURRENT_FILE_CACHE_MEMORY_USAGE_COUNTER,
  1189. NULL,
  1190. 0,
  1191. PERF_DETAIL_ADVANCED,
  1192. PERF_COUNTER_LARGE_RAWCOUNT,
  1193. sizeof(IISGlobal.CurrentFileCacheMemoryUsage),
  1194. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, CurrentFileCacheMemoryUsage)
  1195. },
  1196. { // MaxFileCacheMemoryUsage
  1197. sizeof(PERF_COUNTER_DEFINITION),
  1198. W3_GLOBAL_MAX_FILE_CACHE_MEMORY_USAGE_COUNTER,
  1199. NULL,
  1200. W3_GLOBAL_MAX_FILE_CACHE_MEMORY_USAGE_COUNTER,
  1201. NULL,
  1202. 0,
  1203. PERF_DETAIL_ADVANCED,
  1204. PERF_COUNTER_LARGE_RAWCOUNT,
  1205. sizeof(IISGlobal.MaxFileCacheMemoryUsage),
  1206. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, MaxFileCacheMemoryUsage)
  1207. },
  1208. { // ActiveFlushedFiles
  1209. sizeof(PERF_COUNTER_DEFINITION),
  1210. W3_GLOBAL_ACTIVE_FLUSHED_FILES_COUNTER,
  1211. NULL,
  1212. W3_GLOBAL_ACTIVE_FLUSHED_FILES_COUNTER,
  1213. NULL,
  1214. 0,
  1215. PERF_DETAIL_ADVANCED,
  1216. PERF_COUNTER_RAWCOUNT,
  1217. sizeof(IISGlobal.ActiveFlushedFiles),
  1218. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, ActiveFlushedFiles)
  1219. },
  1220. { // TotalFlushedFiles
  1221. sizeof(PERF_COUNTER_DEFINITION),
  1222. W3_GLOBAL_TOTAL_FLUSHED_FILES_COUNTER,
  1223. NULL,
  1224. W3_GLOBAL_TOTAL_FLUSHED_FILES_COUNTER,
  1225. NULL,
  1226. 0,
  1227. PERF_DETAIL_ADVANCED,
  1228. PERF_COUNTER_RAWCOUNT,
  1229. sizeof(IISGlobal.TotalFlushedFiles),
  1230. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalFlushedFiles)
  1231. },
  1232. { // CurrentUrisCached
  1233. sizeof(PERF_COUNTER_DEFINITION),
  1234. W3_GLOBAL_CURRENT_URIS_CACHED_COUNTER,
  1235. NULL,
  1236. W3_GLOBAL_CURRENT_URIS_CACHED_COUNTER,
  1237. NULL,
  1238. 0,
  1239. PERF_DETAIL_ADVANCED,
  1240. PERF_COUNTER_RAWCOUNT,
  1241. sizeof(IISGlobal.CurrentUrisCached),
  1242. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, CurrentUrisCached)
  1243. },
  1244. { // TotalUrisCached
  1245. sizeof(PERF_COUNTER_DEFINITION),
  1246. W3_GLOBAL_TOTAL_URIS_CACHED_COUNTER,
  1247. NULL,
  1248. W3_GLOBAL_TOTAL_URIS_CACHED_COUNTER,
  1249. NULL,
  1250. 0,
  1251. PERF_DETAIL_ADVANCED,
  1252. PERF_COUNTER_RAWCOUNT,
  1253. sizeof(IISGlobal.TotalUrisCached),
  1254. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalUrisCached)
  1255. },
  1256. { // UriCacheHits
  1257. sizeof(PERF_COUNTER_DEFINITION),
  1258. W3_GLOBAL_URI_CACHE_HITS_COUNTER,
  1259. NULL,
  1260. W3_GLOBAL_URI_CACHE_HITS_COUNTER,
  1261. NULL,
  1262. 0,
  1263. PERF_DETAIL_ADVANCED,
  1264. PERF_COUNTER_RAWCOUNT,
  1265. sizeof(IISGlobal.UriCacheHits),
  1266. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UriCacheHits)
  1267. },
  1268. { // UriCacheMisses
  1269. sizeof(PERF_COUNTER_DEFINITION),
  1270. W3_GLOBAL_URI_CACHE_MISSES_COUNTER,
  1271. NULL,
  1272. W3_GLOBAL_URI_CACHE_MISSES_COUNTER,
  1273. NULL,
  1274. 0,
  1275. PERF_DETAIL_ADVANCED,
  1276. PERF_COUNTER_RAWCOUNT,
  1277. sizeof(IISGlobal.UriCacheMisses),
  1278. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UriCacheMisses)
  1279. },
  1280. { // Calculated ratio of hits to total requests. - Numerator (cache hits)
  1281. sizeof(PERF_COUNTER_DEFINITION),
  1282. W3_GLOBAL_URI_CACHE_HIT_RATIO_COUNTER,
  1283. NULL,
  1284. W3_GLOBAL_URI_CACHE_HIT_RATIO_COUNTER,
  1285. NULL,
  1286. 0,
  1287. PERF_DETAIL_ADVANCED,
  1288. PERF_RAW_FRACTION,
  1289. sizeof(IISGlobal.UriCacheHits),
  1290. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UriCacheHits)
  1291. },
  1292. { // Calculated ratio of hits to total requests - Denominator, (hits + misses)
  1293. // Not Displayed
  1294. sizeof(PERF_COUNTER_DEFINITION),
  1295. W3_GLOBAL_URI_CACHE_HIT_RATIO_COUNTER_DENOM,
  1296. NULL,
  1297. W3_GLOBAL_URI_CACHE_HIT_RATIO_COUNTER_DENOM,
  1298. NULL,
  1299. 0,
  1300. PERF_DETAIL_ADVANCED,
  1301. PERF_RAW_BASE,
  1302. sizeof(IISGlobal.UriCacheHitRatio),
  1303. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UriCacheHitRatio)
  1304. },
  1305. { // UriCacheFlushes
  1306. sizeof(PERF_COUNTER_DEFINITION),
  1307. W3_GLOBAL_URI_CACHE_FLUSHES_COUNTER,
  1308. NULL,
  1309. W3_GLOBAL_URI_CACHE_FLUSHES_COUNTER,
  1310. NULL,
  1311. 0,
  1312. PERF_DETAIL_ADVANCED,
  1313. PERF_COUNTER_RAWCOUNT,
  1314. sizeof(IISGlobal.UriCacheFlushes),
  1315. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UriCacheFlushes)
  1316. },
  1317. { // TotalFlushedUris
  1318. sizeof(PERF_COUNTER_DEFINITION),
  1319. W3_GLOBAL_TOTAL_FLUSHED_URIS_COUNTER,
  1320. NULL,
  1321. W3_GLOBAL_TOTAL_FLUSHED_URIS_COUNTER,
  1322. NULL,
  1323. 0,
  1324. PERF_DETAIL_ADVANCED,
  1325. PERF_COUNTER_RAWCOUNT,
  1326. sizeof(IISGlobal.TotalFlushedUris),
  1327. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalFlushedUris)
  1328. },
  1329. { // CurrentBlobsCached
  1330. sizeof(PERF_COUNTER_DEFINITION),
  1331. W3_GLOBAL_CURRENT_METADATA_CACHED_COUNTER,
  1332. NULL,
  1333. W3_GLOBAL_CURRENT_METADATA_CACHED_COUNTER,
  1334. NULL,
  1335. 0,
  1336. PERF_DETAIL_ADVANCED,
  1337. PERF_COUNTER_RAWCOUNT,
  1338. sizeof(IISGlobal.CurrentBlobsCached),
  1339. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, CurrentBlobsCached)
  1340. },
  1341. { // TotalBlobsCached
  1342. sizeof(PERF_COUNTER_DEFINITION),
  1343. W3_GLOBAL_TOTAL_METADATA_CACHED_COUNTER,
  1344. NULL,
  1345. W3_GLOBAL_TOTAL_METADATA_CACHED_COUNTER,
  1346. NULL,
  1347. 0,
  1348. PERF_DETAIL_ADVANCED,
  1349. PERF_COUNTER_RAWCOUNT,
  1350. sizeof(IISGlobal.TotalBlobsCached),
  1351. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalBlobsCached)
  1352. },
  1353. { // BlobCacheHits
  1354. sizeof(PERF_COUNTER_DEFINITION),
  1355. W3_GLOBAL_METADATA_CACHE_HITS_COUNTER,
  1356. NULL,
  1357. W3_GLOBAL_METADATA_CACHE_HITS_COUNTER,
  1358. NULL,
  1359. 0,
  1360. PERF_DETAIL_ADVANCED,
  1361. PERF_COUNTER_RAWCOUNT,
  1362. sizeof(IISGlobal.BlobCacheHits),
  1363. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, BlobCacheHits)
  1364. },
  1365. { // BlobCacheMisses
  1366. sizeof(PERF_COUNTER_DEFINITION),
  1367. W3_GLOBAL_METADATA_CACHE_MISSES_COUNTER,
  1368. NULL,
  1369. W3_GLOBAL_METADATA_CACHE_MISSES_COUNTER,
  1370. NULL,
  1371. 0,
  1372. PERF_DETAIL_ADVANCED,
  1373. PERF_COUNTER_RAWCOUNT,
  1374. sizeof(IISGlobal.BlobCacheMisses),
  1375. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, BlobCacheMisses)
  1376. },
  1377. { // Calculated ratio of hits to total requests. - Numerator (cache hits)
  1378. sizeof(PERF_COUNTER_DEFINITION),
  1379. W3_GLOBAL_METADATA_CACHE_HIT_RATIO_COUNTER,
  1380. NULL,
  1381. W3_GLOBAL_METADATA_CACHE_HIT_RATIO_COUNTER,
  1382. NULL,
  1383. 0,
  1384. PERF_DETAIL_ADVANCED,
  1385. PERF_RAW_FRACTION,
  1386. sizeof(IISGlobal.BlobCacheHits),
  1387. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, BlobCacheHits)
  1388. },
  1389. { // Calculated ratio of hits to total requests - Denominator, (hits + misses)
  1390. // Not Displayed
  1391. sizeof(PERF_COUNTER_DEFINITION),
  1392. W3_GLOBAL_METADATA_CACHE_HIT_RATIO_COUNTER_DENOM,
  1393. NULL,
  1394. W3_GLOBAL_METADATA_CACHE_HIT_RATIO_COUNTER_DENOM,
  1395. NULL,
  1396. 0,
  1397. PERF_DETAIL_ADVANCED,
  1398. PERF_RAW_BASE,
  1399. sizeof(IISGlobal.BlobCacheHitRatio),
  1400. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, BlobCacheHitRatio)
  1401. },
  1402. { // BlobCacheFlushes
  1403. sizeof(PERF_COUNTER_DEFINITION),
  1404. W3_GLOBAL_METADATA_CACHE_FLUSHES_COUNTER,
  1405. NULL,
  1406. W3_GLOBAL_METADATA_CACHE_FLUSHES_COUNTER,
  1407. NULL,
  1408. 0,
  1409. PERF_DETAIL_ADVANCED,
  1410. PERF_COUNTER_RAWCOUNT,
  1411. sizeof(IISGlobal.BlobCacheFlushes),
  1412. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, BlobCacheFlushes)
  1413. },
  1414. { // TotalFlushedBlobs
  1415. sizeof(PERF_COUNTER_DEFINITION),
  1416. W3_GLOBAL_TOTAL_FLUSHED_METADATA_COUNTER,
  1417. NULL,
  1418. W3_GLOBAL_TOTAL_FLUSHED_METADATA_COUNTER,
  1419. NULL,
  1420. 0,
  1421. PERF_DETAIL_ADVANCED,
  1422. PERF_COUNTER_RAWCOUNT,
  1423. sizeof(IISGlobal.TotalFlushedBlobs),
  1424. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, TotalFlushedBlobs)
  1425. },
  1426. { // UlCurrentUrisCached
  1427. sizeof(PERF_COUNTER_DEFINITION),
  1428. W3_GLOBAL_KERNEL_CURRENT_URIS_CACHED_COUNTER,
  1429. NULL,
  1430. W3_GLOBAL_KERNEL_CURRENT_URIS_CACHED_COUNTER,
  1431. NULL,
  1432. 0,
  1433. PERF_DETAIL_ADVANCED,
  1434. PERF_COUNTER_RAWCOUNT,
  1435. sizeof(IISGlobal.UlCurrentUrisCached),
  1436. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlCurrentUrisCached)
  1437. },
  1438. { // UlTotalUrisCached
  1439. sizeof(PERF_COUNTER_DEFINITION),
  1440. W3_GLOBAL_KERNEL_TOTAL_URIS_CACHED_COUNTER,
  1441. NULL,
  1442. W3_GLOBAL_KERNEL_TOTAL_URIS_CACHED_COUNTER,
  1443. NULL,
  1444. 0,
  1445. PERF_DETAIL_ADVANCED,
  1446. PERF_COUNTER_RAWCOUNT,
  1447. sizeof(IISGlobal.UlTotalUrisCached),
  1448. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlTotalUrisCached)
  1449. },
  1450. { // UlUriCacheHits
  1451. sizeof(PERF_COUNTER_DEFINITION),
  1452. W3_GLOBAL_KERNEL_URI_CACHE_HITS_COUNTER,
  1453. NULL,
  1454. W3_GLOBAL_KERNEL_URI_CACHE_HITS_COUNTER,
  1455. NULL,
  1456. 0,
  1457. PERF_DETAIL_ADVANCED,
  1458. PERF_COUNTER_RAWCOUNT,
  1459. sizeof(IISGlobal.UlUriCacheHits),
  1460. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheHits)
  1461. },
  1462. { // UlUriCacheHitsPerSec
  1463. sizeof(PERF_COUNTER_DEFINITION),
  1464. W3_GLOBAL_KERNEL_URI_CACHE_HITS_PER_SEC,
  1465. NULL,
  1466. W3_GLOBAL_KERNEL_URI_CACHE_HITS_PER_SEC,
  1467. NULL,
  1468. 0,
  1469. PERF_DETAIL_ADVANCED,
  1470. PERF_COUNTER_COUNTER,
  1471. sizeof(IISGlobal.UlUriCacheHits),
  1472. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheHits)
  1473. },
  1474. { // UlUriCacheMisses
  1475. sizeof(PERF_COUNTER_DEFINITION),
  1476. W3_GLOBAL_KERNEL_URI_CACHE_MISSES_COUNTER,
  1477. NULL,
  1478. W3_GLOBAL_KERNEL_URI_CACHE_MISSES_COUNTER,
  1479. NULL,
  1480. 0,
  1481. PERF_DETAIL_ADVANCED,
  1482. PERF_COUNTER_RAWCOUNT,
  1483. sizeof(IISGlobal.UlUriCacheMisses),
  1484. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheMisses)
  1485. },
  1486. { // Calculated ratio of hits to total requests. - Numerator (cache hits)
  1487. sizeof(PERF_COUNTER_DEFINITION),
  1488. W3_GLOBAL_KERNEL_URI_CACHE_HIT_RATIO_COUNTER,
  1489. NULL,
  1490. W3_GLOBAL_KERNEL_URI_CACHE_HIT_RATIO_COUNTER,
  1491. NULL,
  1492. 0,
  1493. PERF_DETAIL_ADVANCED,
  1494. PERF_RAW_FRACTION,
  1495. sizeof(IISGlobal.UlUriCacheHits),
  1496. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheHits)
  1497. },
  1498. { // Calculated ratio of hits to total requests - Denominator, (hits + misses)
  1499. // Not Displayed
  1500. sizeof(PERF_COUNTER_DEFINITION),
  1501. W3_GLOBAL_KERNEL_URI_CACHE_HIT_RATIO_COUNTER_DENOM,
  1502. NULL,
  1503. W3_GLOBAL_KERNEL_URI_CACHE_HIT_RATIO_COUNTER_DENOM,
  1504. NULL,
  1505. 0,
  1506. PERF_DETAIL_ADVANCED,
  1507. PERF_RAW_BASE,
  1508. sizeof(IISGlobal.UlUriCacheHitRatio),
  1509. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheHitRatio)
  1510. },
  1511. { // UlUriCacheFlushes
  1512. sizeof(PERF_COUNTER_DEFINITION),
  1513. W3_GLOBAL_KERNEL_URI_CACHE_FLUSHES_COUNTER,
  1514. NULL,
  1515. W3_GLOBAL_KERNEL_URI_CACHE_FLUSHES_COUNTER,
  1516. NULL,
  1517. 0,
  1518. PERF_DETAIL_ADVANCED,
  1519. PERF_COUNTER_RAWCOUNT,
  1520. sizeof(IISGlobal.UlUriCacheFlushes),
  1521. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlUriCacheFlushes)
  1522. },
  1523. { // UlTotalFlushedUris
  1524. sizeof(PERF_COUNTER_DEFINITION),
  1525. W3_GLOBAL_KERNEL_TOTAL_FLUSHED_URIS_COUNTER,
  1526. NULL,
  1527. W3_GLOBAL_KERNEL_TOTAL_FLUSHED_URIS_COUNTER,
  1528. NULL,
  1529. 0,
  1530. PERF_DETAIL_ADVANCED,
  1531. PERF_COUNTER_RAWCOUNT,
  1532. sizeof(IISGlobal.UlTotalFlushedUris),
  1533. FIELD_OFFSET(W3_GLOBAL_COUNTER_BLOCK, UlTotalFlushedUris)
  1534. }
  1535. };