You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
242 lines
10 KiB
242 lines
10 KiB
;;
|
|
;;
|
|
;; Sample INI file for IceCAP 4.3.
|
|
;;
|
|
;; IceCAP is MICROSOFT CONFIDENTIAL, and should not be distributed except
|
|
;; under NDA.
|
|
;;
|
|
;; To customize your IceCAP runs, copy this file to your working directory
|
|
;; or to your Windows directory and make the appropriate changes.
|
|
;;
|
|
[IceCAP]
|
|
;;
|
|
;;****************************************************************************
|
|
;; The Profile= value is read once for each process that starts. HOWEVER, the
|
|
;; Global value (third parameter) is read only ONCE, when the logger starts.
|
|
;;****************************************************************************
|
|
;;
|
|
;;
|
|
;; Profile sets the initial profiling state for the Thread, Process, and
|
|
;; Global levels.
|
|
;; Syntax is: Profile=On|Off[,On|Off,[On|Off|Never]]. Default is On,On,On.
|
|
;;
|
|
;; IceCAP 3.6 syntax works fine for setting the thread-level default value.
|
|
;; Note that we only support Never at the Global level.
|
|
;;
|
|
; Profile=On
|
|
; Profile=Off
|
|
;;
|
|
;; IceCAP 4.x allows greater flexibility, to control all three levels.
|
|
;;
|
|
; Profile=On,On,On
|
|
; Profile=On,Off,On
|
|
; Profile=On,On,Off
|
|
; Profile=Off,Off,Never
|
|
;;
|
|
;;
|
|
;;****************************************************************************
|
|
;; The following settings are read ONCE when the logger is initializing.
|
|
;; These are global settings which are ONLY read from the [IceCAP] section
|
|
;; of the INI file. For any of the sample settings below, remove the comment
|
|
;; indicator ";" at the beginning of the line to make use of the setting.
|
|
;;****************************************************************************
|
|
;;
|
|
;; DataCompression determines whether or not the logger compresses the
|
|
;; collected data. Note that compression takes additional cpu cycles which
|
|
;; may effect the performance of the profiled application. Default is None.
|
|
;; Note: At this time, Aggressive is the same as Standard.
|
|
;;
|
|
; DataCompression=None
|
|
; DataCompression=Standard
|
|
; DataCompression=Aggressive
|
|
;;
|
|
;;
|
|
;; InMemoryCollection determines whether or not to put the IceCAP logger
|
|
;; into a special mode where no data is written until either the profiled
|
|
;; application terminates or until the current ICP file is closed. Note
|
|
;; that opening an new ICP file will result in the second data set also
|
|
;; being collected in memory if the first was collected that way.
|
|
;; Default is Off.
|
|
;;
|
|
; InMemoryCollection=Off
|
|
; InMemoryCollection=On
|
|
;;
|
|
;;
|
|
;; EnableUIDisplay determines whether or not the logger loads its UI
|
|
;; components to show the the current profiling state and allow control
|
|
;; over profiling. Default is On.
|
|
;;
|
|
; EnableUIDisplay=Off
|
|
; EnableUIDisplay=On
|
|
;;
|
|
;;
|
|
;; Shutdown specifies whether, when the logger is started automatically, it
|
|
;; will shut down automatically ("Automatic", the default) or whether it
|
|
;; will continue running until manually shut down ("Manual"). The latter
|
|
;; behavior is useful when profiling a dynamically loaded component which
|
|
;; is loaded and unloaded and reloaded over the course of a single scenario.
|
|
;;
|
|
; Shutdown=Automatic
|
|
; Shutdown=Manual
|
|
;;
|
|
;;
|
|
;; MaxProcesses specifies the maximum number of processes which can be
|
|
;; profiled simultaneously. By default, this is 8.
|
|
;;
|
|
; MaxProcesses=8
|
|
;;
|
|
;;
|
|
;; MaxThreads specifies the maximum number of threads which can be profiled
|
|
;; simultaneously (across multiple processes). By default, this is 32 on
|
|
;; machines with 128MB of memory and is adjusted on a sliding scale for
|
|
;; machines with more RAM.
|
|
;;
|
|
; MaxThreads=64
|
|
;;
|
|
;;
|
|
;; NumberOfBuffers specifies the maximum number of buffers which can be in
|
|
;; use at one time. By default, this is set to the (MaxThreads + 1) (one
|
|
;; buffer per thread plus one extra for the index). This value must be
|
|
;; larger than MaxThreads or an error message will be issued.
|
|
;
|
|
NumberOfBuffers=256
|
|
;;
|
|
;;
|
|
;; SizeOfBuffers specifies the size (in "K") of I/O buffers to be used to
|
|
;; collecting profile data. By default, this is 64 (64k or 65535 bytes).
|
|
;; On a system with limited disks but plenty of available RAM, it may be
|
|
;; useful to increase the buffer size (keeping in mind that this is the
|
|
;; size used PER THREAD being profiled). Maximum size is 1024 (1 megabyte).
|
|
;; Minimum size is 4.
|
|
;;
|
|
; SizeOfBuffers=64
|
|
;;
|
|
;;
|
|
;; ClearProcessSecurityACL controls whether any special handling is done
|
|
;; relative to the ACL of a process handle. This may be necessary in
|
|
;; some cases when redirecting output to a new ICP file during a profile
|
|
;; run. Three settings are supported: 'default' (which is the default),
|
|
;; 'standard', and 'impersonating'. Default will not cause any special
|
|
;; ACL handling to take place. Standard should be used to clear process
|
|
;; security for a standard service application. Impersonating should be
|
|
;; used to clear process security for a service which is impersonating
|
|
;; another user. We recommend contacting ICAPSUP before making use of
|
|
;; these settings if you are unsure about whether or not they are needed.
|
|
;;
|
|
; ClearProcessSecurityACL=default
|
|
; ClearProcessSecurityACL=standard
|
|
; ClearProcessSecurityACL=impersonating
|
|
;;
|
|
;;
|
|
;;****************************************************************************
|
|
;; The following settings are IceCAP-specific (i.e. don't apply if collecting
|
|
;; data for DLP, and are read ONCE when the logger is initializing. These
|
|
;; settings must be contained in the [IceCAP] section as well.
|
|
;;****************************************************************************
|
|
;;
|
|
;; P6PerfCounter specifies an additional P6 performance counter whose value
|
|
;; is to be collected in addition to time. The optional qualifier specifies
|
|
;; to which Ring the counter should apply (0 for Kernel, 3 for User, * or
|
|
;; blank for all). By default, this option collects no additional data. If
|
|
;; data is collected, it will be recorded in the User1 counter value slot.
|
|
;; If the P6 counter C0,* is added, IceCAP analysis will automatically
|
|
;; calculate CPI for you. (ie. P6PerfCounter=C0,*)
|
|
;;
|
|
; P6PerfCounter=24,*
|
|
;;
|
|
;;
|
|
;; For some P6 Performance Counters, a Unit Mask can be used to fine-tune
|
|
;; what is being collected. To allow users to specify this unit mask, the
|
|
;; following new INI setting has been added. Default value is 0.
|
|
;;
|
|
; P6PerfCounterUnitMask=0
|
|
; P6PerfCounterUnitMask=f
|
|
;;
|
|
;; UserCounter specifies one or more optional additional user-defined
|
|
;; counters whose value should be recorded with the IceCAP time (and
|
|
;; possibly P6 counter) data. At present, IceCAP supports a maximum of 15
|
|
;; user counter values, which includes a P6 counter if one is being
|
|
;; recorded. To specify a user counter, the user specifies a DLL name,
|
|
;; a counterinfo function name, and a counter initialization function
|
|
;; name. See the IceCAP documentation for additional info about
|
|
;; writing a User counter.
|
|
;;
|
|
; UserCounter=NTUserPerf.dll,GetNtCounterInfo,InitNtCounters
|
|
;;
|
|
;;
|
|
;; CollectPFEvents determines whether page fault data is collected and if so,
|
|
;; for which processes. It can take the following values:
|
|
;; all - pagefault data is collected for all processes in the system
|
|
;; profiled - pagefault data is collected only for profiled processes
|
|
;; none - default - no pagefault data is collected
|
|
;; Note: If you are collecting kernel-mode profiles, CollectPFEvents=profiled
|
|
;; will have the same effect of CollectPFEvents=all.
|
|
;;
|
|
; CollectPFEvents=all
|
|
; CollectPFEvents=profiled
|
|
; CollectPFEvents=none
|
|
;;
|
|
;;
|
|
;; If CollectPFEvents is not set to 'none', then the PageFaultCategory setting
|
|
;; determines what types of page faults are recorded. It can take one or more
|
|
;; of the following values (comma separated):
|
|
;; Hard (default), Transition, DemandZero, CopyOnWrite, Guard,
|
|
;; Soft (equivalent to "Transition, DemandZero,CopyOnWrite,Guard"),
|
|
;; All (equivalent to all of the above)
|
|
;; Note: Due to a bug in WMI, we cannot collect guard page fault data. This
|
|
;; bug exists in Windows 2000 and current Whistler builds, and it is not
|
|
;; expected to be fixed in the near term.
|
|
;;
|
|
; PageFaultCategory=Hard
|
|
; PageFaultCategory=Transition
|
|
; PageFaultCategory=Soft
|
|
; PageFaultCategory=All
|
|
;;
|
|
;; If CollectPFEvents is not set to 'none', then the WMIBuffers setting determines
|
|
;; the number of buffers that the WMI subsystem will allocate for its own use.
|
|
;; The size of the buffers is the specified below. The default is 32 buffers.
|
|
;;
|
|
; WMIBuffers=32
|
|
;;
|
|
;;
|
|
;; If CollectPFEvents is not set to 'none', then the WMIBufferSize setting
|
|
;; determines the size (in K) of the buffers that the WMI subsystem will
|
|
;; allocate for its own use. The default is 4K buffers.
|
|
;;
|
|
; WMIBufferSize=4
|
|
;;
|
|
;;
|
|
;;
|
|
;;****************************************************************************
|
|
;; The following fields are read ONCE when the logger is initializing. If
|
|
;; the logger is started manually, they will be read from the [IceCAP] section.
|
|
;; If the logger is started from an instrumented process, it will first look
|
|
;; for a section with that process's base application name ([WinWord] for
|
|
;; example), then if it doesn't find the entry, it will look in the [IceCAP]
|
|
;; section.
|
|
;;****************************************************************************
|
|
;;
|
|
;; DetectKernelTransitions determines whether or not a P6/PII performance
|
|
;; counter is used to track transitions between user mode and kernel mode.
|
|
;; By default, this is On for P6/PII processors, and Off for vanilla
|
|
;; Pentium processors. By turning this off, only Elapsed time can be
|
|
;; measured. It can, however, reduce collection overhead as a result.
|
|
;;
|
|
; DetectKernelTransitions=On
|
|
; DetectKernelTransitions=Off
|
|
;;
|
|
;;
|
|
;; Output overrides the path and/or filename used for the log file (ICP
|
|
;; file). For additional details, please refer to the documentation.
|
|
;;
|
|
; Output=C:\ICPFILES
|
|
; Output=C:\ICPFILES\SCENARIO1.ICP
|
|
;;
|
|
;; Additional, application-specific sections can be added to specify profile
|
|
;; settings for specific processes.
|
|
;;
|
|
[WinWord]
|
|
;;
|
|
; Profile=On
|
|
; Profile=Off
|
|
;;
|