Since wave 13 combining expensive statement information (CPU, Peak Memory) with task log information is delivered as a standard functionality. The monitoring view TASK_LOGS_V_EXT has additional columns for memory and CPU consumption. They are copied over from the expensive statement table and persisted into the task log table. Note that you have to re-import the content table to expose the columns in data modelling. This has the helpful side effect, that we now have a history that goes along with the task log table and is independent from the expensive statement view. Please check out details from the product documentation here. |
SELECT *
FROM M_EXPENSIVE_STATEMENTS
WHERE "SESSION_VARIABLES"
LIKE '%$$DWC_PROCEDURE_RUN$$%'
/*
help page for M_EXPENSIVE_STATEMENTS:
https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20af736e751910148162e2ab19...
help page to configure threshhold for expensive statements in DWC:
https://help.sap.com/viewer/9f804b8efa8043539289f42f372c4862/cloud/en-US/9cd0691c44a74f2aa47b52f615f...
This view searches for entries in the M_EXPENSIVE_STATEMENTS that are related to DWC DataIntegration.
This clasification is based on an internal property of the SESSION_VARIABLES -> $$DWC_PROCEDURE_RUN$$
*/
SELECT
"DB_USER",
"SCHEMA_NAME",
"APP_USER",
"EXP_ST_START_TIME",
"DURATION_MICROSEC",
"OBJECT_NAME",
"OPERATION",
"RECORDS",
"STATEMENT_STRING",
"PARAMETERS",
"ERROR_CODE",
"ERROR_TEXT",
"MEMORY_SIZE",
"REUSED_MEMORY_SIZE",
"CPU_TIME",
"STATEMENT_START_TIME",
"APPLICATION_SOURCE",
"APPLICATION_NAME",
"NETWORK_MESSAGE_ID",
"WORKLOAD_CLASS_NAME",
"PRIORITY",
"STATEMENT_THREAD_LIMIT",
"STATEMENT_MEMORY_LIMIT",
"SESSION_VARIABLES",
"TABLE_TYPES",
"TASK_LOGS_V_EXT"."TASK_LOG_ID" TASK_LOG_ID,
"TASK_LOGS_V_EXT"."SPACE_ID" SPACE_ID,
"TASK_LOGS_V_EXT"."APPLICATION_ID" APPLICATION_ID,
"TASK_LOGS_V_EXT"."ACTIVITY" ACTIVITY,
"TASK_LOGS_V_EXT"."OBJECT_ID" OBJECT_ID
FROM (
SELECT
"DB_USER",
"SCHEMA_NAME",
"APP_USER",
"START_TIME" EXP_ST_START_TIME,
"DURATION_MICROSEC",
"OBJECT_NAME",
"OPERATION",
"RECORDS",
"STATEMENT_STRING",
"PARAMETERS",
"ERROR_CODE",
"ERROR_TEXT",
"MEMORY_SIZE",
"REUSED_MEMORY_SIZE",
"CPU_TIME",
"STATEMENT_START_TIME",
"APPLICATION_SOURCE",
"APPLICATION_NAME",
"NETWORK_MESSAGE_ID",
"WORKLOAD_CLASS_NAME",
"PRIORITY",
"STATEMENT_THREAD_LIMIT",
"STATEMENT_MEMORY_LIMIT",
"SESSION_VARIABLES",
"TABLE_TYPES",
-- JSON_VALUE has issues with $$ in the property name
substr_before(substr_after(SESSION_VARIABLES, '"$$DWC_PROCEDURE_RUN$$": "'), '"') TASK_LOG_ID
FROM "M_EXPENSIVE_STATEMENTS"
-- if the session is initiated by the task framework, it contains the property TASK_EXECUTION_ID
WHERE "SESSION_VARIABLES" LIKE '%$$DWC_PROCEDURE_RUN$$%'
) EXP_STATEMENTS_TASK_RELATED
LEFT JOIN "TASK_LOGS_V_EXT"
ON "TASK_LOGS_V_EXT"."TASK_LOG_ID" = EXP_STATEMENTS_TASK_RELATED."TASK_LOG_ID"
SELECT "DB_USER",
"SCHEMA_NAME",
"APP_USER",
"EXP_ST_START_TIME",
"DURATION_MICROSEC" / 1000 DURATION_MS,
"DURATION_MICROSEC" / 1000 / 1000 DURATION_SEC,
"OBJECT_NAME",
"OPERATION",
"RECORDS",
"STATEMENT_STRING",
"PARAMETERS",
"ERROR_CODE",
"ERROR_TEXT",
1 ROW_COUNT,
to_int(round("MEMORY_SIZE" / 1024 / 1024)) MEMORY_SIZE_MB,
to_int(round("MEMORY_SIZE" / 1024 / 1024 / 1024)) MEMORY_SIZE_GB,
"CPU_TIME" / 1000 CPU_TIME_MS,
"CPU_TIME" / 1000 / 1000 CPU_TIME_SEC,
"STATEMENT_START_TIME",
"APPLICATION_NAME",
"WORKLOAD_CLASS_NAME",
"STATEMENT_THREAD_LIMIT",
"STATEMENT_MEMORY_LIMIT",
"TASK_LOG_ID",
"SPACE_ID",
"APPLICATION_ID",
"ACTIVITY",
"OBJECT_ID"
FROM "TASK_EXP_STATM_V_H_01"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
34 | |
25 | |
13 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |