1 / 26

Enhancing Performance Reporting with JavaScript and ASP

Learn how to use JavaScript and ASP to enhance performance reporting in web publishing technology. Explore topics such as tables, forms, frames, and hyperlinks to improve reporting efficiency. Presented by Claude Aron from Chevron Information Technology Company, San Ramon, CA.

tgarren
Download Presentation

Enhancing Performance Reporting with JavaScript and ASP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaScript ASP EXPLOITING WEB PUBLISHING TECHNOLOGY TO ENHANCE PERFORMANCE REPORTING tables forms Claude Aron Chevron Information Technology Company San Ramon, CA frames hyperlinks

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

  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!

  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

  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)

  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

  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

  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

  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”

  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).

  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

  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.)

  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

  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.

  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.

  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

  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).

  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!

  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

  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.

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

  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 “……”

  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.

  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

  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!

More Related