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

[Workflow] Add a profiler #51204

Merged
merged 1 commit into from Aug 1, 2023
Merged

Conversation

lyrixx
Copy link
Member

@lyrixx lyrixx commented Aug 1, 2023

Q A
Branch? 6.4
Bug fix? no
New feature? yes
Deprecations? no
Tickets
License MIT
Doc PR

With this project lyrixx/SFLive-Paris2016-Workflow

image

workflow.webm

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm totally a bad UI designer, so I found this on the web, and I adapted it a bit.
Feel free to replace it with something better

cc @jonathanlevaillant

@stof
Copy link
Member

stof commented Aug 1, 2023

This panel does not collect any info related to the request. It only collect info about the configuration of the project, which will be the same for all requests. In the past, we removed some panels like that.

@lyrixx
Copy link
Member Author

lyrixx commented Aug 1, 2023

I thought about doing everything at runtime (I mean without all the collector stuff). But I changed my mind because the workflow can evolve between 2 requests. And we collect already some information about listener, doctrine entities. API-P does the same with the resources, and so on

And this panel is really useful. I'm working on a new projet, with a huge workflow, and it helped me a lot to build the configuration.

And I plan to add more information to it, like the list of all event listeners. This features has been requested in #50976

So I would be very happy to get this merged, it'll be a game changer for everyone using the workflow component

@fabpot
Copy link
Member

fabpot commented Aug 1, 2023

We already one such panel: "configuration"

@lyrixx
Copy link
Member Author

lyrixx commented Aug 1, 2023

Note: In future version, this panal will also display more things

  • The current marking of the subject (if a call has been made to the workflow obliviously)
  • Current content of TransitionBlockerList
  • Perf metrics about all listeners

So it could not fit in the configuration panel

It will be something like the security panel : some configuration + some request related content

@94noni
Copy link
Contributor

94noni commented Aug 1, 2023

i also find it useful even if not linked to request/response flow
reminds me #39114

@fabpot
Copy link
Member

fabpot commented Aug 1, 2023

Thank you @lyrixx.

@fabpot fabpot merged commit 1300cc2 into symfony:6.4 Aug 1, 2023
3 of 9 checks passed
@lyrixx lyrixx deleted the workflow-data-collector branch August 1, 2023 15:45
This was referenced Oct 21, 2023
@andreybolonin
Copy link

@lyrixx I used your WorkflowExtension to dump Workflow builded on the fly (in Controller), but I see some blocks is rendered on grey background

Screenshot 2023-10-24 at 13 03 53

How you fixed this?

I used the same code on frontend (mermaid.js and the same ver of bootstrap.min.css)

@lyrixx
Copy link
Member Author

lyrixx commented Oct 24, 2023

I'm not sure to understand your issue. Could could open a github discussion to talk about that? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants