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
-
-
-
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:
-
the SAS datetime value of the SAS
OLAP Server termination
-
the application ID from the I record
-
-
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 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 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
-
-
-
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 buffer type (always 2, which
indicates that 1,024 bytes of text follows)
-
a string with the following format:
-
-
char(4) hierarchy number—used
in the DATA_QUERY update record to identify region and aggregation
-
-
char(4) number of hierarchy levels
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 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 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
-
-
the parent transaction class ID
-
the parent transaction ID
-
-
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 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
-
-
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:
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
-
-
-
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
-
-
the parent transaction class ID
-
the parent transaction ID
-
-
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 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)
-
-
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 buffer type (always 2, which
indicates that 1,024 bytes of text follows)
-
a string with the following format:
-
-
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:
-
char(4) hierarchy number (per OLAP_SESSION
update record)
-
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 buffer type (always 2, which
indicates that 1,024 bytes of text follows)
-
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.