Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello all,
I would like to request a feature to be added to the Qlik Sense monitoring app - App Metadata Analyzer.
Apart from already displayed useful app data, the App Metadata Analyzer could also display Peak RAM of apps. Relevant field already present in app metadata: "peak_memory_bytes".
This is important for some Qlik Sense developers, because an application, that can have a low final Ram footprint, could in fact consume a significant amount of RAM in the peak of the app's reload. So this information could help every developer to improve their applications and support specialists to troubleshoot performance issues.
Kind regards,
Tomas Kleman
EMARK
Hi Tomas,
Peak Reload RAM was not introduced until February 2020 of Qlik Sense. The App Metadata Analyzer when it was designed (in 2018) was not built with that field. The App Metadata Analyzer is currently in maintenance mode as far as I'm aware, without any ongoing development. That said, it is very easy to add it in if you would like.
On the app_metadata tab in the load script, change:
RestConnectorMasterTable:
SQL SELECT
"static_byte_size",
"__KEY_root",
(SELECT
"cpu_time_spent_ms",
"__KEY_reload_meta",
"__FK_reload_meta",
(SELECT
"logical_cores",
"total_memory",
"__FK_hardware"
FROM "hardware" FK "__FK_hardware")
FROM "reload_meta" PK "__KEY_reload_meta" FK "__FK_reload_meta"),
to:
RestConnectorMasterTable:
SQL SELECT
"static_byte_size",
"__KEY_root",
(SELECT
"cpu_time_spent_ms",
"peak_memory_bytes",
"__KEY_reload_meta",
"__FK_reload_meta",
(SELECT
"logical_cores",
"total_memory",
"__FK_hardware"
FROM "hardware" FK "__FK_hardware")
FROM "reload_meta" PK "__KEY_reload_meta" FK "__FK_reload_meta"),
Then in the subsequent load, change:
[AppReloadCPUMetadata]:
LOAD
[cpu_time_spent_ms] AS [App Reload CPU Time (ms)],
'$(vAppGUID)' AS _IncrementalGUID,
'$(vAppGUID)' AS AppID
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_reload_meta]);
to:
[AppReloadCPUMetadata]:
LOAD
[cpu_time_spent_ms] AS [App Reload CPU Time (ms)],
peak_memory_bytes AS [Peak Memory Bytes],
'$(vAppGUID)' AS _IncrementalGUID,
'$(vAppGUID)' AS AppID
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_reload_meta]);
You will then want to flush your QVDs and reload the app to capture the new field. You can then use this field in the application.
It is also worth noting that this field is present in the App Analyzer for Qlik Sense Enterprise SaaS, just as an FYI. This field is especially critical in that platform.
Cheers,
@Daniel_Pilla -- any thoughts on this?
Hi Tomas,
Peak Reload RAM was not introduced until February 2020 of Qlik Sense. The App Metadata Analyzer when it was designed (in 2018) was not built with that field. The App Metadata Analyzer is currently in maintenance mode as far as I'm aware, without any ongoing development. That said, it is very easy to add it in if you would like.
On the app_metadata tab in the load script, change:
RestConnectorMasterTable:
SQL SELECT
"static_byte_size",
"__KEY_root",
(SELECT
"cpu_time_spent_ms",
"__KEY_reload_meta",
"__FK_reload_meta",
(SELECT
"logical_cores",
"total_memory",
"__FK_hardware"
FROM "hardware" FK "__FK_hardware")
FROM "reload_meta" PK "__KEY_reload_meta" FK "__FK_reload_meta"),
to:
RestConnectorMasterTable:
SQL SELECT
"static_byte_size",
"__KEY_root",
(SELECT
"cpu_time_spent_ms",
"peak_memory_bytes",
"__KEY_reload_meta",
"__FK_reload_meta",
(SELECT
"logical_cores",
"total_memory",
"__FK_hardware"
FROM "hardware" FK "__FK_hardware")
FROM "reload_meta" PK "__KEY_reload_meta" FK "__FK_reload_meta"),
Then in the subsequent load, change:
[AppReloadCPUMetadata]:
LOAD
[cpu_time_spent_ms] AS [App Reload CPU Time (ms)],
'$(vAppGUID)' AS _IncrementalGUID,
'$(vAppGUID)' AS AppID
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_reload_meta]);
to:
[AppReloadCPUMetadata]:
LOAD
[cpu_time_spent_ms] AS [App Reload CPU Time (ms)],
peak_memory_bytes AS [Peak Memory Bytes],
'$(vAppGUID)' AS _IncrementalGUID,
'$(vAppGUID)' AS AppID
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_reload_meta]);
You will then want to flush your QVDs and reload the app to capture the new field. You can then use this field in the application.
It is also worth noting that this field is present in the App Analyzer for Qlik Sense Enterprise SaaS, just as an FYI. This field is especially critical in that platform.
Cheers,
Hi Daniel,
thank you for the explanation and hints. They are very useful.
Cheers,
Tomas