Download the PHP package kirik/web-profiler-ui without Composer
On this page you can find all versions of the php package kirik/web-profiler-ui. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package web-profiler-ui
WEB Profiler UI
Created to simplify the process of searching for bottlenecks in web projects. Click here to see it in action.
Features
- Backend-independent design: can be used with any backend (PHP, Golang, Node.js, Java, ...)
- PHP
supported
(please refer to the library) - Golang
in development
- For others, please don't hesitate to PR an adapter for your programming language
- PHP
- Docked mode
- Floating window mode
- Waterfall span view
- AJAX requests support
- Small footprint
- No dependencies: written with vanilla JS, CSS, and HTML
- Stateful with localStorage (remembers docking/floating mode, folding, and size)
- Go to row from Summary view (just click on span)
Floating window mode
Docked mode
Build&Run
You don't need to run anything just to play with the profiler. Please see the playground.
If you'd like to run the project locally:
-
Clone this project
- Run any HTTP server to open
index.html
:
Python
PHP
IntelliJ IDEs
You can run the project with your IntelliJ IDE using the embedded web server. Just open index.html
and click on
your favorite browser icon in the browser toolbar:
Internals
Profiler is embedded using an iframe just to avoid CSS collisions with the parent page.
- script.js contains all JS used to render profiling data
- style.css contains the main CSS for the profiler
- template.html is the main template file
Backends should send an appropriate response to be parsed by the profiler and draw spans:
Collector object
To render AJAX responses, they should provide a full response with the __profiler
property along with business data:
I'm avoiding using HTTP headers to send profiler data with AJAX as it requires special settings for HTTP servers. I also don't like to save responses to files to use them later, as it requires a writable filesystem and other file-related logic (be KISS).
Adapters
An adapter is a small piece of language-related code (aka interface) to connect the UI to the web project. Supported adapters:
- PHP (library)
- Golang (WIP)
Developing
Makefile is used just to minify CSS and JS after editing.
PHP adapter
Please initialize Composer with the command
and then open index.php.
Roadmap
- [x] create playground
- [ ] add php library
- [ ] add golang adapter and library
- [ ] add dark mode