{"id":18650975,"url":"https://github.com/kanti/server-timing","last_synced_at":"2025-06-29T17:04:57.552Z","repository":{"id":53931412,"uuid":"521908228","full_name":"Kanti/server-timing","owner":"Kanti","description":"EXT:server-timing adds Server-Timing Header with usefull information","archived":false,"fork":false,"pushed_at":"2025-05-23T13:17:44.000Z","size":248,"stargazers_count":12,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-23T12:54:01.354Z","etag":null,"topics":["hacktoberfest","php","server-timing","typo3","typo3-extension"],"latest_commit_sha":null,"homepage":"https://extensions.typo3.org/extension/server_timing","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kanti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2022-08-06T09:55:06.000Z","updated_at":"2025-05-23T13:17:25.000Z","dependencies_parsed_at":"2023-02-10T10:45:59.643Z","dependency_job_id":"a0db81fb-fdb0-4041-93ea-bcf3416dfd80","html_url":"https://github.com/Kanti/server-timing","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/Kanti/server-timing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kanti%2Fserver-timing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kanti%2Fserver-timing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kanti%2Fserver-timing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kanti%2Fserver-timing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kanti","download_url":"https://codeload.github.com/Kanti/server-timing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kanti%2Fserver-timing/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262632322,"owners_count":23340213,"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","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":["hacktoberfest","php","server-timing","typo3","typo3-extension"],"created_at":"2024-11-07T06:47:46.100Z","updated_at":"2025-06-29T17:04:57.499Z","avatar_url":"https://github.com/Kanti.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EXT:server_timing - see your performance\n\n![Server-Timing](./Documentation/Server-Timing.png)\n\n## installation\n\n`composer require kanti/server-timing`\n\nat the moment there is nothing to configure\n\n\u003e Server timings are not displayed in production for users who are not logged into the backend.\n\n## Included measurements:\n\n- `php`: from start of php call to the register shutdown function\n- `console.command`: from start of the console command call\n- `middleware.in`: will show how much time was spend in a middleware to prepare the Request\n- `middleware.out`: will show how much time was spend in a middleware to change the Response\n- `db`: shows the sql query's\n- `mail`: shows the mails that are send (only TYPO3 \u003e=12)\n- `dataP`: Shows the DataProcessors that were executed\n- `extbase`: show all Extbase dispatches, (forwards are included in the original action call)\n- `fileProcessing`: show all file processing calls\n- `http.client`: external API calls are measured if they use the official TYPO3 `RequestFactory` or the `GuzzleClientFactory`)\n\n\u003e if a measurement key has more than 4 entries, they will get combined into one total time with a count.\n\u003e And the 3 longest entries will be kept\n\n## Sentry Tracing\n\nif you have sentry enabled (different Extension eg. `pluswerk/sentry` or `networkteam/sentry-client`) than you can activate the tracing.\n- `sentry_sample_rate`\n  - if empty ` ` it will keep the setting that was set from the sentry extension.\n  - if set to a number like `0.1` it will track 10% of all Requests in sentry.\n- `sentry_cli_sample_rate`\n    - just like `sentry_sample_rate` but this setting is for the cli calls of the `typo3` binary\n- `stop_watch_limit` is set for long-running processes, if you get memory problems you can lower this setting. (default: 100_000)\n- you can force the Tracing of Requests by adding the Cookie `XDEBUG_TRACE` with any value.  \n![Tracing](./Documentation/Tracing.png)\n\n## Measure your own timings:\n\n### `stopWatch` function (recommended)\n\n````php\n\n  $stop = \\Kanti\\ServerTiming\\Utility\\TimingUtility::stopWatch('doSomething', 'additional Information');\n  $result = $this-\u003edoSomethingExpensive();\n  $stop();\n\n````\n\n### `start` \u0026 `stop` functions\n\n\u003e this has some limitations, there can only be one `doSomething` at a time.\n\n````php\n\n  \\Kanti\\ServerTiming\\Utility\\TimingUtility::start('doSomething', 'additional Information');\n  $result = $this-\u003edoSomethingExpensive();\n  \\Kanti\\ServerTiming\\Utility\\TimingUtility::end('doSomething');\n\n````\n\n# TODO List:\n\n## todos:\n\n- more tests\n\n## composer patches needed?\n\n- fluid renderings (possible solution with XClasses?)\n\n## wanted:\n\n- functional tests\n\n## nice to have?\n\n- ViewHelpers\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanti%2Fserver-timing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanti%2Fserver-timing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanti%2Fserver-timing/lists"}