Hello, I am looking for some help on how to interpret the Log in the Diagnostic Monitor. I frequently experience lags and slow performance, so I had a look at the Diagnostic Monitor, but I don't understand what it is telling me.
What I see a lot is "CSharedQueue Stall timeout", often several in a row (up to 40 or 50!), which can take up to a minute, combined. Any clues what this is?
Another thing I noticed is, that AGP often seems to be accessing data that are not in any open map. I have observed this in several projects, actually.
The problem with this is, that some data are on network drives that are painstakingly slow, especially when accessed through our VPN when working from home. E. g. in the screenshot above it is an elevation raster on the X drive. I know that network drives and AGP don't go together well, but that is how my organisation provides our base layers. I have my own data and projects saved locally and avoid tasks that need layers from the network drive when working from home. This approach worked well in the past.
But it seems to go beyond unnecessary data access: Today I was amazed to see the log fill up with entries related to layer drawing, symbol drawing and label drawing. No map was open! Why did AGP draw one – or maybe even several? If I filter for any specific layer I get 10 instances each of Beginning of layer draw and End of layer draw. Did AGP just draw every layer in every map in the project, even though they where closed?
What I actually tried to do was create a new (empty) map. I had closed the one that was still open, so that only a catalog view remained, and then used the right-click-menu in the catalog pane to create the new map. It took AGP 5 minutes to get it done! But only the last few entries in the log seem to be related to this.
Am I completely misunderstanding the log? Is there any documentation for the Diagnostic Monitor (I searched, but couldn't find anything). Any help is appreciated!
Currently using version 3.5.2 with a concurrent use license
(but I checked the http tab and all entries seemed to be related to getting a basemap (which I did not need, as no map was open), and not to the licence manager).
@jorisfrenkel wrote:If you uncheck the layers in the maps that show the drawing actions in the log, do they still appear as being drawn? Of course then also uncheck the layers on your network drives that you don't use at home.
Interesting suggestion, I will try to monitor that. The log never says which map a layer belongs to, so I'll have to disable them in all maps.
Joins and relates are also a drag on performance, according to the document about troubleshooting performance, referred to above. ESRI suggests saving them as new feature classes.
Yeah, I've read that, but from a data management point of view it makes no sense. I would have loads of duplicate data which I'd have to maintain, with an immense potential for error. It would be the opposite of normalising the data, which I did when I started the job and inherited a data mess (with so many errors). And my data structure has proven itself to work quite well from a data management point of view – if anything I could split up one table even more. The idea was (still is) to get it into a real DBMS. But then I could not store it locally any more, anyway, and I'm not sure that would improve things.
Thank you for all your input and suggestions!
Thanks everyone for your insights and suggestions! What I take away is the confirmation that the network drives are a likely culprit.
This leaves the question why AGP seems to be accessing these data even if their not in any open map. (I have read somewhere that having many maps open will slow performance. By that reasoning closed maps should not cause trouble.)
I might actually try to contact Esri Support if I can find out how to do this in my organisation.
I'll also see if I can clean out my projects and check if all my join fields are indexed.