Skip to content

Recommendations for analysis report #57

Description

@goldshtn

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.)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions