Skip to content
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

Merged
merged 9 commits into from
May 2, 2023
Merged

Add performance counters to ConsoleSubsriber #1162

merged 9 commits into from
May 2, 2023

Conversation

rubenrubiob
Copy link
Contributor

@rubenrubiob rubenrubiob commented Apr 27, 2023

Here is a PR to close #1157

Some things to take into consideration:

  • When working with time, it is a good approach to keep its call after an interface. However, I did not want to overengineer the Stopwatch by creating an interface that could mock the calls to hrtime such as a Clock. Thus, in the tests, I check the execution flows rather than values.
  • I used the string sec as measure unit, because it is the same the progress bar component uses.
  • I changed a little bit the output messages to make them more consistent when they incorporate the measure unit.

I am open to change whatever you believe is needed.

Thank you!

@dbrumann
Copy link
Collaborator

Thanks for the PR. I will have a closer look soon, but from a quick glance this looks great 👍

src/Supportive/Time/Period.php Show resolved Hide resolved
src/Supportive/Time/Period.php Outdated Show resolved Hide resolved
src/Supportive/Console/Subscriber/ConsoleSubscriber.php Outdated Show resolved Hide resolved
src/Supportive/Console/Subscriber/ConsoleSubscriber.php Outdated Show resolved Hide resolved
src/Supportive/Time/Stopwatch.php Outdated Show resolved Hide resolved
@patrickkusebauch
Copy link
Collaborator

patrickkusebauch commented Apr 27, 2023

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.

  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\Stopwatch                    
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:26                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:47                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:62                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:93                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:105                                                      
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:120                                                      
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:130    
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

@patrickkusebauch
Copy link
Collaborator

And can you please make the coloring of the output consistent? Sometimes you get it as regular output, other times as <info>

@patrickkusebauch
Copy link
Collaborator

patrickkusebauch commented Apr 27, 2023

From docs, hrtime() can return false:

"Returns false on failure."

You do not have that path covered.

@rubenrubiob
Copy link
Contributor Author

rubenrubiob commented Apr 28, 2023

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.

  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\Stopwatch                    
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:26                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:47                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:62                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:93                                                       
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:105                                                      
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:120                                                      
  Uncovered   Qossmic\Deptrac\Supportive\Console\Subscriber\ConsoleSubscriber has uncovered dependency on Qossmic\Deptrac\Supportive\Time\StopwatchException           
              /home/patrick/PhpstormProjects/deptrac2/src/Supportive/Console/Subscriber/ConsoleSubscriber.php:130    
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

Done! I changed it in both deptrac.yaml and deptrac.config.php. However, I do not know if the last one is necessary or not.

And can you please make the coloring of the output consistent? Sometimes you get it as regular output, other times as <info>

Done!

From docs, hrtime() can return false:

"Returns false on failure."

You do not have that path covered.

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:

ERROR: TypeDoesNotContainType - src/Supportive/Time/Period.php:27:13 - int does not contain false (see https://psalm.dev/056)
        if (false === $now) {


ERROR: TypeDoesNotContainType - src/Supportive/Time/StartedPeriod.php:21:13 - int does not contain false (see https://psalm.dev/056)
        if (false === $now) {
 ------ ------------------------------------------------------------------------------------------ 
  Line   Supportive/Time/Period.php                                                                
 ------ ------------------------------------------------------------------------------------------ 
  27     Strict comparison using === between false and (float|int) will always evaluate to false.  
         💡 Because the type is coming from a PHPDoc, you can turn off this check by setting       
            treatPhpDocTypesAsCertain: false in your phpstan.neon.dist.                            
 ------ ------------------------------------------------------------------------------------------ 

 ------ ------------------------------------------------------------------------------------------ 
  Line   Supportive/Time/StartedPeriod.php                                                         
 ------ ------------------------------------------------------------------------------------------ 
  21     Strict comparison using === between false and (float|int) will always evaluate to false.  
         💡 Because the type is coming from a PHPDoc, you can turn off this check by setting       
            treatPhpDocTypesAsCertain: false in your phpstan.neon.dist.                            
 ------ ------------------------------------------------------------------------------------------

I suppose both tools treat it like it will never fail, even though the docs say it may return false. I was not able to find where they explain it, nor when hrtime could fail.

What shall I do in this case? Should I not check that path?

@dbrumann
Copy link
Collaborator

Ignoring false from hrtime() is fine for me. I can't imagine this happening and if it does, we can deal with it separately in a bug ticket and then ignore the phpstan/psalm warnings explictly.

Copy link
Collaborator

@dbrumann dbrumann left a 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.

Copy link
Collaborator

@patrickkusebauch patrickkusebauch left a 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.

tests/Supportive/Time/PeriodTest.php Outdated Show resolved Hide resolved
tests/Supportive/Time/StartedPeriodTest.php Outdated Show resolved Hide resolved
@patrickkusebauch
Copy link
Collaborator

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.

@rubenrubiob
Copy link
Contributor Author

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.

Copy link
Collaborator

@patrickkusebauch patrickkusebauch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 LGTM

@dbrumann dbrumann merged commit a39d889 into qossmic:main May 2, 2023
github-merge-queue bot referenced this pull request in Lendable/aggregate May 23, 2024
[![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
[@&#8203;dbrumann](https://togithub.com/dbrumann) in
[https:/qossmic/deptrac/pull/1070](https://togithub.com/qossmic/deptrac/pull/1070)
- Exception clean up by
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1079](https://togithub.com/qossmic/deptrac/pull/1079)
- Extension documentation by
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/867](https://togithub.com/qossmic/deptrac/pull/867)
- Installation guide improved and aligned. by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;maciejkosiarski](https://togithub.com/maciejkosiarski) in
[https:/qossmic/deptrac/pull/1088](https://togithub.com/qossmic/deptrac/pull/1088)
- Mutation coverage improvements by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https:/qossmic/deptrac/pull/1087](https://togithub.com/qossmic/deptrac/pull/1087)
- Updating Result generation by
[@&#8203;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
[@&#8203;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
[@&#8203;TomasVotruba](https://togithub.com/TomasVotruba) in
[https:/qossmic/deptrac/pull/1113](https://togithub.com/qossmic/deptrac/pull/1113)
- Updated CollectorInterface namespace in docs by
[@&#8203;ariddlestone](https://togithub.com/ariddlestone) in
[https:/qossmic/deptrac/pull/1120](https://togithub.com/qossmic/deptrac/pull/1120)
- Better Violations by
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1105](https://togithub.com/qossmic/deptrac/pull/1105)
- Update configuration.md typo by
[@&#8203;gusdeboer](https://togithub.com/gusdeboer) in
[https:/qossmic/deptrac/pull/1140](https://togithub.com/qossmic/deptrac/pull/1140)
- Update dependencies by
[@&#8203;dbrumann](https://togithub.com/dbrumann) in
[https:/qossmic/deptrac/pull/1141](https://togithub.com/qossmic/deptrac/pull/1141)
- Implement ConfigBuilder by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1002](https://togithub.com/qossmic/deptrac/pull/1002)
- Add performance counters to ConsoleSubsriber by
[@&#8203;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
[@&#8203;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
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1165](https://togithub.com/qossmic/deptrac/pull/1165)
- Combine updates by [@&#8203;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
[@&#8203;dbrumann](https://togithub.com/dbrumann) in
[https:/qossmic/deptrac/pull/1176](https://togithub.com/qossmic/deptrac/pull/1176)
- Composer Collector by
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1174](https://togithub.com/qossmic/deptrac/pull/1174)
- PoC blog by
[@&#8203;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
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1185](https://togithub.com/qossmic/deptrac/pull/1185)
- [#&#8203;1158](https://togithub.com/qossmic/deptrac/issues/1158) -
only read file once for filereader by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1192](https://togithub.com/qossmic/deptrac/pull/1192)
- [#&#8203;1158](https://togithub.com/qossmic/deptrac/issues/1158) -
only init new ComposerFileParser once per composer.lock by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1193](https://togithub.com/qossmic/deptrac/pull/1193)
- Call `SuperGlobalToken::allowedNames()` just once by
[@&#8203;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
[@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1175](https://togithub.com/qossmic/deptrac/pull/1175)
- Bump composer dep by
[@&#8203;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
[@&#8203;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 [@&#8203;patrickkusebauch](https://togithub.com/patrickkusebauch) in
[https:/qossmic/deptrac/pull/1204](https://togithub.com/qossmic/deptrac/pull/1204)
- fix [#&#8203;1226](https://togithub.com/qossmic/deptrac/issues/1226) -
skipped multiple violations in one file by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1227](https://togithub.com/qossmic/deptrac/pull/1227)
- "deptrac" as composer bin by
[@&#8203;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
[@&#8203;xabbuh](https://togithub.com/xabbuh) in
[https:/qossmic/deptrac/pull/1251](https://togithub.com/qossmic/deptrac/pull/1251)
- Dev dependencies upgrade (PHPUnit & Psalm) by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;maciejkosiarski](https://togithub.com/maciejkosiarski) in
[https:/qossmic/deptrac/pull/1279](https://togithub.com/qossmic/deptrac/pull/1279)
- Update dep by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1280](https://togithub.com/qossmic/deptrac/pull/1280)
- Fix typo in the docs by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;benr77](https://togithub.com/benr77) in
[https:/qossmic/deptrac/pull/1342](https://togithub.com/qossmic/deptrac/pull/1342)
- bump composer.lock by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1344](https://togithub.com/qossmic/deptrac/pull/1344)
- WIP: test scoped release by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1352](https://togithub.com/qossmic/deptrac/pull/1352)
- update by
[@&#8203;gennadigennadigennadi](https://togithub.com/gennadigennadigennadi)
in
[https:/qossmic/deptrac/pull/1406](https://togithub.com/qossmic/deptrac/pull/1406)

#### New Contributors

- [@&#8203;d4s6](https://togithub.com/d4s6) made their first
contribution in
[https:/qossmic/deptrac/pull/1076](https://togithub.com/qossmic/deptrac/pull/1076)
- [@&#8203;maciejkosiarski](https://togithub.com/maciejkosiarski) made
their first contribution in
[https:/qossmic/deptrac/pull/1089](https://togithub.com/qossmic/deptrac/pull/1089)
- [@&#8203;TomasVotruba](https://togithub.com/TomasVotruba) made their
first contribution in
[https:/qossmic/deptrac/pull/1113](https://togithub.com/qossmic/deptrac/pull/1113)
- [@&#8203;ariddlestone](https://togithub.com/ariddlestone) made their
first contribution in
[https:/qossmic/deptrac/pull/1120](https://togithub.com/qossmic/deptrac/pull/1120)
- [@&#8203;gusdeboer](https://togithub.com/gusdeboer) made their first
contribution in
[https:/qossmic/deptrac/pull/1140](https://togithub.com/qossmic/deptrac/pull/1140)
- [@&#8203;rubenrubiob](https://togithub.com/rubenrubiob) made their
first contribution in
[https:/qossmic/deptrac/pull/1162](https://togithub.com/qossmic/deptrac/pull/1162)
- [@&#8203;jdreesen](https://togithub.com/jdreesen) made their first
contribution in
[https:/qossmic/deptrac/pull/1281](https://togithub.com/qossmic/deptrac/pull/1281)
- [@&#8203;alexander-schranz](https://togithub.com/alexander-schranz)
made their first contribution in
[https:/qossmic/deptrac/pull/1302](https://togithub.com/qossmic/deptrac/pull/1302)
- [@&#8203;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)
- [@&#8203;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add performance counters to ConsoleSubsriber
3 participants