slepic/psr-http-message-tracy-panel

A panel for Tracy, that traces PSR HTTP messages travelling between your PHP backend and other HTTP servers.

0.3.0 2019-05-01 16:17 UTC

README

Build Status Style Status

psr-http-message-tracy-panel

A panel for Tracy, that traces PSR HTTP messages travelling between your PHP backend and other HTTP servers.

Tracy Panel

Tracy Bar

Requirements

PHP 5.6 or 7.0

Installation

Install with composer:

composer require slepic/psr-http-message-tracy-panel

Usage

Basicaly you just need to:

  • create the bar panel using the factory Slepic\Tracy\Bar\PsrHttpMessagePanel\Factory and register it with Tracy\Debugger::getBar()->addPanel().

  • to create the panel instance you will need to feed it with an iterator of instances of Slepic\Http\Transfer\Log\LogInterface.

  • simple implementation of such iterator is included in the slepic/http-transfer package and is named Slepic\Psr\Http\Transfer\Log\ArrayStorage, which simply stores transfer log in a PHP array.

  • And lastly, you need to feed the storage with the transfer logs using your http client.

    • The slepic/http-transfer package provides HistoryObserver class which allows to easily collect the logs into your storage using your favourite http client.
    • Check slepic/http-transfer-observer-consumer for a list of adapters to see if there is one for your http client.

For usage see this example!

And of course it is super simple to register the panel in Nette's DI as described here.

TODOs

  • Create another package to provide integration with PSR HTTP Client

Changelog

0.3.0

  • Removed class PsrHttpMessagePanel
  • Factory is now used to create the panel, using TemplatedBarPanel class from slepic/templated-tracy-bar-panel package as the target implementation.
  • Slepic\Psr namespace is now replaced by package slepic/http-transfer
  • support for guzzle moved to slepic/guzzle-http-observing-middleware
  • BC break: totally everythig

0.2.0

  • Added support for transfer duration
  • Improved panel layout