{"id":17989513,"url":"https://github.com/evilfreelancer/xhprof-ui-js","last_synced_at":"2025-11-03T17:00:06.748Z","repository":{"id":110658200,"uuid":"431810284","full_name":"EvilFreelancer/xhprof-ui-js","owner":"EvilFreelancer","description":"Modern, flexible and mobile friendly application for analyzing PHP XHProf dumps","archived":false,"fork":false,"pushed_at":"2024-09-27T08:40:55.000Z","size":3978,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T14:21:22.351Z","etag":null,"topics":["javascript","meterial-ui","react","redux","xhprof","xhprof-ui"],"latest_commit_sha":null,"homepage":"https://xhprof-ui-js.xyz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvilFreelancer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-25T10:52:43.000Z","updated_at":"2024-11-06T16:57:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"3230bc97-4803-45f2-ad1d-1021cccf3bab","html_url":"https://github.com/EvilFreelancer/xhprof-ui-js","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/EvilFreelancer/xhprof-ui-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fxhprof-ui-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fxhprof-ui-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fxhprof-ui-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fxhprof-ui-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvilFreelancer","download_url":"https://codeload.github.com/EvilFreelancer/xhprof-ui-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvilFreelancer%2Fxhprof-ui-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282494848,"owners_count":26678624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-03T02:00:05.676Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","meterial-ui","react","redux","xhprof","xhprof-ui"],"created_at":"2024-10-29T19:14:51.373Z","updated_at":"2025-11-03T17:00:06.200Z","avatar_url":"https://github.com/EvilFreelancer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XHProf-UI.js\n\nModern, flexible and Mobile friendly UI for\nviewing [XHProf](https://github.com/longxinH/xhprof) dumps.\n\n| Desktop | Mobile |\n|---------|--------|\n|![Main Window Dektop](./images/main-window.jpg)|![Main Window Mobile](./images/main-window-mobile.jpg)|\n\n## Table of Contents\n\n* [Features](#Features)\n    * [Selecting visible columns](#Selecting-visible-columns)\n    * [Searching and filtering](#Searching-and-filtering)\n    * [Order by column](#Order-by-column)\n    * [Pagination](#Pagination)\n* [How to install](#How-to-install)\n* [Other](#Other)\n\n## Features\n\nThe main idea of this application is to make it possible to read dumps\nof the XHProf profiler without installing setting up a database, an\ninterpretator on a backend, and so on.\n\nAll you need is a browser and the XHProf's dump files.\n\nBecause IT \"things\" should be as simple as possible!\n\nPlus, the existing systems for viewing XHProf files do not support\nmobile devices, but of course, you may open legacy XHProf UI or LiveProf\nor any other systems on mobile, but the UI will cause a headache because\nthese systems are optimized only for desktops. But sometimes you really \nwant to download a dump file from the Slack and just quickly watch it on \nyour mobile phone :)\n\n### Selecting visible columns\n\nSometimes you need just check Wall Time in combination with amount of\nfunction Calls, on exists XHProf viewers you can't turn off not required\ncolumns, but this app support this feature.\n\nButton which opens this modal can be found on the left side of a main menu.\n\n| Desktop | Mobile |\n|---------|--------|\n|![Columns Dektop](./images/columns.jpg)|![Columns Mobile](./images/columns-mobile.jpg)|\n\n### Searching and filtering\n\nIf you need a filter by function just click on the required function,\nif you don't know the full name of a function, then you may find it via\nsearch.\n\n| Desktop | Mobile |\n|---------|--------|\n|![Filter Dektop](./images/filter.jpg)|![Filter Mobile](./images/filter-mobile.jpg)|\n\n### Order by column\n\nThe application may order XHProf results in ASC and DESC order,\njust click to column at table header.\n\n### Pagination\n\nOn \"desktop view\" at the left bottom corner of the application you may find a pagination component.\n\nOn \"mobile view\" in top menu you may find \"book\" icon, this icon opens a pagination modal.\n\n| Desktop | Mobile |\n|---------|--------|\n|![Pagination Dektop](./images/pagination.jpg)|![Pagination Mobile](./images/pagination-mobile.jpg)|\n\n## How to install\n\nClone the repo, then in the project directory you can run:\n\n```shell\nnpm install\n```\n\nThis command will install required packages described in\n[package.json](./package.json) and [package-lock.json](./package-lock.json).\n\nThen run the app in the development mode:\n\n```shell\nnpm start\n```\n\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nBut in case if you need deployable application instead of `npm start` us this:\n\n```shell\nnpm run build\n```\n\nThis command build the app for production to the `build` folder.\n\n## Usage\nHow to save xhprof data in the correct format for this tool:\n```\nxhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);\n\n//your code to analyze here\n\n$xhprof_data = xhprof_disable();\n\nfile_put_contents('/tmp/xhprof.json', json_encode($xhprof_data));\n```\n\n## Other\n\nThis application created using following technologies:\n\n* [React](https://reactjs.org/)\n* [Redux](https://redux.js.org/)\n* [Material UI](https://mui.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfreelancer%2Fxhprof-ui-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilfreelancer%2Fxhprof-ui-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfreelancer%2Fxhprof-ui-js/lists"}