Re: Brief overview
Matthew Mastracci <[email protected]> Tue, 11 Nov 2003 12:54:22 -0700
| Newsgroups | gmane.comp.windows.dotnet.nprof.devel |
|---|---|
| Message-ID | <1068580461.2430.3730.camel@matt> |
Hey Peter - glad to hear that you're interested in working on nprof. I can give you the basic architecture overview: To keep development simple, nprof is broken up into 4 layers: Layer 1: The C++ stub .dll: NProf.Hook.dll, injected into the target process. This .dll gathers profiling information, aggregates it and sends it via a local socket to Layer 2. The socket approach is used so that there isn't any extra configuration (the SciTech profiler uses a named pipe that requires some extra security configuration for ASP.NET profiling) Layer 2: The managed collector, NProf.Glue.Profiler.Core.ProfilerSocketServer. This layer listens on the socket that Layer 1 is writing to. It gathers the aggregated data and stores it in managed collections. Eventually, this layer will be responsible for firing certain COR events for "real-time" profiling (ie: viewing thread and appdomain start/stop info in realtime). It will also eventually be responsible for sending the profiler snapshot messages requested by the higher layers. Layer 3: The GUI classes in NProf.GUI. These GUI classes are responsible for "slicing and dicing" the managed data collections gathered by Layer 2. The GUI classes are embedded by Layer 4 to complete the application. Since both the VS.NET addin and the standalone application require the same GUI classes, they were separated out into their own layer. Layer 4: The application classes (NProf.VSNetAddin and NProf.Application). These are simple hosts for the GUI classes of Layer 3, as well as managers for the project information stored in NProf.Glue.Profiler.Project classes. They are designed to contain as little logic as possible. I posted some roadmap information on this mailing list. The two major features that nprof is missing right now are ASP.NET profiling and profile snapshot support. If you have a feature that you're interested in adding, however, please go ahead and do so. Let me know your Sourceforge ID and I can set you up for CVS access. If you have any questions, let me know and I'll try to answer them. Matt. On Tue, 2003-11-11 at 10:09, Peter Lee wrote: > Can anyone point me to a location with an overview of the general > design of nprof? I'd like to jump in and start helping out with this > project, and a high level design would give me a head start before > diving into the code. > > Thanks. > > > > ------------------------------------------------------- > This SF.Net email sponsored by: ApacheCon 2003, > 16-19 November in Las Vegas. Learn firsthand the latest > developments in Apache, PHP, Perl, XML, Java, MySQL, > WebDAV, and more! http://www.apachecon.com/ > _______________________________________________ > Nprof-developers mailing list > Nprof-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/nprof-developers -- Matthew Mastracci <[email protected]> ------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/