I'm trying to figure out a performance problem which regularly occurs, not sure if the subject line is a good description. I've got a PISDK application with multiple threads, each one creating an event pipe (different tags). The event pipe is being looked at every second (setting is for PI to update it every second from the server as well). Things will go along fine for a while, and then the the pipe will show no new events for a number of cycles (15 - 60 plus seconds) and then a large number of events (normally may be seeing around 100 events per second or so).
The periods that correspond to the event pipenot updating appear to coincide with delays in attempts to obtain a lock (seen in the message log) on tags subscribed to in the pipe. It appears that this is related to another SDK application which is either doing a summary operation or retrieving archive values for the same tag for a long (multiple week or month) period. Does the SDK lock a tag when it does an archive retrieval for it's values? If so, why?
Any thoughts or more in depth information on wht PI is locking when (and why) would be greatly appreciated.