C# 클래스 Axiom.Core.MeterManager

The MeterManager creates and hands out TimingMeter instances. Those instances are looked up by meter "title", a string name for the meter. Meter instances also have a string "category", so you can turn metering on and off by category. All public methods of MeterManager are static, so the user doesn't have to worry about managing the instance of MeterManager. The workflow is that the user program creates several meters by calling the static MakeMeter method, passing the title and category of the meter. That method looks up the meter by title, creating it if it doesn't already exists, and returns the meter. Thereafter, the user invokes the TimingMeter.Enter() and TimingMeter.Exit() methods, each of which causes the MeterManager to add a record to a collection of entries and exits. The record has the identity of the meter; whether it's an entry or exit, and the time in processor ticks, captured using the assembler primitive RDTSC. At any point, the program can call the method MeterManager.Report, which produces a report based on the trace.
파일 보기 프로젝트 열기: WolfgangSt/axiom 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
DontDisplayUsecs int
MeterEventsFilename string
MeterLogFilename string

보호된 프로퍼티들

프로퍼티 타입 설명
collecting bool
dumpEventLog bool
instance MeterManager
metersById TimingMeter>.Dictionary
startTime long
timerIdCounter short

공개 메소드들

메소드 설명
AddEvent ( TimingMeter meter, short eventKind, string info ) : int
AddInfoEvent ( string info ) : void
ClearEvents ( ) : void
EnableCategory ( string categoryName, bool enable ) : void
EnableOnlyCategory ( string categoryName, bool enable ) : void
GetMeter ( string title, string category ) : TimingMeter
GetMeter ( string title, string category, bool accumulate ) : TimingMeter
Init ( ) : void
Report ( string title ) : void
Report ( string title, StreamWriter writer, int start, string optionsString ) : void
SaveToFile ( string pathname ) : void
StartTime ( ) : long

보호된 메소드들

메소드 설명
BarfOnBadChars ( string name, string nameDescription ) : void
BoolOption ( string name, string>.Dictionary options ) : bool
CaptureCurrentTime ( ) : long
DumpEventLog ( ) : void
GenerateReport ( StreamWriter writer, int start, string>.Dictionary options ) : void
GetMeterById ( int id ) : TimingMeter
IndentCount ( int count ) : string
IntOption ( string name, string>.Dictionary options ) : int
MeterManager ( ) : System
OptionValue ( string name, string>.Dictionary options ) : string
SaveToFileInternal ( string pathname ) : void
ToMicroseconds ( long ticks ) : long

비공개 메소드들

메소드 설명
DebugAddEvent ( TimingMeter meter, MeterEvent evt ) : void

메소드 상세

AddEvent() 공개 정적인 메소드

public static AddEvent ( TimingMeter meter, short eventKind, string info ) : int
meter TimingMeter
eventKind short
info string
리턴 int

AddInfoEvent() 공개 정적인 메소드

public static AddInfoEvent ( string info ) : void
info string
리턴 void

BarfOnBadChars() 보호된 정적인 메소드

protected static BarfOnBadChars ( string name, string nameDescription ) : void
name string
nameDescription string
리턴 void

BoolOption() 보호된 메소드

protected BoolOption ( string name, string>.Dictionary options ) : bool
name string
options string>.Dictionary
리턴 bool

CaptureCurrentTime() 보호된 정적인 메소드

protected static CaptureCurrentTime ( ) : long
리턴 long

ClearEvents() 공개 정적인 메소드

public static ClearEvents ( ) : void
리턴 void

DumpEventLog() 보호된 메소드

protected DumpEventLog ( ) : void
리턴 void

EnableCategory() 공개 정적인 메소드

public static EnableCategory ( string categoryName, bool enable ) : void
categoryName string
enable bool
리턴 void

EnableOnlyCategory() 공개 정적인 메소드

public static EnableOnlyCategory ( string categoryName, bool enable ) : void
categoryName string
enable bool
리턴 void

GenerateReport() 보호된 메소드

protected GenerateReport ( StreamWriter writer, int start, string>.Dictionary options ) : void
writer System.IO.StreamWriter
start int
options string>.Dictionary
리턴 void

GetMeter() 공개 정적인 메소드

public static GetMeter ( string title, string category ) : TimingMeter
title string
category string
리턴 TimingMeter

GetMeter() 공개 정적인 메소드

public static GetMeter ( string title, string category, bool accumulate ) : TimingMeter
title string
category string
accumulate bool
리턴 TimingMeter

GetMeterById() 보호된 메소드

protected GetMeterById ( int id ) : TimingMeter
id int
리턴 TimingMeter

IndentCount() 보호된 메소드

protected IndentCount ( int count ) : string
count int
리턴 string

Init() 공개 정적인 메소드

public static Init ( ) : void
리턴 void

IntOption() 보호된 메소드

protected IntOption ( string name, string>.Dictionary options ) : int
name string
options string>.Dictionary
리턴 int

MeterManager() 보호된 메소드

protected MeterManager ( ) : System
리턴 System

OptionValue() 보호된 메소드

protected OptionValue ( string name, string>.Dictionary options ) : string
name string
options string>.Dictionary
리턴 string

Report() 공개 정적인 메소드

public static Report ( string title ) : void
title string
리턴 void

Report() 공개 정적인 메소드

public static Report ( string title, StreamWriter writer, int start, string optionsString ) : void
title string
writer System.IO.StreamWriter
start int
optionsString string
리턴 void

SaveToFile() 공개 정적인 메소드

public static SaveToFile ( string pathname ) : void
pathname string
리턴 void

SaveToFileInternal() 보호된 메소드

protected SaveToFileInternal ( string pathname ) : void
pathname string
리턴 void

StartTime() 공개 정적인 메소드

public static StartTime ( ) : long
리턴 long

ToMicroseconds() 보호된 메소드

protected ToMicroseconds ( long ticks ) : long
ticks long
리턴 long

프로퍼티 상세

DontDisplayUsecs 공개적으로 정적으로 프로퍼티

public static int DontDisplayUsecs
리턴 int

MeterEventsFilename 공개적으로 정적으로 프로퍼티

public static string MeterEventsFilename
리턴 string

MeterLogFilename 공개적으로 정적으로 프로퍼티

public static string MeterLogFilename
리턴 string

collecting 보호되어 있는 프로퍼티

protected bool collecting
리턴 bool

dumpEventLog 보호되어 있는 정적으로 프로퍼티

protected static bool dumpEventLog
리턴 bool

instance 보호되어 있는 정적으로 프로퍼티

protected static MeterManager,Axiom.Core instance
리턴 MeterManager

metersById 보호되어 있는 프로퍼티

protected Dictionary metersById
리턴 TimingMeter>.Dictionary

startTime 보호되어 있는 프로퍼티

protected long startTime
리턴 long

timerIdCounter 보호되어 있는 프로퍼티

protected short timerIdCounter
리턴 short