MultiValue Tools

 View Only

 MVIS Performance Tracing

John Anderson's profile image
John Anderson posted 06-03-2024 16:06

Was looking to find a way to keep an eye on MVIS performance.  I found Perfstats_PER_REQ.log file which is pretty close to what we want.  One line logged per MVIS request, contains source IP info, account that the request was directed to, wait time, execution time and total time, almost everything.  The one thing that is missing is the subroutine that was being called.  If that was there, we'd have a good chance to keep track of subroutines that might have a long ResponseTime consistently and could look into it further.  i've looked at the mvis.log file.  Trouble with that is that it doesn't have a lot of information in diagnosing performance issues at the subroutine level unless the logging level is turned up to DEBUG, which causes quite a bit of noise in the log file.  

Wondering if there might be a way to more directly tie an entry in the PER_REQ.log file to what subroutine it was calling.  This would help at least to know which sub would be a good place to look.  We can tie some info together via time stamps with milli's , but was hoping a more direct way would be possible.  Having another column in PER_REQ would be ideal.  Hopefully someone else may have come across this issue and how it might be resolved more efficiently.

Stuart MacKenzie's profile image
ROCKETEER Stuart MacKenzie

Hi John,

I have made this request in the past but it was determined that this level of tracing and analysis would be more appropriately provided as part of the OpenTelemetry integration which will be part of the next MVIS release (2.1.0) which should be available in the next month or so. 

I couldn't figure out a way to get the information from the other logs without increasing the log level to DEBUG or TRACE.
At the INFO level there is a trace id and you can see when the request is sent to the MV server but it doesn't log when it is complete and doesn't include the endpoint being called.
The best I think you can do at 1.3.x is to collect this information at the client application level but that will not allow you to isolate the time spent between MVIS and the MV Server.

I do think that the integration with OpenTelemetry is going to provide you with much more information and the ability to integrate with industry standard tooling to monitor,  analyze and visualize the metrics, logs and traces gathered.

Let us know if you figure out a way to achieve your goal in 1.3.x.