EXT:server-timing adds Server-Timing Header with usefull information

Overview

EXT:server_timing - see your performance

Server-Timing

installation

composer require kanti/server-timing

at the moment there is nothing to configure

Server timings are not displayed in production for users who are not logged into the backend.

Included measurements:

  • php: from start of php call to the register shutdown function
  • middleware: will show how much time was spend in the inward and outward middleware directions
  • sql: shows the sql query's
  • extbase: show all Extbase dispatches, (forwards are included in the original action call)
  • guzzle: external API calls are measured if they use the official TYPO3 RequestFactory or the GuzzleClientFactory)

if a measurement key has more than 4 entries, they will get combined into one total time with a count. And the 3 longest entries will be kept

Measure your own timings:

stopWatch function (recommended)

  $stop = \Kanti\ServerTiming\Utility\TimingUtility::stopWatch('doSomething', 'additinal Information');
  $result = $this->doSomethingExpensive();
  $stop();

start & stop functions

this has some limitations, there can only be one doSomething at a time.

  \Kanti\ServerTiming\Utility\TimingUtility::start('doSomething', 'additinal Information');
  $result = $this->doSomethingExpensive();
  \Kanti\ServerTiming\Utility\TimingUtility::end('doSomething');

TODO List:

todos:

  • more tests
  • auto release int TER

composer patches needed?

  • fluid renderings (possible solution with XClasses?)

wanted:

  • functional tests

nice to have?

  • ViewHelpers
You might also like...
A plugin that adds minions to your Minecraft Server
A plugin that adds minions to your Minecraft Server

BetterMinion A plugin that adds minions to your Minecraft Server ⚠️ This project is currently unfinished and needs some help! If you'd like to help us

PocketMine-MP plugin that adds new blocks to the server!

CustomBlockLoader PocketMine-MP plugin that adds new blocks to the server! Reference This plugin is experimental. We are not responsible for any probl

Extracts information about web pages, like youtube videos, twitter statuses or blog articles.
Extracts information about web pages, like youtube videos, twitter statuses or blog articles.

Essence is a simple PHP library to extract media information from websites, like youtube videos, twitter statuses or blog articles. If you were alread

Fact Extraction and VERification Over Unstructured and Structured information

Repository for Fact Extraction and VERification Over Unstructured and Structured information (FEVEROUS), used for the FEVER Workshop Shared Task at EMNLP2021.

PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP language

php-text-analysis PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP l

Add information about PGP public keys on upload in Kirby v3
Add information about PGP public keys on upload in Kirby v3

Kirby3 GnuPG This plugin adds information about PGP public keys on upload, using gpg binary (which needs to be installed for this to work). Getting st

Here is an Instagram Guest API. Gather all public information as JSON format without logging yourself.

Here is an Instagram Guest API. Gather all public information as JSON format without logging yourself. It's all automation and time saving.

This is a PHP library developed for Symfony to collect address information.

Goldbach Algorithms Address Info Getter (fondly nicknamed AIG) is a PHP library developed for Symfony to collect address information.

Releases(1.0.9)
  • 1.0.9(Dec 12, 2022)

    What's Changed

    • fix phpstan by @Kanti in https://github.com/Kanti/server-timing/pull/15

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.8...1.0.9

    Source code(tar.gz)
    Source code(zip)
  • 1.0.8(Oct 8, 2022)

    What's Changed

    • πŸ› fix TER version overview by @Kanti in https://github.com/Kanti/server-timing/pull/12

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.7...1.0.8

    Source code(tar.gz)
    Source code(zip)
  • 1.0.7(Oct 8, 2022)

    What's Changed

    • πŸ› fix PHP Warning: Undefined property for Response by @Kanti in https://github.com/Kanti/server-timing/pull/11

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.6...1.0.7

    Source code(tar.gz)
    Source code(zip)
  • 1.0.6(Sep 23, 2022)

    What's Changed

    *✨ add automatic ter release by @Kanti in https://github.com/Kanti/server-timing/pull/10

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.5...1.0.6

    Source code(tar.gz)
    Source code(zip)
  • 1.0.5(Sep 20, 2022)

    What's Changed

    • πŸ› line breaks are not allowed in HTTP headers by @Kanti in https://github.com/Kanti/server-timing/pull/9

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.4...1.0.5

    Source code(tar.gz)
    Source code(zip)
  • 1.0.4(Aug 26, 2022)

    What's Changed

    • Delete measure-php.php by @Kanti in https://github.com/Kanti/server-timing/pull/7
    • πŸ› fix rejected Guzzle RejectedPromise error by @Kanti in https://github.com/Kanti/server-timing/pull/8

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.3...1.0.4

    Source code(tar.gz)
    Source code(zip)
  • 1.0.3(Aug 19, 2022)

    What's Changed

    • Create Extension.svg by @Kanti in https://github.com/Kanti/server-timing/pull/6

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.2...1.0.3

    Source code(tar.gz)
    Source code(zip)
  • 1.0.2(Aug 18, 2022)

    What's Changed

    • ✨ add more 'last' middlewares by @Kanti in https://github.com/Kanti/server-timing/pull/5

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.1...1.0.2

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Aug 15, 2022)

    What's Changed

    • πŸ› #3 fix error with multiple middleware runs by @Kanti in https://github.com/Kanti/server-timing/pull/4

    Full Changelog: https://github.com/Kanti/server-timing/compare/1.0.0...1.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Aug 15, 2022)

    What's Changed

    • ✨ add pipeline and tests by @Kanti in https://github.com/Kanti/server-timing/pull/1
    • βœ… add more tests by @Kanti in https://github.com/Kanti/server-timing/pull/2

    New Contributors

    • @Kanti made their first contribution in https://github.com/Kanti/server-timing/pull/1

    Full Changelog: https://github.com/Kanti/server-timing/commits/1.0.0

    Source code(tar.gz)
    Source code(zip)
Owner
Matthias Vogel
Matthias Vogel
Contains a few tools usefull for making your test-expectations agnostic to operating system specifics

PHPUnit Tools to ease cross operating system Testing make assertEquals* comparisons end-of-line (aka PHP_EOL) character agnostic Make use of EolAgnost

Markus Staab 1 Jan 3, 2022
JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

Eboubaker Eboubaker 2 Jul 31, 2022
My first attempt at creating my own Rubik's Cube timing interface with PHP and JS!

Cubing Sessions My first attempt at creating my own Rubik's Cube timing interface with PHP and JS! I haved named it the PA Timer for fun, as I hail fr

Adam Gradess 0 Jan 12, 2022
Php-timer - Utility class for timing

phpunit/php-timer Utility class for timing things, factored out of PHPUnit into a stand-alone component. Installation You can add this library as a lo

Sebastian Bergmann 7.4k Jan 5, 2023
CRUD Build a system to insert student name information, grade the class name, and edit and delete this information

CRUD Build a system to insert student name information, grade the class name, and edit and delete this information

Sajjad 2 Aug 14, 2022
A SilverStripe module for conveniently injecting JSON-LD metadata into the header of each rendered page in SilverStripe

A SilverStripe module for conveniently injecting JSON-LD metadata into the header of each rendered page in Silver

null 4 Apr 20, 2022
A simple package to send HTTP header responses ✨

PHP HTTP Response Simple PHP package to easily send the right HTTP header responses to the browser ?? Requirement PHP v8.0 or higher ?? Installation T

β™š PH⑦ de Soriaβ„’β™› 5 Jun 11, 2023
It allows frontend developer to send ajax requests and return a custom information from the server without a php developer help

[Magento 1 Extension] It allows frontend developer to send ajax requests and return a custom information from the server without a php developer help (without any php code).

Vladimir Fishchenko 62 Apr 1, 2022
A php package to get the server information.

A php package to get you the server information Install Via Composer $ composer require ameetroy/server Usage use BubbleGum\Sweety; $getTotalSpace =

null 4 May 23, 2022
A plugin that adds minions to your Minecraft Server

BetterMinion A plugin that adds minions to your Minecraft Server ⚠️ This project is currently unfinished and needs some help! If you'd like to help us

Khang Nguyen 1 Jul 30, 2022