The initialization
and termination records give you summary information for each SAS OLAP Server
session. The ARM records for the SAS OLAP Server are written to the SAS logging
facility or the ARM log. The following explains the output:
-
I (initialization) record
-
is an initialization record, with one record
written per SAS OLAP Server invocation when the ARM subsystem is initialized.
It starts with an I, followed by:
-
the SAS datetime value of the SAS OLAP Server
invocation
-
an application ID
-
a user CPU (start) time
-
a system CPU (start)
time
-
an application name
(OLAP_SERVER)
-
Output:
-
I,1320592800.822000,2,0.380547,0.630907,OLAP_SERVER,
-
E (end) record
-
is a termination record, with one record
written per SAS OLAP Server termination. It starts with an E, followed by:
-
Output:
-
E,1320592802.805000,2,1.281843,0.791137
Note: The E records are written for the OLAP_SESSION transaction, which
records each SAS OLAP Server session that is started by a client connection.
The E records provide the user ID of the client user that started the SAS
OLAP Server session.
-
G (GetID) record
-
is an OLAP_SESSION transaction record, with
one record written per SAS OLAP Server invocation. It starts with a G, followed
by:
-
the SAS datetime value when the record was written
-
the application ID from the I
record
-
a transaction class ID
-
a transaction class name (OLAP_SESSION)
-
a
transaction class description (OLAP Session)
-
a description of the values that are provided
in subsequent S (start) and P (stop) records
-
Output:
-
G,1337615817.801000,2,1,OLAP_SESSION,OLAP Session,User Name,LongStr
Note: User Name is the user ID of the
client user that started the SAS OLAP Server session.
-
S (start) record
-
is a start record, with one record written
for each SAS OLAP Server session. It starts with an S, followed by:
-
the SAS datetime value when the SAS OLAP Server
session started
-
the application ID from the I record
-
the transaction class ID from the G
record
-
a transaction ID
-
a user CPU (start) time
-
a system CPU (start)
time
-
the user ID of the client
user
-
Output:
-
S,1337615818.502000,2,1,2,2.52952,0.901296,sasabc
-
P (stop) record
-
is a stop record, with one record written
for each SAS OLAP Server session. It starts with a P, followed by:
-
the SAS datetime value when the SAS OLAP Server
session ended
-
the application ID from the I record
-
the transaction class ID from the G
record
-
the transaction ID from the associated S record
-
a user CPU (stop)
time
-
a system CPU (stop) time
-
the status
0=OK
-
Output:
-
P,1337615819.383000,2,1,2,2.113038,0.931339,0
-
U (update) record
-
is an update record, with one record written
for each hierarchy in each OLAP cube. The U record for the OLAP_SESSION transaction
is written only when the DATA_QUERY transaction occurs. It starts with a U,
followed by:
-
the SAS datetime value when the record was written
-
the application ID from the I
record
-
the transaction class ID from the G record
-
the transaction ID from the S
record
-
a user CPU time
-
a system CPU time
-
a buffer type (always 2, which
indicates that
1,024 bytes of text follows)
-
a string with the following format:
-
Output:
-
U,1355324046.943000,2,1,2,1.625000,2.15625,2,SALES 1CUSTOMER 4
U,1355324046.943000,2,1,2,1.625000,2.15625,2,SALES 2PRODUCT 5
U,1355324046.943000,2,1,2,1.625000,2.15625,2,SALES 3TIME 4
The following records are written for MDX_QUERY transactions,
which log each query that is sent to the OLAP cube. These records provide
the cube name and the size of the result set in cells:
-
G (GetID) record
-
is an MDX_QUERY transaction record, with
one record written per SAS OLAP Server invocation. It starts with a G, followed
by:
-
the SAS datetime value when the record was written
-
the application ID from the I
record
-
a transaction class ID
-
a transaction name (MDX_QUERY)
-
a transaction
description (MDX Query)
-
a description of the values that are provided
in subsequent S or C (start) and P (stop) records
-
Output:
-
G,1320594857.747000,3,2,MDX_QUERY,MDX Query,Result Set Size,Gauge32,
Cube Name,LongStr
Note: Result Set Size is the size of
the result set in cells. Cube Name is the name
of the cube that is being queried.
-
S or C (start) record
-
is a start record, with one record written
for each MDX_QUERY transaction. It starts with an S, followed by:
-
the SAS datetime value when the MDX_QUERY
started
-
the application ID from the I record
-
the transaction class ID from the G
record
-
a transaction ID
-
a user CPU (start) time
-
a system CPU (start)
time
-
Output:
-
S,1320594857.787000,3,2,2,1.341929,0.731051
If the OLAP_SESSION level was also requested, then the MDX_QUERY transaction
record is correlated to its parent session record, and starts with a C, followed
by:
-
the SAS datetime value when the MDX_QUERY started
-
the application ID from the I
record
-
the transaction class ID from the G record
-
a transaction ID
-
the parent
transaction class ID
-
the parent transaction ID
-
a user CPU (start) time
-
a
system CPU (start) time
-
Output:
-
C,1320594857.787000,3,2,2,1,2,1.341929,0.731051
-
P (stop) record
-
is a stop record, with one record written
for each MDX_QUERY transaction. It starts with a P, followed by:
-
the SAS datetime value when the MDX_QUERY
ended
-
the application ID from the I record
-
the transaction class ID from the G
record
-
the transaction ID from the associated S or C
record
-
a user CPU (stop) time
-
a system CPU (stop) time
-
a status (0=OK,
2=query failed)
-
the size of the result set in cells
-
the name of the cube that was
queried
-
Output:
-
P,1320594858.948000,3,2,2,2.52952,0.781123,0,5,MDDBCARS
The following records are written for DATA_QUERY transactions,
which log each region execution (that is, each data retrieval from stored
OLAP cube aggregations or from the cache). The following records provide region
IDs, aggregate IDs, the number of returned records, the source type, and the
thread index. The DATA_QUERY transaction is the primary input for both automatic
and manual cube optimization.
-
G (GetID) record
-
is a DATA_QUERY transaction ID record, with
one record written per SAS OLAP session. It starts with a G, followed by:
-
the SAS datetime value when the record was
written
-
the application ID from the I record
-
a transaction class ID
-
the
transaction name (DATA_QUERY)
-
the transaction description (Plug-in Call)
-
a description of the values that are provided
in subsequent S or C (start) and P (stop) records. The values are:
-
query aggregate
-
source
aggregate
-
result set size
-
source type
-
thread
index
-
cube
name
-
Output:
-
G,1359310645.798000,2,4,DATA_QUERY,Plugin Call,Query Aggregate,Id32,Source
Aggregate,Id32,Result Set Size,Gauge32,Source Type,Id32,Thread Index,
Gauge32,Cube Name,LongStr
-
S or C (start subquery) record
-
is a start subquery record, with one record
written for each data access. It starts with an S, followed by:
-
the SAS datetime value when the subquery
started
-
the application ID from the I record
-
the transaction class ID from the G
record
-
a transaction ID
-
the CPU (start) time
-
the system CPU (start)
time
-
Output:
-
S,1320596204.653000,2,2,2,1.51512,0.630907
If the MDX_QUERY level was also requested, then the DATA_QUERY transaction
record is correlated to its parent MDX_QUERY record, and starts with a C,
followed by:
-
the SAS datetime value when the subquery started
-
the application ID from the I
record
-
the transaction class ID from the G record
-
a transaction ID
-
the parent
transaction class ID
-
the parent transaction ID
-
a user CPU (start) time
-
a
system CPU (start) time
-
Output:
-
C,1320596204.653000,2,2,2,1,1,1.51512,0.630907
-
P (stop subquery) record
-
is a stop subquery record, with one record
written for each data access. It starts with a P, followed by:
-
the SAS datetime value when the subquery
ended
-
the application ID from the I record
-
the transaction class ID from the G
record
-
the transaction ID from the S or C record
-
a user CPU (stop) time
-
a
system CPU (stop) time
-
a status (0=OK, 2=subquery failed)
-
a region sequential number (per update
record)
-
an aggregation sequential number (per update record)
-
the size of the result set in
records
-
the plug-in type (0=CSPDS, 1=CSAS, 2=CACHE, 3=MOLAP)
-
the thread
index
-
the cube
name
-
Output:
-
P,1320596205.485000,2,2,2,1.181699,0.670964,0,1,31,5,0,0,SALES
-
U (update) record
-
is an update record, with one record written
for each new region and stored aggregation. It starts with a U, followed by:
-
the SAS datetime value when the record was
written
-
the application ID from the I record
-
the transaction class ID from the G
record
-
the transaction ID from the S record
-
a user CPU time
-
a system CPU
time
-
a buffer type (always 2, which indicates that
1,024 bytes of text follows)
-
a string with the following format:
-
char(32) cube
name
-
char(16) unique sequential number--used in
the DATA_QUERY stop record to identify region and aggregation
-
char(4) number of hierarchies in the region or
aggregation repeated for each hierarchy in the region or aggregate:
-
Output:
-
U,1355324092.960000,2,3,61,6.93750,5.734375,2,SALES 4 1 1 1
The following update record is written for the MDX_STRING
transaction, which writes an additional record for the MDX_QUERY transaction.
The record contains the actual MDX query string.
-
U (update) record
-
is an update record, with one record written
for each MDX_STRING transaction. It starts with a U, followed by:
-
the SAS datetime value when the record was
written
-
the application ID from the I record
-
the transaction class ID from the G
record
-
the transaction ID from the S record
-
a user CPU time
-
a system CPU
time
-
a buffer type (always 2, which indicates that
1,024 bytes of text follows)
-
the actual MDX
string
-
Output:
-
U,1320589796.262000,2,1,1,0.670964,2,SELECT {[DATE].[DATEH].[ALL DATE].
CHILDREN} ON COLUMNS, {[MEASURES].[MEASURES].[SALES_SUM]}
ON ROWS FROM MDDBCARS
When using the SAS logging facility and ARM 2.0, these records are written
to ARM2.RECORD.
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.