Overview. NT Event Log. CHAPTER 8 Enhancements for SAS Users under Windows NT



Similar documents
Analyzing the Server Log

UNIX Operating Environment

Technical Paper. Defining an ODBC Library in SAS 9.2 Management Console Using Microsoft Windows NT Authentication

Hands-On Microsoft Windows Server 2008

FIGURE Selecting properties for the event log.

OS/2: TELNET Access Method

Encryption Services. What Are Encryption Services? Terminology. System and Software Requirements APPENDIX 5

When to Move a SAS File between Hosts

9.1 SAS/ACCESS. Interface to SAP BW. User s Guide

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

SAS 9.3 Intelligence Platform

Chapter 32 Histograms and Bar Charts. Chapter Table of Contents VARIABLES METHOD OUTPUT REFERENCES...474

SAS, Excel, and the Intranet

IT Service Level Management 2.1 User s Guide SAS

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES

An Introduction to SAS/SHARE, By Example

SAS Credit Scoring for Banking 4.3

Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer

Chapter 25 Specifying Forecasting Models

DBF Chapter. Note to UNIX and OS/390 Users. Import/Export Facility CHAPTER 7

SAS 9.3 Foundation for Microsoft Windows

Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.

SAS IT Resource Management 3.2

SAS Add-In 2.1 for Microsoft Office: Getting Started with Data Analysis

User Installation Guide for SAS 9.1 Foundation for 64-bit Microsoft Windows

SAS BI Dashboard 4.4. User's Guide Second Edition. SAS Documentation

DB Audit Expert 3.1. Performance Auditing Add-on Version 1.1 for Microsoft SQL Server 2000 & 2005

Communications Access Methods for SAS/CONNECT 9.3 and SAS/SHARE 9.3 Second Edition

Scheduling in SAS 9.3

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

Chapter 2 The Data Table. Chapter Table of Contents

9.1 SAS. SQL Query Window. User s Guide

Windows 2003 Performance Monitor. System Monitor. Adding a counter

OnDemand for Academics

SAS Intelligence Platform. System Administration Guide

PharmaSUG Paper AD11

Importing Excel Files Into SAS Using DDE Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA

SAS University Edition: Installation Guide for Windows

SAS Data Set Encryption Options

Dell Active Administrator 8.0

FileMaker 13. ODBC and JDBC Guide

SAS 9.4 Intelligence Platform

Matisse Installation Guide for MS Windows. 10th Edition

Server Manager Performance Monitor. Server Manager Diagnostics Page. . Information. . Audit Success. . Audit Failure

Monitoring IBM HMC Server. eg Enterprise v6

Hands-On Microsoft Windows Server 2008

TU04. Best practices for implementing a BI strategy with SAS Mike Vanderlinden, COMSYS IT Partners, Portage, MI

SQL Server Business Intelligence on HP ProLiant DL785 Server

SAS 9.4 PC Files Server

Guide to SAS/AF Applications Development

Implementing a SAS 9.3 Enterprise BI Server Deployment TS-811. in Microsoft Windows Operating Environments

FileMaker 12. ODBC and JDBC Guide

Best Practices for Managing and Monitoring SAS Data Management Solutions. Gregory S. Nelson

SAS Visual Analytics 7.1 for SAS Cloud. Quick-Start Guide

SAS Grid Manager Testing and Benchmarking Best Practices for SAS Intelligence Platform

Scheduling in SAS 9.4 Second Edition

Performance and Reliability Monitoring Step-by-Step Guide for

Load Testing and Monitoring Web Applications in a Windows Environment

SOLIDWORKS Enterprise PDM - Troubleshooting Tools

SQL Server Setup Guide for BusinessObjects Planning

SAS 9.3 Intelligence Platform

Altiris IT Analytics Solution 7.1 SP1 from Symantec User Guide

Guide to Operating SAS IT Resource Management 3.5 without a Middle Tier

SAS 9.3 Logging: Configuration and Programming Reference

Installation Instructions for Version 8 (TS M1) of the SAS System for Microsoft Windows

Producing Listings and Reports Using SAS and Crystal Reports Krishna (Balakrishna) Dandamudi, PharmaNet - SPS, Kennett Square, PA

MCTS Guide to Microsoft Windows 7. Chapter 10 Performance Tuning

Citrix EdgeSight User s Guide. Citrix EdgeSight for Endpoints 5.4 Citrix EdgeSight for XenApp 5.4

SAS BI Dashboard 3.1. User s Guide

SAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ

SAS Task Manager 2.2. User s Guide. SAS Documentation

FileMaker 11. ODBC and JDBC Guide

SAS 9.2 Management Console. Guide to Users and Permissions

HYPERION SYSTEM 9 N-TIER INSTALLATION GUIDE MASTER DATA MANAGEMENT RELEASE 9.2

Chapter 27 Using Predictor Variables. Chapter Table of Contents

Juris Installation / Upgrade Guide

ERserver. iseries. Work management

Using esxtop to Troubleshoot Performance Problems

VERITAS Backup Exec 9.1 for Windows Servers Quick Installation Guide

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center

Usage Analysis Tools in SharePoint Products and Technologies

Optimizing System Performance by Monitoring UNIX Server with SAS

SAS 9.4 Logging. Configuration and Programming Reference Second Edition. SAS Documentation

Before you may use any database in Limnor, you need to create a database connection for it. Select Project menu, select Databases:

EMC Celerra Network Server

pc resource monitoring and performance advisor

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

MAS 500 Intelligence Tips and Tricks Booklet Vol. 1

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

Vyapin Office 365 Management Suite

Lepide Event Log Manager: Installation Guide. Installation Guide. Lepide Event Log Manager. Lepide Software Private Limited

Grid Computing in SAS 9.4 Third Edition

Transcription:

177 CHAPTER 8 Enhancements for SAS Users under Windows NT Overview 177 NT Event Log 177 Sending Messages to the NT Event Log Using a User-Written Function 178 Examples of Using the User-Written Function to Write to the NT Event Log 179 Sending Messages to the NT Event Log Using LOGEVENT.EXE 179 NT Performance Monitor 181 Examples of Monitoring SAS Performance 183 Examining the Performance Between the DATA and PROC SORT Steps 183 Examining a PROC SQL Query 184 Overview The SAS System provides some enhancements specific to Windows NT. These enhancements may be of interest to advanced users and system administrators in an enterprise environment. The SAS System now supports logging of error messages to the NT Event Log. Abnormal termination of SAS tasks (such as an access violation) can be viewed in the Event Log in addition to the SAS Log. Also, informational messages in SAS/CONNECT may be viewed in the Event Log. Another new feature is support for Windows NT Performance Monitor with the SAS System. Using NT Performance Monitor, users can monitor their SAS sessions (in either full-screen or batch) to obtain the information necessary to diagnose problems and tune their sessions. NT Event Log With event logging in Windows NT, applications, device drivers, services, and the operating system can record important hardware and software events in the NT Event Log. After opening Event Viewer (found in the Administrative Tools folder or by starting EVENTVWR.EXE), you can view the Application Log by selecting Application from the Log menu. If a SAS task terminates abnormally, information regarding the task is placed into the Application Log. The Source column shows SAS as the event source. Messages from SAS/CONNECT display SAS Job Spawner as the event source. When you double-click on a SAS event, an Event Detail window similar to the one in Display 8.1 on page 178 opens with information about the event. This is the same error message you would see in your SAS Log file or in the SAS Log window.

178 Sending Messages to the NT Event Log Using a User-Written Function 4 Chapter 8 Display 8.1 Event Detail Dialog Box Sending Messages to the NT Event Log Using a User-Written Function SAS System events can be sent to the NT Event Log using a user-written function in either SAS System code or SCL. Input to the function is a specific text string which corresponds to a type of event and the text string that will appear in the Event Viewer. Table 8.1 on page 178 lists the types of events available for the first parameter. Table 8.1 Types of SAS System Events Type of Event First Parameter Value Error ERROR Warning WARNING Information INFORMATION Success Audit SUCCESSAUDIT Failure Audit FAILUREAUDIT Although the first parameter values are displayed in upper case, mixed case is also allowed. The second parameter of the function is a string that will appear in the Event Viewer.

Windows NT Enhancements 4 Sending Messages to the NT Event Log Using LOGEVENT.EXE 179 Examples of Using the User-Written Function to Write to the NT Event Log The following is an example of some SAS System code in which the existence of a semaphore file is checked before lengthy processing: %macro pdata(file); %let cmdstr = "dir &file"; options noxwait; data _null_; call system(&cmdstr); %put &sysrc = sysrc; %put &file; %if &sysrc=0 %then %do; filename indata "&file"; /* Your data step code for this file. */ DATA a; infile indata length=linelen; length line $ 200; input @1 line $ varying200. linelen; PROC print; %end; %else %do; /* Log an NT Event of type Error. */ %let cmdstr = %str("the file &file did not exist so no data step ran."); %put &cmdstr; DATA _null_; x=ntlog( INFORMATION,&cmdstr); %end; %mend; %pdata(c:\config.syss) The following is SCL code to write to the NT Event Log: /* Build a frame and add a pushbutton. Change the Attribute Name name to object1. In the Source window, add the following code. */ object1: x=ntlog("information", "This is an INFORMATION event."); x=ntlog("warning", "This is a WARNING event."); x=ntlog("error", "This is an ERROR event."); x=ntlog("successaudit", "This is a SUCCESSAUDIT event."); x=ntlog("failureaudit", "This is a FAILUREAUDIT event."); return; Sending Messages to the NT Event Log Using LOGEVENT.EXE Using the LOGEVENT.EXE utility provided by the NT Resource Kit, SAS users can send their own information messages to the Event Log from within SAS code. The following is an example of some SAS code to do this.

180 Sending Messages to the NT Event Log Using LOGEVENT.EXE 4 Chapter 8 In this example, the existence of a semaphore file is checked before SAS performs some lengthy processing. %macro pdata(file); %local cmdstr; %let cmdstr = "dir &file"; options noxwait; DATA _null_; call system(&cmdstr); %if &sysrc=0 %then %do; filename indata "&file"; /* Your data step code for this file. */ DATA a; infile indata length=linelen; length line $ 200; input @1 line $ varying200. linelen; PROC print; %end; %else %do; /* Log an NT Event of type Error. */ %let cmdstr = %bquote(c:\logevent.exe -s E "The file &file did not exist so no data step ran."); DATA _null_; %sysexec &cmdstr; %end; %mend; %pdata(c:\config.syss) When you double-click on the event in the Application Log, the Event Detail dialog box will give you the message displayed in Display 8.2 on page 181.

Windows NT Enhancements 4 NT Performance Monitor 181 Display 8.2 Displaying a User Message in The Event Detail Dialog Box NT Performance Monitor Windows NT Performance Monitor (PERFMON.EXE) may be invoked from the Administrative Tools folder. Using Performance Monitor, you can monitor many of the Windows NT internal processes as well as information from third-party applications. Each piece of information monitored is known as a counter. Each counter can be found in logically grouped objects. For example, Windows NT has a Memory object that contains counters such as Available Bytes, Committed Bytes, and Page Faults/sec. The Processor object has counter such as %Processor Time and %User Time. By observing various system counters and application-defined counters, it is possible to determine performance problems. You can search for bottlenecks in your system and isolate them to areas such as hardware, system software, or your application. For more information on NT Performance Monitor, refer to the Windows NT Resource Kit. Version 8 of the SAS System for Windows includes the following application-defined counters in the SAS object: Virtual Alloc ed Memory specifies the amount of committed virtual memory allocated by SAS through the VirtualAlloc() API. Disk ReadFile Bytes Read Total specifies the total number of bytes read from disk files by SAS through the ReadFile() API. Disk ReadFile Bytes Read/Sec specifies the number of bytes read per second from disk files by SAS through the ReadFile() API.

182 NT Performance Monitor 4 Chapter 8 Disk WriteFile Bytes Written Total specifies the total number of bytes written to disk files by SAS through the WriteFile() API. Disk WriteFile Bytes Written/Sec specifies the number of bytes written per second to disk files by SAS through the WriteFile() API. Disk SetFilePointer/Sec specifies the number of times per second that the SetFilePointer() API has been successfully called by SAS on disk files. PSE36 Current Usage K specifies the amount of Extended Server Memory currently in use. PSE36 Peak Usage K specifies the maximum amount of Extended Server Memory used in the current SAS session. To monitor SAS counters, start SAS and then start NT Performance Monitor by selecting Performance Monitor from the Administrative Tools folder. Then click on the Add Counter ( + ) button to open the Add to Chart dialog box. After selecting SAS from the Object combo box, the Add to Chart dialog box looks like Display 8.3 on page 182. Display 8.3 Add to Chart Dialog Box For a description of each counter, click on Explain. You can now select counters from the list box, clicking on Add after each selection. After selecting the counters you want to monitor, click on Done. Performance Monitor immediately collects and display information about the counters you selected. You may see multiple instances monitored, where each instance is a separate SAS process. SAS instances are listed in the form SAS PID number. The PID number is the process identifier of the SAS session. You can see a list of all processes using NT Task Manager. Performance Monitor is useful for tuning and diagnosing your application or computer system. By correlating the information from the SAS counters with other NT counters, you can more easily troubleshoot performance problems. An example would be a case of a user whose SAS job appears not to be working. Perhaps it is performing a long and complicated data step that generates a very large data set on a network volume. The user can be certain that the job is still working by monitoring the Disk WriteFile Bytes Written/Sec and Disk WriteFile Bytes Written Total counters.

Windows NT Enhancements 4 Examples of Monitoring SAS Performance 183 Examples of Monitoring SAS Performance The examples in this section show how the system performs when SAS process the DATA, PROC SORT, and PROC SQL steps. By entering the example SAS code in these examples, you can see how SAS uses the various system resources. You set up all examples as follows: 1 invoke SAS and the Performance Monitor 2 open the Add Chart window and select the SAS object 3 add these SAS counters: 3 Disk ReadFile Bytes Read/Sec 3 Disk WriteFile Bytes Written/Sec 3 Disk SetFilePointer/Sec 4 select the Process object and select sas from the Instances list box 5 add these Process counters: 3 %Processor Time 3 %User Time 3 %Privileged Time 6 click on Done. Examining the Performance Between the DATA and PROC SORT Steps To see the difference in performance between the DATA step and the PROC step, submit this code: options fullstimer; /* Create a test data set with some random data. */ DATA a (drop=s); do i = 1 to 500000; x = ranuni(i); y = x*2; z = exp(x*y); output; end; /* The sleep helps to delineate the subsequent */ /* sort in the Performance Monitor graph */ s = sleep(15); PROC sort data = a noduplicates; by z y x i; After submitting this code, the Performance Monitor graph should generate results like those in Display 8.4 on page 184. You may have to adjust the scale factor of the different counters.

184 Examples of Monitoring SAS Performance 4 Chapter 8 Display 8.4 Performance of the DATA Step and the PROC SORT Step You can see in the DATA step that there is very little activity from Disk ReadFile Bytes Read/Sec or Disk SetFilePointer/Sec. Notice that in the subsequent PROC SORT there is much more activity from these two counters. This indicates that the data set is being read (Disk Readfile Bytes Read/Sec) in order to be sorted, and that a certain amount of random I/O is performed by the sort (Disk SetFilePointer/Sec). The pause in the activity is caused by the SLEEP function that comes after the DATA step. The Disk WriteFile Bytes Written/Sec is active in both the DATA step and the PROC SORT. Lastly, you can correlate the counters from the Process object with the user and system CPU times in your SAS log. Examining a PROC SQL Query In this example you ll be submitting code to examine the performance of a PROC SQL query with and without using an index. Be sure that SAS and Performance Monitor are started. To perform a PROC SQL with an index: 1 submit the code in Step 1 and Step 2. Step 2 creates an index. 2 clear the Performance Monitor graph by selecting Clear Display from the Edit menu 3 submit the code in Step 3 to see a graph like Display 8.5 on page 185. To perform a PROC SQL without an index: 1 resubmit Step 1 2 clear the Performance Monitor graph 3 resubmit Step 3 to see a graph like Display 8.6 on page 186. /* Step 1 */ /* Create a test data set with some random data. */ /* Do this twice - once with Step 2 and once */ /* without Step 2. */ libname sample c:\ ; DATA sample.a; do i = 1 to 500000;

Windows NT Enhancements 4 Examples of Monitoring SAS Performance 185 x = ranuni(i); y = x*ranuni(i); z = exp(y); output; end; /* Step 2 */ /* Create a simple index on variable x. */ /* Submit this step once. */ PROC DATASETS library = sample; modify a; index create x; quit; /* Step 3 */ /* Perform a query on the data. Do this twice - */ /* once with an index and once without an index */ /* The query should select about 50% of the */ /* observations in the data set. */ PROC SQL; create table sample.yz as select y,z from sample.a where x > 0.5; quit; Display 8.5 Performance of PROC SQL with an Index

186 Examples of Monitoring SAS Performance 4 Chapter 8 Display 8.6 Performance of PROC SQL without an Index In Display 8.6 on page 186, the counters averaged under 10% on the scale, whereas in Display 8.5 on page 185, several of the counters averaged well over 10%, and the Disk WriteFile Bytes Written/Sec counter rose over 25%. A higher value for these counters implies good overall throughput for the operation. Note that to make a valid comparison like this with Performance Monitor graph, you must make sure that the counters are using the same scale. You can double-check by observing the absolute values. The Average value for Disk WriteFile Bytes Written/Sec in Display 8.5 on page 185 was 92528.953. Contrast this with the same counter in Display 8.6 on page 186, in which the Average value was 47350.902. For this operation, bytes were written almost twice as fast when the data set was indexed.

The correct bibliographic citation for this manual is as follows: SAS Institute Inc., SAS Companion for the Microsoft Windows Environment, Version 8, Cary, NC: SAS Institute Inc., 1999. pp.555. SAS Companion for the Microsoft Windows Environment, Version 8 Copyright 1999 by SAS Institute Inc., Cary, NC, USA. ISBN 1 58025 524 8 All rights reserved. Printed in the United States of America. U.S. Government Restricted Rights Notice. Use, duplication, or disclosure of the software by the government is subject to restrictions as set forth in FAR 52.227 19 Commercial Computer Software-Restricted Rights (June 1987). SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513. 1st printing, September 1999 SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. The Institute is a private company devoted to the support and further development of its software and related services.