The analysis report component should produce automatic recommendations based on some domain-specific knowledge of heap objects etc. in specific .NET frameworks. Below is a list of potential ideas.
ASP.NET
[ ] Locks in session state (multiple ASP.NET requests operating on the same session)
[ ] Many threads reading/writing to HTTP buffers (may point to slow network)
[ ] Thread pool full of waiting jobs (too many requests hitting the server)
[ ] Controllers or WebPage objects surviving too many GCs (probably a memory leak as these should be fairly short-lived)
[ ] Large WebCache container (probably no default expiration)
Data providers
[ ] Locks on getting available connection from the connection pool (too many requests or too small pool)
[ ] Many threads in a read state from the data provider (database may be too slow to respond)
[ ] DbConnection and DbCommand objects on the f-reachable queue (should be Disposed instead)
[ ] Number of DB connection pools should not be too big (may point to mistyped connection strings)
[ ] Number of live database connections should not be too big
General
[ ] Large objects about to be reclaimed -- suggest to pool them
[ ] Similar call stacks of threads waiting for the same lock (contention)
[ ] Events with more than one event handler pointing to the same target (suggests a likely memory leak)
[ ] Stream object in the f-reachable queue where there is a corresponding StreamWriter on the heap that still has buffered data (the buffered data will be lost)
UWP
[ ] Several instances of the same Page or ViewModel that are still referenced (points to a likely memory leak)
(These ideas were brought forth by Ido Flatow and Ofir Makmal.)
The analysis report component should produce automatic recommendations based on some domain-specific knowledge of heap objects etc. in specific .NET frameworks. Below is a list of potential ideas.
ASP.NET
Controller
s orWebPage
objects surviving too many GCs (probably a memory leak as these should be fairly short-lived)WebCache
container (probably no default expiration)Data providers
DbConnection
andDbCommand
objects on the f-reachable queue (should beDispose
d instead)General
Stream
object in the f-reachable queue where there is a correspondingStreamWriter
on the heap that still has buffered data (the buffered data will be lost)UWP
Page
orViewModel
that are still referenced (points to a likely memory leak)(These ideas were brought forth by Ido Flatow and Ofir Makmal.)