Hi,
More and more clients are requesting real-time process information when they run/execute a job from a UI either through TM1Web or PAW. Most of our deployments come with a 'TI.Monitoring' cube which tracks processing time and other stats. This issue is that this information is not real-time through the UI like a load bar or % complete.
What methods are there available to make this info real-time available?
TIA.
Monitoring TI Run Time in TM1Web or PAW?
-
- Regular Participant
- Posts: 197
- Joined: Wed May 06, 2020 2:58 pm
- OLAP Product: Planning Analytics
- Version: 2.0.9
- Excel Version: 2016
Re: Monitoring TI Run Time in TM1Web or PAW?
Attached is an example to give food for thought
The problem you'll be experiencing is that the cube doesn't reflect the progress until the process has finished, to get around this you could start an alternative thread to make the updates to your TI.Monitoring, that thread will then complete before the main process has finished (if there are spare threads available_ and will bring the cube closer to real-time. In the example the process test is calling process TestB every 5 seconds to update a cube "C".
The graph/cubeview in Workspace has then been set to refresh automatically, currently every 20 seconds, but you could tweak this...
You could also do something similar if you wanted to show completed steps...
Just be mindful of how many threads are being spawned and the frequency.
Another option is you could use run a powershell command with the TI process to export incremental updates to csv (allowing multiple processes to update the same file) and then update the TM1 server in a batch at the required frequency, using a chore...
Example of Code
psPowershellProgram='C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -command ';
vProcess = 'Running Process';
vTime = '20 Seconds';
psCommand = char(34) | 'Add-Content C:\temp\monitoring.txt ' ;
psText = vProcess | ' ' | vTime;
PowershellScript = psPowerShellProgram | psCommand | char(39) | psText | char(39) | char(59) | 'Exit' | char(34);
The problem you'll be experiencing is that the cube doesn't reflect the progress until the process has finished, to get around this you could start an alternative thread to make the updates to your TI.Monitoring, that thread will then complete before the main process has finished (if there are spare threads available_ and will bring the cube closer to real-time. In the example the process test is calling process TestB every 5 seconds to update a cube "C".
The graph/cubeview in Workspace has then been set to refresh automatically, currently every 20 seconds, but you could tweak this...
You could also do something similar if you wanted to show completed steps...
Just be mindful of how many threads are being spawned and the frequency.
Another option is you could use run a powershell command with the TI process to export incremental updates to csv (allowing multiple processes to update the same file) and then update the TM1 server in a batch at the required frequency, using a chore...
Example of Code
psPowershellProgram='C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -command ';
vProcess = 'Running Process';
vTime = '20 Seconds';
psCommand = char(34) | 'Add-Content C:\temp\monitoring.txt ' ;
psText = vProcess | ' ' | vTime;
PowershellScript = psPowerShellProgram | psCommand | char(39) | psText | char(39) | char(59) | 'Exit' | char(34);
- Attachments
-
- Example.png (346.26 KiB) Viewed 2910 times