AnsweredAssumed Answered

Is there an efficient way to search for orphaned tags?

Question asked by ccruden on Feb 10, 2020
Latest reply on Nov 3, 2020 by DanBrancaccio

I'd like to search through the PI AF configuration for orphaned tags - that is to say, find tags which are defined in a particular PI server but not in a PI AF model which makes use of that server. Is there an efficient way to do this? At the moment, the only way I can find is to browse the entire PI AF model for elements with PI point attributes to catalog the points that are in the model, then browse the entire PI server for tags and remove the ones that aren't in the model...


Alternatively, if there are suggestions on efficient ways to browse the PI AF model and PI server as mentioned above, those are also welcome. The suggested way to browse the PI AF model from above seems to be loading the elements in batches. I've taken a breadth first search approach to this, browsing one level at a time, up to N many elements per load request until I'm through the level, then repeating. Anything better? For the PI server, the only approach seems to be PIPoint.FindPIPoints(server, new[] { "*" }) and let the underlying system take care of dynamic loads. Anything better there?


For that matter, is there anything which lets you know when the PI AF SDK is making an RPC call so you can measure the number of calls you're making and try to make them more efficient?