200 likes | 349 Vues
Enhanced Monitoring Tool Project. Project Presentation. By: David Nasi & Amitay Svetlit Supervisor: Oved Itzhak. Software Systems Lab Department of Electrical Engineering Technion - Israel Institute of Technology. Introduction.
E N D
Enhanced Monitoring Tool Project Project Presentation By: David Nasi & Amitay Svetlit Supervisor: Oved Itzhak Software Systems Lab Department of Electrical Engineering Technion - Israel Institute of Technology
Introduction • Enhanced Monitoring Tool is a software solution that enables to create, use and monitor custom Performance Counters based on existing Performance Counters in a Windows platform. • The EMT is implemented with full Microsoft Management Console (MMC) integration that lets system administrators create much more flexible user interfaces and customize administration tools.
Project Goals • Creating an infrastructure for adding and managing customized Performance Counters with given algorithmic abilities. • Provide the ability for the custom Counters to use information from existing Counters in the Windows as an input. • Provide the ability for the standard Windows tools to consume the custom counters. • An intuitive and convenient interface for managing the custom Counters. • Integration of the interface into the Microsoft Management Console (MMC).
Solution Proposed • Create new advanced system monitors (ASMs) using custom made algorithms to process data collected from existig system monitors. • The ASMs will be managed by a new MMC snap-in: EMT ("Enhanced Monitoring Tool").
Design & Software Architecture Design Integral Parts: • AbstractASM • Graphic Controls • Snap-in Algorithms Implemented: • Sum Algorithm • Sliding Window Algorithm • Total Percentage Algorithm
Abstract ASM Serves as the base class for all algorithms enabling a common interface for the ASM framework by implementing InitASM & CalculateASM methods.
ASMEditConrol ASMEditConrol is an abstract class that inherits from ASMViewControl. Every ASM needs to implement this class. This control is used to edit the ASM and it allows the user to choose the needed input and the output counter.
ASMRunnerControl ASMRunnerControl is a control that gives us the possibility to run/stop the performance monitor and change the sampling frequency. As can be seen algorithm parameters and input are shown in read-only mode.
Graphic Controls - ASMViewControl As clearly seen the ASMEditConrol &ASMRunnerControl share a similar design, this is accomplished by inheriting from the common ASMViewControl.
Snap-in The main snap-in is implemented in EMTSnapIn, when installed adds the EMT root node. Each algorithm extension implemented in AbstractEMTSnapInExtension will add its node under the root node.
Algorithms Sum Algorithm - samples its input counters and sums their values. Sliding Window Algorithm - smoothes counters that have large spikes thus making it possible to notice trends in system performance. Total Percentage Algorithm - gives us the ratio between a total sum of counters and their respective maximum.
Sliding Window Algorithm - Graphic Representation in Perfmon
Total Percentage Algorithm - Graphic Representation in Perfmon
Design for extensibility The solution is based on the Abstract Factory pattern.
New ASM algorithm creation in a nutshell • Create new class library project. • Reference ASM.dll & EMT.dll • Implement AbstractASM, ASMEditControl and AbstractEMTSnapInExtension • Specify a new GUID & Snap-in description • Compile & Run the InstallUtil.exe • Open the MMC & add the newly created snap-in
End • Many thanks to our dedicated supervisor, Oved Itzhak for his great help and support • Thanks to the software lab staff for the support (Ilana David and Victor Kulik)