0% found this document useful (0 votes)
30 views26 pages

Exploiting Web Publishing Technology To Enhance Performance Reporting

The document discusses techniques for enhancing performance reporting using web publishing technologies. It describes using frame-based pages to organize report retrieval, with selection criteria in one frame and output in another. Exception reporting is discussed, with recommendations to highlight exceptions and link to detailed reports. Server health reporting is proposed using a green-yellow-red color coding scheme for metrics and hyperlinks to additional details.

Uploaded by

Zafrin Memon
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views26 pages

Exploiting Web Publishing Technology To Enhance Performance Reporting

The document discusses techniques for enhancing performance reporting using web publishing technologies. It describes using frame-based pages to organize report retrieval, with selection criteria in one frame and output in another. Exception reporting is discussed, with recommendations to highlight exceptions and link to detailed reports. Server health reporting is proposed using a green-yellow-red color coding scheme for metrics and hyperlinks to additional details.

Uploaded by

Zafrin Memon
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

a S cr i AS

Ja v P
ptTO ENHANCE PERFORMANCE REPORTING
EXPLOITING WEB PUBLISHING TECHNOLOGY

le s
tab for
Claude Aron ms
Chevron Information Technology Company
San Ramon, CA
hyp s
s erl me
in k fr a
•1
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

•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

•3
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!

•4
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

•5
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)

•6
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

•7
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
•8
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

•9
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”
•10
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).
•11
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

•12
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.)
•13
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

•14
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.

•15
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.

•16
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

•17
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).
•18
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!

•19
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

•20
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.

•21
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 ...
•22
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 “……”
•23
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.
•24
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

•25
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!
•26

You might also like