.NET And Java Based System Performance Monitor for the Web Capstone Group #2 CSCI6838:Research...

21
.NET And Java Based System Performance Monitor for the Web Capstone Group #2 CSCI6838:Research Project And Seminar Fall 2005

Transcript of .NET And Java Based System Performance Monitor for the Web Capstone Group #2 CSCI6838:Research...

.NET And Java Based System PerformanceMonitor for the Web

Capstone Group #2CSCI6838:Research Project And SeminarFall 2005

Casptone Group #2 - Fall 2005 2

Team Information Team Members

Romeo Chua (Lead)[email protected]

Aaron McDowell [email protected]

Syed [email protected]

Amber [email protected]

Mentor Girish Bajaj

Software Engineer

Tietronix Software, Inc.

Instructor Dr. Kwok Bun Yue

Associate Professor of Computer Science - UHCL

Casptone Group #2 - Fall 2005 3

Contents Project Overview Project Requirements Technical Requirement Prototype Development System Design System Architecture Team Roles Project Schedule Progress Report Bibliography

Casptone Group #2 - Fall 2005 4

Project Overview

Develop a web-based performance monitoring/gathering tool

Current tools for monitoring OS level : Task Manager (taskman) and

Performance Monitor (perfmon) built-in Windows utilities

Commercial applications for monitoring Require physical presence at application site

Casptone Group #2 - Fall 2005 5

Project Requirements …(1/2)

Performance Monitoring Process information Memory information Processor utilization Network utilization SQL Server database metrics Other metrics

Casptone Group #2 - Fall 2005 6

Project Requirements … (2/2)

Performance Analyzer Simple performance analyzer that will

display aggregates of required metrics after processing data gathered.

Graphical User Interface Setup page to select required

performance terms to profile Display page to show all gathered

metrics and aggregates

Casptone Group #2 - Fall 2005 7

Technical Requirements

Technologies .NET Framework 1.1 (C#) Java-Com Bridge (Jawin OSS) Java Web Applications programming (Java

Struts and JBoss)

Casptone Group #2 - Fall 2005 8

Prototype Development Prototypes using

C# using .NET Win32 API

Results of prototype

  Memory Usage CPU Usage Runtime

PrototypePrivate Bytes

Peak Private Bytes

Working Set

Peak Working

SetPriority

Kernel Time

User Time

Avg

Win32 10,008K 10,280K 11,996K 12,124K 80.53 sec

0.18 sec

10ms

.NET using C#

13,024K 13,172K 15,004K 15,072K 8 .40 sec0.35 sec

10ms

Development Environment to use

Selected for programming

Casptone Group #2 - Fall 2005 9

System Design …(1/7)

TieMon DLL Overview .NET Framework (C#)

Uses System.Diagnostics namespace to get performance data

Multi-threaded DLL implementation Uses XML for information exchange with

Java

Casptone Group #2 - Fall 2005 10

System Design …(2/7)

TieMon DLL Overview … Jawin – Java/Win32 or .NET

Interoperability Simplifies Java calls to Windows DLLs Uses Windows Dynamic Link Library to

create Java source code

Casptone Group #2 - Fall 2005 11

System Design …(3/7)

TieMon DLL Design Uses a Singleton design pattern Will provide a list of available performance

counters in the system for the WebApp, to the user

WebApp will provide XML data of counters to monitor from a file provided by the user, as well as time to run and measurement intervals

Parses XML data and checks for errors. Supports aliases for usability.

Provides a ‘Cancel’ method to stop monitoring Writes raw performance monitor data into the

local file system

Casptone Group #2 - Fall 2005 12

System Design …(4/7)

TieMon Web Application Overview Java Struts and JBoss Web Application

Server Uses the TieMon DLL to access system

performance counters No Multi-user support

Casptone Group #2 - Fall 2005 13

System Design …(5/7)

TieMon WebApp interface designAllows users to download available performance counters

Allows users to upload selected performance counters

Both files in XML format

Casptone Group #2 - Fall 2005 14

System Design …(6/7)

TieMon WebApp interface designAllows users to configure the duration and frequency of the monitoring process.

Casptone Group #2 - Fall 2005 15

System Design …(7/7)

TieMon WebApp interface design

Displays the results to user

Casptone Group #2 - Fall 2005 16

System Architecture

Server Machine – Windows 2003 Server OS

Client Machine

Fir

ew

all

Web Brower

TieMon DLL (C#)

JBoss Web App Server

The

Internet

TieMon Web Application (Java Struts)

MS .Net Framework 1.1

Inter Process CommunicationFile Access

Ethernet NetworkFile System

Casptone Group #2 - Fall 2005 17

Team Roles Romeo Chua

Team Leader, Java and .NET Development

Aaron McDowell Java Web Applications Programming Requirements Development

Amber Patel Java and .NET Development Research

Syed Umair Win32, Java and .NET Development Research

Casptone Group #2 - Fall 2005 18

Progress Report Research

Task Manager info available from .NET Size limit of strings that can be passed from Java

to .NET using Jawin Alternative to sleep system call which causes

context switching Coding

PC for testing/deployment is ready. Most needed S/W installed. Needs JBoss WebApp server.

Requirements have been solidified (though still being updated)

TieMon DLL and WebApp development has started

Casptone Group #2 - Fall 2005 19

Project Schedule

Casptone Group #2 - Fall 2005 20

Bibliography .NET Framework

System.Diagnostics Namespace http://msdn.microsoft.com/library/default.as

p?url=/library/en-us/cpref/html/frlrfsystemdiagnostics.asp

Jawin OSS Project Home

http://jawinproject.sourceforge.net/ In-process interoperability with .NET

http://jawinproject.sourceforge.net/jawin.html#callingNET

Thank you

Questions ??