Services

The services feature allows you to group transactions into different sets that belong together and get aggregated together in their own chart and overall response time.

When your application is a combination of multiple services combined with CLI scripts or workers running in different contexts, then having just one aggregated chart with just one response time can distort your view of the real picture. The response times, request numbers and error rates are aggregated by comapring apples with oranges.

Prerequisites

To use the services feature, you must be subscribed with an Basic, Standard, or Pro application or to one of the old Medium (3M, ...) plans.

You must use the PHP extension version 4.1.1+ and the daemon 1.5.3+. Check the "Application Settings => Servers" screen to see which versions you are using. Please see the upgrading documentation to get a newer version.

If you are configuring services and are on a smaller plan, then the data will be discarded by the daemon.

Configuration

By default all monitored requests are assigned to the service web, which is also the default service being shown in the application overview inside Tideways and in the weekly report e-mail and history.

To start collecting data with a different service name, you can use one of three different configuration mechanisms.

Inside your tideways.ini, php.ini or webserver ini directives you can set the variable:

tideways.service=myservice1

In environment variables passed to PHP you can set:

TIDEWAYS_SERVICE=myservice1

Programatically in your PHP code you can set the service at runtime:

if (class_exists('Tideways\Profiler')) {
    \Tideways\Profiler::setServiceName('myservice1');
}

Of if you are starting Tideways from within your PHP code you can set it as well:

if (class_exists('Tideways\Profiler')) {
    \Tideways\Profiler::start(array('api_key' => 'XYZ', 'service' => 'myservice1'));
}

No other configuration is needed, service names are automatically registered with the Tideways backend and data gets aggregated accordingly. Once services in addition to web are reporting, the user interface automatically shows a dropdown for selection.

The service name can contain alphanumeric characters, a dash or underscore. It must not contain spaces or other non alphanumeric characters or it will be rejected.

The service "web" for user-facing traffic

Currently there is a limitation that user facing traffic should all be in the default service named "web". This is the default service shown to you when clicking on the application and it is currently the service that is used for computing the historical data.

Enable CLI Monitoring

For backwards compatibility reasons the CLI monitoring is disabled by default in v4.1 of the PHP extension. To automatically monitor CLi scripts in a special service called cli, you can set the INI variable tideways.enable_cli=1.

Current Limitations

There are some limitations to the services feature that you should know:

The number of services is limited to 10 at the moment. We want to monitor how this feature is used before starting to increase this value. This can also include a configuration screen on the backend to disable monitoring of selected services.

Still need help? Write [email protected] Write [email protected]