Skip to content

FEATURE: Improve metrics and modernise plugin - #27

Open
Sebobo wants to merge 21 commits into
mainfrom
feature/new-improvements
Open

FEATURE: Improve metrics and modernise plugin#27
Sebobo wants to merge 21 commits into
mainfrom
feature/new-improvements

Conversation

@Sebobo

@Sebobo Sebobo commented Jul 26, 2026

Copy link
Copy Markdown
Member

New features:

  • Track search queries based on Neos.ContentRepository.Search
  • Sortable cache entry table
  • Cache entry table directly shows rendering times
  • Show messages from MessageCollector in additional metrics
  • MessageCollector can now be used as a static class for simplified usage
  • Show cumulative cache hits, misses and sets in cache metric summary

Improvements:

  • Introduce PHP Stan and verify in GH Action
  • Check JS build in GH Action
  • Refactoring in js components
  • Bump JS dependencies
  • Reduce js bundle size
  • Updated docs

@Sebobo
Sebobo marked this pull request as ready for review July 27, 2026 09:35
@Sebobo Sebobo changed the title WIP FEATURE: Improve metrics and modernise plugin FEATURE: Improve metrics and modernise plugin Jul 27, 2026
Comment thread Documentation/Metrics.md

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

i understand the idea of this file but im not sure how we should could keep it up to date. There are things mentioned like PHP class and mehod names which are purely an implementation detail and can change anytime. These details are imo not relevant to the user. And also not understood without further context.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I would rather recommend adding a shared interface and adding documentation there or something maybe via php attribute

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

People rarely look at the code for documentation.

I want a doc page for each feature and explain their use cases. So this is the (auto-generated) start of that. It will require screenshots etc. to give more value.

Comment thread phpstan-bootstrap.php
Comment on lines +5 to +13
/**
* Bootstrap file that locates the Composer autoloader regardless of where
* the package is installed (monorepo DistributionPackages/, Neos Packages/Plugins/, etc.).
*/
$possiblePaths = [
__DIR__ . '/../../Packages/Libraries/autoload.php',
__DIR__ . '/../../Libraries/autoload.php',
__DIR__ . '/../../../Packages/Libraries/autoload.php',
];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

interesting idea ... but isnt it already limited because the composer script only looks up phpstan which must be in $PATH and its only in path if this package itself is the root which it never actually is if it should work in production with Flow?

"require-dev": {
        "phpstan/phpstan": "^1.10"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Huh? Composer finds all binaries from all dependencies if they marked them. This path workaround is just so that phpstan finds all relevant classes no matter where and how the package is installed with the same config.

Sebobo added 4 commits August 1, 2026 16:41
The performance hit in rendering can be up to 20% depending on the complexity of a page. So this should be used when needed and further optimised in the future if possible.
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.

2 participants