Benjamin Benjamin 31.01.2017

Introducing Services: Monitoring micro-services, CLI scripts and workers separately

Your web applications usually runs in multiple contexts: the webserver, inside workers and as a cronjobs and it might even include calls to other micro- or SoA-services.

Today we introduce "Services" in Tideways, a feature that allows you to group transactions into multiple services that are part of a single application.

This feature is used through configuration on the PHP side by either setting an INI variable (or environment variable TIDEWAYS_SERVICE):

tideways.service=api

Or programatically from within your code by calling:

\Tideways\Profiler::setServiceName('api');

This will automatically start aggregating data on the new service called api and the data will be visible in the UI with no further configuration necessary. It will also show aggregated performance data for every transaction within a service. By default all requests are tracked in the service web and if you enable the tideways.monitor_cli=1 setting, then all CLI scripts are monitored in the service cli.

Before we introduced this feature, the "workaround" has been creating mutiple applications for each service, but since there is no way to connect data between multiple applications, you had to look in many places and connect information yourself.

By making different services within an application a first-class citizen in Tideways we can now work on connecting the dots and uncover this information automatically.

Please read the "Configuring Services" section in the documentation for more information on how this feature works.

"Services" are available to all customers with a medium plan (3M and up). You need to update the PHP extension to v4.1.1 and the daemon to v1.5.3 to make use of this feature.