Download the PHP package tuupola/instrument-middleware without Composer
On this page you can find all versions of the php package tuupola/instrument-middleware. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tuupola/instrument-middleware
More information about tuupola/instrument-middleware
Files in tuupola/instrument-middleware
Package instrument-middleware
Short Description PSR-7 Middleware for instrumenting PHP applications
License MIT
Homepage https://github.com/tuupola/instrument-middleware
Informations about the package instrument-middleware
Instrument middleware
Companion middleware for Instrument. Automates basic instrumenting of PSR-7 based application code.
Install
Install using composer.
Usage
You must have access to InfluxDB database to store the data. Configure the Instrument instance and pass it to the middleware. This is the only mandatory parameter. Heads up! The order of middlewares is important. Instrument middleware must be the last one added.
Or if you are using Slim 3 containers which is a bit cleaner.
What is logged?
Let's assume you have the following routes.
When request is made the middleware saves basic instrumentation data to the database.
Field bootstrap
is the time elapsed between start of the request and executing
the first middleware. Field total
is the time elapsed between starting the
request and exiting the last middleware. Note again that Instrument middleware
must be the last one added so it will be executed first when entering and
last when exiting the middleware stack.
Fields memory
and process
are the peak PHP memory usage and elapsed time
during the processing of the request. This includes the route or controller and
all other middlewares.
Tags method
and status
are the request method and the HTTP status code of
the response. Tag route
is the requested URI without query string.
Adding or overriding tags
You can add tags by using tags
parameter. It can be either an array or anonymous
function returning an array. Function receives both $request
and $response
objects
as parameters. If you return any of the default tags it will override the value
otherwise set by the middleware.
Is essentially the same as code below.
Customising field and tag names
All field and tag names can be customized. Following example changes all tag
and field names. It also changes the measurement name. In InfluxDB lingo MEASUREMENT
is the same as TABLE
in SQL world.
To disable a tag or field set it to false
.
Manually adding data
You can also manually add additional data to the measurement.
`
Testing
You can run tests either manually...
... or automatically on every code change.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.
All versions of instrument-middleware with dependencies
tuupola/instrument Version ^1.2
tuupola/witchcraft Version ^1.1
psr/http-message Version ^1.0