-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add performance counters to ConsoleSubsriber #1162
Conversation
Thanks for the PR. I will have a closer look soon, but from a quick glance this looks great 👍 |
Also, you are now getting uncovered dependencies when running deptrac on itself. Please add the newly added files to deptrac config and configure the correct dependencies.
patrick@thinkpad ~/PhpstormProjects/deptrac2 (main)$ php deptrac.php debug:unassigned
/src/Supportive/Time/Period.php
/src/Supportive/Time/StartedPeriod.php
/src/Supportive/Time/Stopwatch.php
/src/Supportive/Time/StopwatchException.php
Qossmic\Deptrac\Supportive\Time\Period
Qossmic\Deptrac\Supportive\Time\StartedPeriod
Qossmic\Deptrac\Supportive\Time\Stopwatch
Qossmic\Deptrac\Supportive\Time\StopwatchException |
And can you please make the coloring of the output consistent? Sometimes you get it as regular output, other times as |
From docs,
You do not have that path covered. |
Done! I changed it in both
Done!
When I check that path, with something like this: public static function start(): self
{
$now = hrtime(true);
if (false === $now) {
throw StopwatchException::hrtimeError();
}
return new self($now);
} I get Psalm and PHPStan errors:
I suppose both tools treat it like it will never fail, even though the docs say it may return What shall I do in this case? Should I not check that path? |
Ignoring |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again. This looks ready to be merged for me.
@patrickkusebauch since you had a few comments as well, I will wait for your response.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the tests are more headache than they are worth for my taste, but that can be attributed to personal preference, I guess. In reality, they will more than likely be fine.
Lastly, I want to say, great job. I really mean it. Your help is appreciated, at least by me. Don't be deceived by me being harsh in my critique on the PR. |
On the contrary, I appreciate your feedback, and thank you for it. Besides, in the end, you both are the maintainers of the project, so any PR should meet your expectations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 LGTM
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [qossmic/deptrac](https://togithub.com/qossmic/deptrac) | `^2.0.0-alpha` -> `^2.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/qossmic%2fdeptrac/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/qossmic%2fdeptrac/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/qossmic%2fdeptrac/2.0.0-alpha/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/qossmic%2fdeptrac/2.0.0-alpha/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>qossmic/deptrac (qossmic/deptrac)</summary> ### [`v2.0.0`](https://togithub.com/qossmic/deptrac/releases/tag/2.0.0) [Compare Source](https://togithub.com/qossmic/deptrac/compare/2.0.0-alpha...2.0.0) #### What's Changed - Bundle open dependency updates together by [@​dbrumann](https://togithub.com/dbrumann) in [https:/qossmic/deptrac/pull/1070](https://togithub.com/qossmic/deptrac/pull/1070) - Exception clean up by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1079](https://togithub.com/qossmic/deptrac/pull/1079) - Extension documentation by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/867](https://togithub.com/qossmic/deptrac/pull/867) - Installation guide improved and aligned. by [@​d4s6](https://togithub.com/d4s6) in [https:/qossmic/deptrac/pull/1076](https://togithub.com/qossmic/deptrac/pull/1076) - Bump phpunit/phpunit from 9.5.27 to 9.5.28 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1080](https://togithub.com/qossmic/deptrac/pull/1080) - Bump phpstan/phpstan-symfony from 1.2.19 to 1.2.20 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1081](https://togithub.com/qossmic/deptrac/pull/1081) - Bump phpstan/phpstan from 1.9.11 to 1.9.13 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1083](https://togithub.com/qossmic/deptrac/pull/1083) - Use getOption instead getParameterOption on config file by [@​maciejkosiarski](https://togithub.com/maciejkosiarski) in [https:/qossmic/deptrac/pull/1089](https://togithub.com/qossmic/deptrac/pull/1089) - Fix --help doesn't work if deptrac.yaml file is missing issue by [@​maciejkosiarski](https://togithub.com/maciejkosiarski) in [https:/qossmic/deptrac/pull/1088](https://togithub.com/qossmic/deptrac/pull/1088) - Mutation coverage improvements by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1090](https://togithub.com/qossmic/deptrac/pull/1090) - Override --help input option and add throws annotation according to psalm audit by [@​maciejkosiarski](https://togithub.com/maciejkosiarski) in [https:/qossmic/deptrac/pull/1092](https://togithub.com/qossmic/deptrac/pull/1092) - Bump phpstan/phpstan from 1.9.13 to 1.9.17 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1111](https://togithub.com/qossmic/deptrac/pull/1111) - Bump phpstan/phpdoc-parser from 1.15.3 to 1.16.1 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1110](https://togithub.com/qossmic/deptrac/pull/1110) - Bump friendsofphp/php-cs-fixer from 3.13.2 to 3.14.4 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1109](https://togithub.com/qossmic/deptrac/pull/1109) - Bump phpunit/phpunit from 9.5.28 to 9.6.3 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1107](https://togithub.com/qossmic/deptrac/pull/1107) - Bump symfony/dependency-injection from 6.2.3 to 6.2.6 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1108](https://togithub.com/qossmic/deptrac/pull/1108) - Bump phpstan/phpstan-symfony from 1.2.20 to 1.2.23 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1106](https://togithub.com/qossmic/deptrac/pull/1106) - Bump symfony/finder from 6.2.3 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1093](https://togithub.com/qossmic/deptrac/pull/1093) - Bump symfony/console from 6.2.3 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1101](https://togithub.com/qossmic/deptrac/pull/1101) - Bump symfony/filesystem from 6.2.0 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1100](https://togithub.com/qossmic/deptrac/pull/1100) - Bump symfony/yaml from 6.2.2 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1099](https://togithub.com/qossmic/deptrac/pull/1099) - Bump symfony/event-dispatcher from 6.2.2 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1097](https://togithub.com/qossmic/deptrac/pull/1097) - Bump symfony/config from 6.2.0 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1095](https://togithub.com/qossmic/deptrac/pull/1095) - Bump symfony/options-resolver from 6.2.0 to 6.2.5 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1094](https://togithub.com/qossmic/deptrac/pull/1094) - Bump nikic/php-parser from 4.15.2 to 4.15.3 by [@​dependabot](https://togithub.com/dependabot) in [https:/qossmic/deptrac/pull/1087](https://togithub.com/qossmic/deptrac/pull/1087) - Updating Result generation by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1091](https://togithub.com/qossmic/deptrac/pull/1091) - Code hardening - solving baseline issues in SA tools by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1103](https://togithub.com/qossmic/deptrac/pull/1103) - \[rector] Prepare PHP 7.2 downgrade + scoped release with Rector by [@​TomasVotruba](https://togithub.com/TomasVotruba) in [https:/qossmic/deptrac/pull/1113](https://togithub.com/qossmic/deptrac/pull/1113) - Updated CollectorInterface namespace in docs by [@​ariddlestone](https://togithub.com/ariddlestone) in [https:/qossmic/deptrac/pull/1120](https://togithub.com/qossmic/deptrac/pull/1120) - Better Violations by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1105](https://togithub.com/qossmic/deptrac/pull/1105) - Update configuration.md typo by [@​gusdeboer](https://togithub.com/gusdeboer) in [https:/qossmic/deptrac/pull/1140](https://togithub.com/qossmic/deptrac/pull/1140) - Update dependencies by [@​dbrumann](https://togithub.com/dbrumann) in [https:/qossmic/deptrac/pull/1141](https://togithub.com/qossmic/deptrac/pull/1141) - Implement ConfigBuilder by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1002](https://togithub.com/qossmic/deptrac/pull/1002) - Add performance counters to ConsoleSubsriber by [@​rubenrubiob](https://togithub.com/rubenrubiob) in [https:/qossmic/deptrac/pull/1162](https://togithub.com/qossmic/deptrac/pull/1162) - Migrated `debug:unused` command from deptrac-awesome by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1164](https://togithub.com/qossmic/deptrac/pull/1164) - Migrated `debug:dependencies` command from deptrac-awesome by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1165](https://togithub.com/qossmic/deptrac/pull/1165) - Combine updates by [@​dbrumann](https://togithub.com/dbrumann) in [https:/qossmic/deptrac/pull/1171](https://togithub.com/qossmic/deptrac/pull/1171) - Sort make targets and introduce help by [@​dbrumann](https://togithub.com/dbrumann) in [https:/qossmic/deptrac/pull/1176](https://togithub.com/qossmic/deptrac/pull/1176) - Composer Collector by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1174](https://togithub.com/qossmic/deptrac/pull/1174) - PoC blog by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1178](https://togithub.com/qossmic/deptrac/pull/1178) - add docker setup and move cache-files into .cache/ by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1185](https://togithub.com/qossmic/deptrac/pull/1185) - [#​1158](https://togithub.com/qossmic/deptrac/issues/1158) - only read file once for filereader by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1192](https://togithub.com/qossmic/deptrac/pull/1192) - [#​1158](https://togithub.com/qossmic/deptrac/issues/1158) - only init new ComposerFileParser once per composer.lock by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1193](https://togithub.com/qossmic/deptrac/pull/1193) - Call `SuperGlobalToken::allowedNames()` just once by [@​staabm](https://togithub.com/staabm) in [https:/qossmic/deptrac/pull/1198](https://togithub.com/qossmic/deptrac/pull/1198) - Removing deprecations and other clean-up for new Major release by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1175](https://togithub.com/qossmic/deptrac/pull/1175) - Bump composer dep by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1216](https://togithub.com/qossmic/deptrac/pull/1216) - add php-cs-fixer rule "single_line_empty_body" by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1217](https://togithub.com/qossmic/deptrac/pull/1217) - Closes [https:/qossmic/deptrac/issues/1191](https://togithub.com/qossmic/deptrac/issues/1191) by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1204](https://togithub.com/qossmic/deptrac/pull/1204) - fix [#​1226](https://togithub.com/qossmic/deptrac/issues/1226) - skipped multiple violations in one file by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1227](https://togithub.com/qossmic/deptrac/pull/1227) - "deptrac" as composer bin by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1238](https://togithub.com/qossmic/deptrac/pull/1238) - do not crash the GraphViz formatter if no config is given by [@​xabbuh](https://togithub.com/xabbuh) in [https:/qossmic/deptrac/pull/1251](https://togithub.com/qossmic/deptrac/pull/1251) - Dev dependencies upgrade (PHPUnit & Psalm) by [@​patrickkusebauch](https://togithub.com/patrickkusebauch) in [https:/qossmic/deptrac/pull/1252](https://togithub.com/qossmic/deptrac/pull/1252) - Docs: exclude_files also works on directories by [@​staabm](https://togithub.com/staabm) in [https:/qossmic/deptrac/pull/1262](https://togithub.com/qossmic/deptrac/pull/1262) - Prevent excessive php-doc parsing in FileReferenceVisitor by [@​staabm](https://togithub.com/staabm) in [https:/qossmic/deptrac/pull/1199](https://togithub.com/qossmic/deptrac/pull/1199) - Composer collector exception when package does not exist by [@​maciejkosiarski](https://togithub.com/maciejkosiarski) in [https:/qossmic/deptrac/pull/1279](https://togithub.com/qossmic/deptrac/pull/1279) - Update dep by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1280](https://togithub.com/qossmic/deptrac/pull/1280) - Fix typo in the docs by [@​jdreesen](https://togithub.com/jdreesen) in [https:/qossmic/deptrac/pull/1281](https://togithub.com/qossmic/deptrac/pull/1281) - Add creating of cache directory if not exists by [@​alexander-schranz](https://togithub.com/alexander-schranz) in [https:/qossmic/deptrac/pull/1302](https://togithub.com/qossmic/deptrac/pull/1302) - Remove dollar signs from readme.md console examples by [@​that-guy-iain](https://togithub.com/that-guy-iain) in [https:/qossmic/deptrac/pull/1325](https://togithub.com/qossmic/deptrac/pull/1325) - Bump PHP Parser version to support PHP 8.3 by [@​benr77](https://togithub.com/benr77) in [https:/qossmic/deptrac/pull/1342](https://togithub.com/qossmic/deptrac/pull/1342) - bump composer.lock by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1344](https://togithub.com/qossmic/deptrac/pull/1344) - WIP: test scoped release by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1352](https://togithub.com/qossmic/deptrac/pull/1352) - update by [@​gennadigennadigennadi](https://togithub.com/gennadigennadigennadi) in [https:/qossmic/deptrac/pull/1406](https://togithub.com/qossmic/deptrac/pull/1406) #### New Contributors - [@​d4s6](https://togithub.com/d4s6) made their first contribution in [https:/qossmic/deptrac/pull/1076](https://togithub.com/qossmic/deptrac/pull/1076) - [@​maciejkosiarski](https://togithub.com/maciejkosiarski) made their first contribution in [https:/qossmic/deptrac/pull/1089](https://togithub.com/qossmic/deptrac/pull/1089) - [@​TomasVotruba](https://togithub.com/TomasVotruba) made their first contribution in [https:/qossmic/deptrac/pull/1113](https://togithub.com/qossmic/deptrac/pull/1113) - [@​ariddlestone](https://togithub.com/ariddlestone) made their first contribution in [https:/qossmic/deptrac/pull/1120](https://togithub.com/qossmic/deptrac/pull/1120) - [@​gusdeboer](https://togithub.com/gusdeboer) made their first contribution in [https:/qossmic/deptrac/pull/1140](https://togithub.com/qossmic/deptrac/pull/1140) - [@​rubenrubiob](https://togithub.com/rubenrubiob) made their first contribution in [https:/qossmic/deptrac/pull/1162](https://togithub.com/qossmic/deptrac/pull/1162) - [@​jdreesen](https://togithub.com/jdreesen) made their first contribution in [https:/qossmic/deptrac/pull/1281](https://togithub.com/qossmic/deptrac/pull/1281) - [@​alexander-schranz](https://togithub.com/alexander-schranz) made their first contribution in [https:/qossmic/deptrac/pull/1302](https://togithub.com/qossmic/deptrac/pull/1302) - [@​that-guy-iain](https://togithub.com/that-guy-iain) made their first contribution in [https:/qossmic/deptrac/pull/1325](https://togithub.com/qossmic/deptrac/pull/1325) - [@​benr77](https://togithub.com/benr77) made their first contribution in [https:/qossmic/deptrac/pull/1342](https://togithub.com/qossmic/deptrac/pull/1342) **Full Changelog**: qossmic/deptrac@1.0.2...2.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Lendable/aggregate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Here is a PR to close #1157
Some things to take into consideration:
hrtime
such as aClock
. Thus, in the tests, I check the execution flows rather than values.sec
as measure unit, because it is the same the progress bar component uses.I am open to change whatever you believe is needed.
Thank you!