EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

26
1 EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING Claude Aron Chevron Information Technology Company San Ramon, CA frames hyperlin ks ASP JavaScri pt tables tables forms forms

description

JavaScript. ASP. EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING. tables. forms. Claude Aron Chevron Information Technology Company San Ramon, CA. frames. hyperlinks. AGENDA. Introduction Environment Using frame-based pages for report retrieval - PowerPoint PPT Presentation

Transcript of EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

Page 1: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

1

EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

Claude Aron

Chevron Information Technology Company

San Ramon, CA

frame

s

hyperlinks

ASPJavaSc

ript

tables

tables

formsforms

Page 2: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

2

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 3: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

3

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 4: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

4

Introduction

• Web-based reporting is the information delivery standard• Out-of-the box advantages over paper publishing:

– Timeliness - delivery can be virtually instantaneous

– Universal accessibility - no need to predefine recipients

– Dynamic - content can be modified at any time

– Interactive access - users can select subsets of data

– Environmentally friendly - saves trees!

Page 5: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

5

Introduction

• But, merely converting existing paper reports to web format (e.g. HTML or GIF files) is NOT sufficient: – The increased exposure to increasingly sophisticated internet

content has raised user expectations of usability

– The volume of performance reports in a distributed environment with hundreds of servers requires:

• An efficient user interface for navigating to specific content

• A method for identifying exceptions & thresholds

• A method for drilling down to increasing levels of detail

• A help facility to define & explain reports & metrics

Page 6: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

6

Introduction

• Assumptions: – You don’t have the luxury of assigning or hiring an experienced

web application developer to design and implement a performance reporting application

– The volume of your data & capabilities of your hardware/software preclude dynamic report generation

– You have a basic understanding of programming principles

– You have some experience with SAS programming

– You have some experience with VBScript programming (optional)

Page 7: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

7

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 8: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

8

Environment

• 400+ monitored NT servers:

– File (54), Print (46), Domain Control (61), SMS (41), MSExchange (80), Shared Apps (47), RAS (16), Lotus Notes (14), SAP (17), Misc Apps (24)

• 22 HP-UX servers & 14 Sun Servers

• Performance Data Repository is SAS IT Service Vision

• Data collectors are NTSMF (DataCore Software) & Measureware (HP)

• Hardware: HP-UX K430, 4 CPUs, 768 MB memory, 13 GB disk space

Page 9: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

9

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 10: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

10

Frame-based pages for reports

• The “frame wars” are over

• Frames provide an excellent UI structure for report retrieval– Form with selection criteria in one frame

– Report output in second frame

– User navigational interaction is kept to a minimum

• Sample frameset syntax:

<frameset rows=“15%,85%”>

<frame src=“xxx.html”>

<frame src=“yyy.html” name=“reportwin”>

</frameset>

• Sample form syntax:

<form method=“POST” action=“zzz.asp” target=“reportwin”

Page 11: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

11

Frame-based pages for reports

• Best practices:

– Establish a strict naming pattern for report files, to minimize complexity of server scripts. Example:

servertype.servername.reporttype.interval.outputtype

– Use the report output frame to display useful information when the page is first displayed, e.g. a high-level summary report or a help page that explains report contents or selection criteria.

– Minimize the screen real estate used by the report selection frame to maximize the viewing area for reports.

– Include a link to the site home page & to a help page in the report selection frame.

– If you have multiple report framesets, include links to them in the report selection frame (use javascript routines to create dropdowns).

Page 12: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

12

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 13: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

13

Exception reporting / hyperlinks

• Exception Report Design– Large number of servers in a distributed environment

makes exception reporting imperative.

– Try to design exception reports so that all exceptions appear on a single web page.

– Highlight exceptions that exceed thresholds (e.g. by color-coding) so that they stand out clearly.

– Provide hyperlinks to detailed reports that provide additional data on exceptions (length, severity, potential causes, etc.)

Page 14: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

14

Exception reporting /hyperlinks

• SAS HTML Data Set Formatter– SAS HTML Data Set Formatter converts SAS data into html tables.

– Invoked via %ds2htm macro call.

– Specify input SAS data set, output html file, variables to display in table & optional formatting parameters.

– Example: %ds2htm(htmlfile=abc.exceptions.20001231.html,

data=mysas.exception.data,

var=server1 metric1 server2 metric2 server3 metric3,

clsize=1, vsize=1, caption=Server Exception Report)

– Complete documentation at http://www.sas.com/rnd/web/intrnet/format/index.html

Page 15: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

15

Exception reporting /hyperlinks

• Embedding hyperlinks– Build SAS variables formatted into html hyperlink syntax.

– Syntax is <a href=URL>text string</a>.

– Set length of SAS variable to a large value (e.g. 90).

– Concatenate literal strings to variables, e.g.:

cellval=“<a href=&pfx..” || trim(servname) || “.” || trim(date) || “.gif>” || servname || “</a>”;

– If a SAS macro variable needs to be followed by a period, you need to insert an extra period, e.g. %pfx..

– Use the SAS trim function to remove trailing blanks.

Page 16: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

16

Exception reporting /hyperlinks

• Highlighting thresholds– Same method as embedding hyperlinks - build SAS variables that

contain html syntax for specifying color properties.

– Syntax for specifying font color is <font color=colorname>

– Test threshold value when building variables:

if thresh=0 then exval = put(val,7.2);

else exval = “<font color=red>” || put(val, 7.2) || “</font>”;

– The SAS put function formats numeric variables as character strings.

– If you don’t assign a <font color>, the default font color for that page is used.

Page 17: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

17

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 18: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

18

Server health reporting

• Server Health Report Design – Green light, yellow light, red light paradigm:

• Green = Normal range, no action required

• Yellow = Exceeds normal range, but may be acceptable

• Red = Extreme range, should be investigated

– Metrics for availability, processor utilization, available memory, & disk space.

– Analyze your own historical data to determine thresholds & be prepared to tune & adjust if necessary. If you have a lot of red lights, either you’re in serious trouble or your thresholds are not set correctly!

– Metrics are hyperlinks to detailed reports; column headings are

hyperlinks to metric definitions (javascript popups).

Page 19: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

19

Server health reporting

• Coding techniques– Due to cell-coloring logic & javascript popups, we can’t use the

%ds2htm macro - so we use standard SAS put statements instead.

– Output file is “.asp”, to allow server-side includes.• Include syntax: <!--#include file=your.filename-->

– Select/when statements are used to test metric values, determine what color cells should be, & build variables.

– Syntax for hyperlinking to a javascript function:• <a href=javascript:void(functionname())>text string</a>

– Javascript function definition must be placed above the function call!

Page 20: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

20

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 21: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

21

Server configuration queries

• Server Configuration Query Design

– Be able to answer questions such as:• What are the hardware/software configurations of a class of servers?

• Are there any servers that haven’t been upgraded to Service Pack n?

• Which servers are configured with over 1 GB of memory?

– Can use flat file or database table.

– Use form input boxes to allow text or numeric input.

– Pre-fill with values that retrieve all servers IF that’s practical.

– Allow case-insensitive input.

– Disregard leading or trailing blanks.

Page 22: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

22

Server configuration queries

• Form Processing Coding Hints– Form input statement syntax:Text: input type=text size=n maxlength=n name=“fieldname”

Numeric: input type=number size=n maxlength=n value=nname=“fieldname”

– Processing form input in Active Server Pages / VBScript:• To read values:

x=Request.Form(“fieldname”)• To eliminate trailing/leading blanks & convert to upper case:

x=Trim(Ucase(Request.Form(“fieldname”)))• To test for numeric input:

if not IsNumeric(x) then ...

Page 23: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

23

Server configuration queries

• File Processing Coding Hints

– To open a file for processing:

• Set Sobj=Server.Create.Object(“Scripting.FileSystemObject”)

• Set Sfil=sobj.OpenTextFile(ServerMapPath(“your.file”))

– To read data from a file:

• SrvTemp=sfil.ReadLine

• SrvVar=Split(OneRec,”,”,-1,1)

– To test for presence of a character string:

• if Instr(1,SrvVar(0),SrvString,1) > 0 then ...

– To write output records:

• Response.Write “……”

Page 24: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

24

Server configuration queries

• File Processing Coding Hints

– To close a file:

• Sfil.Close

– Next two statements free memory & system resources - very important!

• Set Sfil=Nothing

• Set Sobj=Nothing

– To send all the generated output to the browser:

• Response.Flush

• Needed only if Response.Buffer=True was set. Response buffering is recommended in most cases to optimize network transmission.

Page 25: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

25

AGENDA

• Introduction

• Environment

• Using frame-based pages for report retrieval

• Exception reporting with embedded hyperlinks

• Server health reporting using color-coded table cells

• Server configuration reporting with query capability

• Summary

Page 26: EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING

26

Summary

• Internet publishing of performance data has some intrinsic advantages.

• With a little thought & effort, it’s possible to design reports & report interfaces that enhance

the user experience.• You don’t need to be a professional web

developer - even performance analysts

can do it!