Is it possible to determine when I last used a toolbox?

3 views (last 30 days)
It's coming time for me to renew my license, and I have a couple toolboxes that I rarely use, if at all. Is there a way to see when the last time a certain toolbox was used? If I haven't used it in over a year, I'm not going to renew it. I know I can use license('inuse') to determine which toolboxes are currently in use, but that doesn't help me determine if I ever use a particular toolbox.

Answers (3)

Jan
Jan on 4 May 2017
Edited: Jan on 4 May 2017
You could check the file access dates with FEX: GetFileTime under Windows:
FileDir = dir(fullfile(matlabroot, '\**\*.*'));
NameList = cell(1, numel(FileDir));
DateList = zeros(numel(FileDir), 6);
for iFile = 1:numel(FileDir)
File = fullfile(FileDir(iFile).folder, FileDir(iFile).name);
NameList{iFile} = File;
DateList(iFile, :) = GetFileDate(File, 'UTC', 'Access');
end
Now you can get the last access of a specific folder, e.g. determined as parent folder of a specific function:
Folder = fileparts(which('nanmean'));
Match = strncmpi(NameList, Folder, length(Folder));
Dates = sortrows(DateList(Match, :));
LastAccess = Dates(1, :);
Unfortunately I'm nor sure if this works on your machine. The logging of the access dates can be disabled. Calling the help text of a function cannot be distinguished from using the toolbox. Therefore I would not use this as solution, but it might be a hint.
Note that this works only, if you have enables the last access logging. Check this at first:
fsutil behavior query DisableLastAccess
To enable the logging:
fsutil behavior set DisableLastAccess 0
Run these commands in Windows' command window with admin privileges. Logging the last access will slow down the disc access measurably.
  1 Comment
David K
David K on 4 May 2017
This looks like it's the right approach, but I'm having some issues getting it working. First, dir with the recursive wildcards doesn't work; I can only operate in the current level. The dir output also doesn't provide a folder field. I managed a workaround by creating my own recursive search function and adding the folder field manually.
Is the function GetFileDate supposed to be GetFileTime? I only saw the one function on the FEX, but I haven't tried compiling it yet.

Sign in to comment.


Steven Lord
Steven Lord on 3 May 2017
Check with your license administrator. Depending on the type of license you're using, they may be able to use the license management tools to gather this information.
  2 Comments
Andreas Goser
Andreas Goser on 4 May 2017
If you have a stand-alone license, your toolbox usage is not logged.
Maybe you are in a situation where you do not use the toolboxes, because your project / application scope has changed. But maybe you could leverage the value of the toolboxes, but you need some technical information from a MathWorks engineer?

Sign in to comment.


Dave Carrier
Dave Carrier on 7 Jun 2018
Kinda cumbersome but couldn't you cycle through your recent command history, find unique and successful script names then use:
names = dependencies.toolboxDependencyAnalysis({cell array containing script names})
Ugly, and slow... but might work.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!