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

Product

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:

TidewaysProfiler::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.

About the author

  • Benjamin

Benjamin
Founder & CEO

I am the founder and CEO of Tideways. I started the company over 10 years ago with the mission to move the PHP ecosystem forward, starting with performance. As managing director, I work across product, strategy, and the day-to-day of building a developer-focused SaaS business.

I’m a core contributor to the Doctrine open-source project and a founding board member of the PHP Foundation, which reflects my long-standing commitment to the PHP ecosystem. I particularly enjoy working at the intersection of application performance, developer experience, and the open-source community that makes PHP what it is. Outside of work, I enjoy board games, hiking, and coffee.