Performance Counters to monitor DirectoryServices.AccountManagement and Security.AccessControl activities RRS feed

  • Question

  • Hi Everyone,

    I'm writing an application that takes in a file name as input, and then extracts its ACLs using FileSecurity.GetAccessRules().  Once I have these ACLs, I go through and identify each group member, obtain a group principal using Principal.FindByIdentity(), and traverse group principals using GroupPrincipal.GetMembers().  Undoubtedly the first call is going to hit the share where the file is located, and the next two calls are going to translate into LDAP queries against the AD server. 

    I'm wondering, are there performance counters that I can attach to on the machine where the code runs so that I can monitor how hard I'm hitting each server?  The thing is that I'm not going to be able to attach a counter to the server iteself.  So Ideally, I would want to know how many bytes I'm sending out of this process per second.  I'm currently using category "Process", counter "IO Other Bytes/sec" to monitor activity.  However, this counter doesn't seem to map 1-to-1 from the data that it reports and the data that Perfmon reports on the network share / AD server.  The mapping seems to be more of a 1:5 relationship, so that when the local process reports that it's sending 10,000 bytes/sec, Perfmon reports that it's getting hit with 50,000 bytes/sec.  Is there a better counter to attach to? 

    The main point is that I want to be able to control the amount of data that this process sends to the AD server over a period of time.  If I were moving files around then I could keep track of this by the size of each file.  Though I'm not sure that this approach translates very well to LDAP queries.  Is there a better way to accomplish what I'm trying to implement?


    • Moved by SamAgain Monday, September 27, 2010 1:43 AM not bcl specific (From:.NET Base Class Library)
    Friday, September 24, 2010 7:34 PM