panagenda ApplicationInsights. A first look
In April panagenda has announced the release of ApplicationInsights, a tool to analyze your Domino environment. The most important features are geared towards the analysis of the applications both from the point of view of utilization and the complexity. It allows me to see how complex is my environment, drilling down to the single applications measuring complexity, code quantity, external dependencies and so on. Apart from the obvious usefulness of being able to see and measure the status of the environment, the results allow us to analyze where to work in case we want to migrate an application, move it from a server to another, optimize it or modernize it.
A note: if you want to test it, take your time. ApplicationInsights needs to run for a couple of days in order to collect meaningful data; do not think you can install it and see the results in a couple of hours.
The test have been done on our server, this means a lot fo code to analyze but few accesses.
After the installation and configuration ( pretty easy and fast, it just needs a Notes ID able to access to the servr and the applications ) AI begins to analyze the environment; I let it run for 48 hours and came back to see the results.
After the login it shows me the dashboard. Apart from the number shown at the top ( but we really do have so many files on the server ? ) I see the results I expected: few activity and variable complexity
Drilling down I can see how my databases are split
Now I drill further down, I search for an application listed as complex and check what the reports says
Now I have a better idea about how the application is complex and by how many elements is composed. As you can see we’re not talking at all of the data contained in the application but only of the design, since the analysis is done on this part. Drilling down more I can see, for example, how may agents are there in the application and how are they split
In this case I have 72 agents for a total of 7758 lines of code and of those agents 26 are scheduled. This is a good point to consider if I wanted, say, to move the application to another server; in this case I can foresee i need to check those 26 agents to change the schedule.
Continuing to drill down into details, to check what I can see and actually I find a lot of information, analyzing the application AI has checked all the design elements and now it can say me category by category what has found
Here I can see if something sends a mail, how it does, if I have connections to the Domino NAB or if I perform some operations at the OS level. This last information is useful if, say, I am planning to move the server from Windows to Linux.
Below I can see if the application works with connectors or if uses Lotusscript extensions: in this case the application has connections to DB2 and AI reports it correctly.
Still below I found if the application does External C Call, e.g. OLE, if it writes and/or reads extrnal files of the OS, executes calls to external programs and so on.
I finish this post with some considerations based mostly on experience: Notes/Domino is present since many years at customers and the applications written during the years have stratified. Often we need to work on applications written years ago end finding someone who knows exactly what it does and how this applications works is difficult. Maybe the person who developed the application is not working there anymore or, having a lot of time passed, he does not remember what he did and maybe has not documented everything.
In all those cases I believe that having a product like ApplicationInsights can really make a difference and be very useful.
Apart from this, ApplicationInsights is very useful to make an assessment of the environment and check the usage and the complexity.
If we want to work on the applications to modernize them or add other features, that is where a tool like this becomes essential in order to have a correct idea of the situation and of the points where to work. I have the feeling that dedicating more time to the study of ApplicationInsights, I will find other useful features I have not yet seen and used.