KirillOsenkov / MSBuildStructuredLog

A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.
MIT License
1.41k stars 188 forks source link

Add "Buffer" progress bar #685

Closed yuehuang010 closed 1 year ago

yuehuang010 commented 1 year ago

Add a "Buffer" progress bar that will report the BlockingCollection queue length.

image

Add a "Log Processing Statistics" to report the performance of the each type events.

image

Add a menu option to clear recently opened history.

image

yuehuang010 commented 1 year ago

684 FYI.

KirillOsenkov commented 1 year ago

I merged this PR optimistically, but upon reflection I think I'm going to have to revert it.

  1. I'd like to keep the recent items clearing functionality separate from the rest
  2. I'd like to keep the buffer capacity tweaks separate from the rest
  3. we can't change the public API as there are too many tools using this library for reading binlogs and we can't require all of them to update just for a progress bar
  4. our regular users don't need the buffer utilization progress bar nor do they need the Log Processing Statistics
  5. I haven't seen a wall clock time improvement for binlog loading, compared with the previous version. So not sure increasing the buffer is observably helping (at least in the windows case)
yuehuang010 commented 1 year ago
KirillOsenkov commented 1 year ago

Don't worry about it, I just pushed the revert:

https://github.com/KirillOsenkov/MSBuildStructuredLog/commit/efb0a575d68d4da534b5e3ba391cc2d29b86be9f

KirillOsenkov commented 1 year ago

I would like to avoid regular users paying any perf costs just for developer monitoring tooling.

Your buffer utilization progress bar is good, as well as the perf counters, but stuff like this is good to keep in the branch perhaps. Feel free to make a branch with the revert of https://github.com/KirillOsenkov/MSBuildStructuredLog/commit/efb0a575d68d4da534b5e3ba391cc2d29b86be9f and use it for local testing.

Don't think we need this in the main branch.