ENHANCED MONITORING ENHANCED MONITORING TOOL PROJECTTOOL PROJECTProject Presentation
By:David Nasi & Amitay Svetlit
Supervisor:Oved Itzhak
Software Systems LabSoftware Systems LabDepartment of Electrical Engineering Department of Electrical Engineering
Technion - Israel Institute of Technion - Israel Institute of TechnologyTechnology
IntroductionIntroduction
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 GoalsProject 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 ProposedSolution 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 Design & Software ArchitectureArchitectureDesign Integral Parts:
AbstractASMGraphic ControlsSnap-in
Algorithms Implemented:
Sum AlgorithmSliding Window AlgorithmTotal Percentage Algorithm
Abstract ASMAbstract ASMServes as the base class for all algorithms enabling a common interface for the ASM framework by implementing InitASM & CalculateASM methods.
ASMEditConrolASMEditConrol
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.
ASMRunnerControlASMRunnerControlASMRunnerControl 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 - Graphic Controls - ASMViewControl ASMViewControl As clearly seen the ASMEditConrol &ASMRunnerControl share a similar design, this is accomplished by inheriting from the common ASMViewControl.
Snap-inSnap-inThe 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.
AlgorithmsAlgorithms
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.
Sum Algorithm - Creation & Run Sum Algorithm - Creation & Run ModesModes
Sum Algorithm - Graphic Representation Sum Algorithm - Graphic Representation in Perfmonin Perfmon
Sum Algorithm - Class Sum Algorithm - Class DiagramDiagram
Sliding Window Algorithm - Creation & Run Sliding Window Algorithm - Creation & Run ModesModes
Sliding Window Algorithm - Graphic Sliding Window Algorithm - Graphic Representation in PerfmonRepresentation in Perfmon
Total Percentage Algorithm - Total Percentage Algorithm - Graphic Representation in Graphic Representation in PerfmonPerfmon
Design for extensibilityDesign for extensibility
The solution is based on the Abstract Factory pattern.
New ASM algorithm creation New ASM algorithm creation in a nutshellin a nutshellCreate new class library project.Reference ASM.dll & EMT.dllImplement AbstractASM,
ASMEditControl and AbstractEMTSnapInExtension
Specify a new GUID & Snap-in description
Compile & Run the InstallUtil.exeOpen the MMC & add the newly
created snap-in
EndEndMany 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)
Top Related