Automatic Elapsed Time Measurements


Author
Message
AndreasP
AndreasP
New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)
Group: Forum Members
Posts: 19, Visits: 120
Dear Toby,

our log files among other things contain recurring event sequences. For example the user can start a measurement by clicking a button in the GUI. This leads to a typical sequence of log file entries of a certain pattern. For example.

(A) Measurement Button clicked
(B) Hardware triggered.
(C) Hardware finished measurement.
(D) Result displayed on GUI.

Between those log entries there can of course be all other kinds of log output.

For the investigation of certain problems I would often like to check the following:
a) How long did these measurements take. That is for example the difference between output (A) and output (D).
b) How long did certain parts of the measurement take. That is for example the time difference between output (A) and (B).
c) How often is a measurement triggered by the user or equivalently what is the time difference between consecutive starts of measurement.
That is the time difference between consecutive log outputs (A) and (A).

I know that I can measure elapsed time in the "Log Entry Grid" by selecting two log entries and
using the "Calculate Elapsed" function from the context menu. But usually our log files contain a lot of those measurements
and I would like an automatic evaluation for the whole log file and a list of all measured times of the log file (together with the
time instance that they occurred).

When selecting one entry of the list I would then like a possibility to go to the original log file entries.
Also very helpful would be a graphical display of the results. This would make it very easy to find outliers in huge log files.
And of course it would be very nice to store these defined measurements as a template.

Kind Regards
Andreas
LogViewPlus Support
LogViewPlus Support
Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)
Group: Moderators
Posts: 129, Visits: 505
Hi Andreas,

I understand what you are trying to do and absolutely agree that LogViewPlus should support this level of reporting. 

Unfortunately, these types of calculations are currently not possible in LogViewPlus.  Aside from the 'Calculate Elapse' command, we also have an 'Elapsed' column - which may help a bit if you can filter your rows appropriately.  

There is a lot more we would be doing.  In addition to the points above, I would also like to see logger level parsers (to parse message content), "reporting filters" which manipulate the data to a position where reporting can work.  I think the whole reporting element of LogViewPlus can be massively improved.  I also think this type of reporting should handle multi-threaded scenarios where the sequence of events might be AAA - BBC - CBC.  ...if that makes sense.

This is something we are looking at and thinking about, but for now we are still focused on getting data into LogViewPlus.  I think we can expect some of these more advanced analysis / reporting features latter in the year and I will make sure our solution can handle the use cases described above.

Thanks for the feedback!

Toby


AndreasP
AndreasP
New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)
Group: Forum Members
Posts: 19, Visits: 120
Hi Toby,

thanks for the quick reply. I understand that what I requested requires major reworking and currently you have other priorities.

What about a workaround in the meantime?

I was thinking about a custom reporting plugin that the user could write on their own and that could be called on the current view. It only would require access to the (filtered) data of the current view and the possibity to output messages in separate window. In the most simple case just a text window with fixed width font like in notepad.

With this function at hand I could write my own automatic elapsed time measurement and output the results. I even could automatically calculate mean values or sort the results. I also could use this function for other purposes. For example when analyzing a new problem with log files I often want to extract typical information spread over several places in the log file like what build number was used, which user operated the device, how long has the device been running etc. Currently I extract this information manually by using several templates. But with this reporting plugin I could get them all with a single button click. An even further there are some known error conditions that typically require quite some manual analysis using different filters. This analysis for typical error scenarios could also be automated using a reporting plugin.

I think implementing a simple form of such a plugin would be not to difficult. And in the future there could be some extensions that for example allow also to output links in the output window where by clicking on them one could jump to specific log entries.

What do you think? Could such an extension be implemented in the near future?

Regards
Andreas

LogViewPlus Support
LogViewPlus Support
Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)
Group: Moderators
Posts: 129, Visits: 505
Yes - I think that's a good idea.

I will expose an interface that looks like this:

public interface ILogAnalyzer
{
   string DisplayName { get; }
   void Analyze(object ownerWindow, IReadOnlyList<LogEntry> logEntries);
}


If an extension is found with this interface, then when a user right-clicks on a view, I can provide a 'Custom Analyzers' option showing all installed analyzers.  Options will be identified with the "DisplayName" property.

The ownerWindow will be the parent window - which may be useful if you want to display a Dialog.  The logEntries list will show all log entries in the current view.

I will go ahead and get started on this.  Hopefully, I can have something for you soon.  

Thanks!

Toby
LogViewPlus Support
LogViewPlus Support
Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)
Group: Moderators
Posts: 129, Visits: 505
Hi Andreas,

This API has now been implemented in the latest BETA release (v2.3.6). The documentation on the API is still pending, but I created a sample project which you can download here: https://www.logviewplus.com/docs/running_the_samples.html Please see the "CustomAnalyzer" project.

For technical reasons, I left out the DisplayName API discussed above.  Instead, the name of the analyzer will be determined by looking at the class name (spaces will be added based on camel-case rules).

Thanks for the feedback! Please let me know if you have any further questions or issues.

Toby
AndreasP
AndreasP
New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)
Group: Forum Members
Posts: 19, Visits: 120
Hi Toby,

I had a first look at the new feature and implemented some first quick tests.
Looks very good so far!
Thanks.

Andreas
LogViewPlus Support
LogViewPlus Support
Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)Gaining Respect (162 reputation)
Group: Moderators
Posts: 129, Visits: 505
Nice one Andreas - thanks for letting me know!

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Login

Explore
Messages
Mentions
Search