chrisjohnson00 / api-profiler-bundle
A Symfony 2 bundle to add an API Profiler to the debug toolbar
Installs: 261
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.0
- symfony/symfony: >=2.1
This package is not auto-updated.
Last update: 2021-01-31 21:15:33 UTC
README
This bundle adds a REST API profiler/debugger to the Symfony 2 Profiler
Continuous Integration
Installation
Installation by Composer
Add ApiProfilerBundle bundle as a dependency to the composer.json of your application
"require": {
...
"chrisjohnson00/api-profiler-bundle": "dev-master"
...
},
Or on the command line with
composer require chrisjohnson00/api-profiler-bundle
Add ApiProfilerBundle to your application kernel.
// app/AppKernel.php <?php // ... public function registerBundles() { $bundles = array( // ... new ChrisJohnson00\ApiProfilerBundle\ChrisJohnson00ApiProfilerBundle(), ); }
Configuration
To change the default warning & error thresholds (used for coloring in the toolbar), you can add these configs. Note: these configs are completely optional!
chris_johnson00_api_profiler:
# Changes the warning threshold time (ms). This is used to change the toolbar to yellow when the total response time is > this value
warning_threshold: 5000 # Example: 5000
# Changes the error threshold time (ms). This is used to change the toolbar to red when the total response time is > this value
error_threshold: 10000 # Example: 10000
Usage
A service will be registered by the name of data_collector.api_request
. To have API request information included in the profiler, you must attach the profile data using the service.
$theService->attachData($theURL, $theRequestMethod, $theRequestHeadersAsAnAssociativeArray, $theRequestBody, $theResponseTimeInMilliseconds, $theResponseHeadersAsAnAssociativeArray, $theHTTPStatusCode, $theResponseBody);
Here's the full signature:
public function attachData( $url, $method, $requestHeaders = array(), $requestBody = null, $time, $responseHeaders = array(), $statusCode, $responseBody = null)
Here's a simple example:
$theService->attachData("http://localhost/api/status", "GET", array('User-Agent'=>'My fancy application'), null, 125, array('Date'=>'Mon, 07 Oct 2013 00:50:46 GMT','Server'=>'Apache'), 200, "Everything is groovy!!");