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.
43 lines
2.2 KiB
43 lines
2.2 KiB
OVERVIEW OF THE PROFILER ARCHITECTURE |
|
|
|
TABLE OF CONTENTS |
|
I. Terms And Definitions |
|
II. Basic Information About Data Storage |
|
|
|
I. TERMS AND DEFINITIONS |
|
|
|
In the following terms used in this document are defined to make the reader |
|
aware of their meaning. |
|
|
|
Profiler: The system consisting of a Hook and a Controller and different |
|
ProfilingDataWriters and ProfilingDataProviders, which access and create |
|
ProfilingSessions. |
|
ProfilingSession: A ProfilingSession is a list of ProfilingDataSets, |
|
NameMappings plus various meta data, such as version number, processor frequency |
|
of the CPU of the system, on which the ProfilingSession was recorded. Please |
|
note that a ProfilingSession is represented by a ProfilingDataWriter and a |
|
ProfilingDataProvider in the Object Model, there is no ProfilingSession object |
|
as such. |
|
ProfilingDataWriter: Provides functionality to write profiling data, in |
|
particular ProfilingDataSets and NameMappings. |
|
ProfilingDataProvider: Provides functionality to read profiling data, get |
|
and set meta data properties. |
|
ProfilingDataSet: It is a container for the data collected by the profiler |
|
in a certain time period. The collected data includes the tree-structure of |
|
all calls in the time period and the CPU usage at the end of the period. |
|
Controller: The managed part of the profiler. It is responsible for memory |
|
and data storage management, preparation of the profiler environment and |
|
controlling the profiling process. |
|
NameMapping: A set of strings describing a FunctionInfo. Each NameMapping |
|
consists of a fully qualified method name, return type and parameter list. If |
|
the name is the name of a CallTreeNode with a special role (like thread nodes) |
|
then some information might be missing (for example: thread nodes do not contain |
|
information about a return type or parameter list). |
|
CallTreeNode: A node of the call tree created by the profiler. |
|
Hook: The unmanaged part of the profiler running inside the Profilee. It |
|
receives and handles callbacks from the Common Language Runtime (CLR). |
|
Profilee: The process/program being profiled. |
|
|
|
BASIC INFORMATION ABOUT DATA STORAGE |
|
|
|
The data collected by the Hook is made available to the Controller by storing it into a memory mapped file in the system's page file. |