Tobias Tobias 17.07.2015

Tideways July 2015 Release Changelog: Errors, I/O and more

As part of the July 2015 release we have published new versions of the Tideways PHP extension (v2.0.8) and daemon (v1.2.5) and activated several new features on the Tideways platform.

New Errors Screen

We have completely reworked the error screen to address a bunch of problems.

Before today's release, it was difficult finding errors that occurred before the last 60 minutes. Additionally errors where grouped only by transaction name and source (file+line), which made it hard to identify the real reason for an error. Finally, you couldn't set a status for errors, not knowing if errors were already fixed or not.

Starting from the new menu item "Errors" you can now see the two column overview with a list of recent errors on the left and details about the currently selected error on the right:

New Tideways PHP Error and Exception Detection ScreenNew Tideways PHP Error and Exception Detection Screen

You can filter errors by transactions they occurred in, by status and paginate through the list if there are more than 10 errors. Errors now have a status: They start with status Open when they are newly created. You can then either resolve them or mark them as not an error. If a resolved error occurres again, it is re-opened.

Waiting for I/O

XHProf has a mode to enable measuring the System+User CPU time for each function call (and thereby implicitly how long it was waiting for I/O). However enabling this mode for every function call is very expensive and we have therefore never used it for continuous monitoring in Tideways.

Computing this metric once for the whole request however is cheap, so we now collect this information. After you upgrade to the extension v2.0.8 every trace contains the Waiting for I/O numbers as shown in the following example:

Waiting for I/O Metric in TidewaysWaiting for I/O Metric in Tideways

Improved Installation Help

We constantly try to simplify and improve the installation help, because it is the source for most of the support requests and user frustration. This month we have focussed on removing superflous descriptions and simplify the commands to execute.

One more thing we added is direct feedback about the success of the installation. We will regularly poll for transmissions from the daemon and notify you during the setup when the first data is coming in successfully.

Feedback on First Trace Successfully SentFeedback on First Trace Successfully Sent

Bugfixes

We have also fixed a number of bugs and made small improvements:

  • Daemon: The init script now provides a status command, so that provisioning tools like Puppet and Chef can more easily detect if its running or must be started/restarted.

  • Daemon: Fixed the init script exiting with error when restarting hen the daemon was not previously running.

  • PHP Library: Fixed a bug when calling Tideways\Profiler::logException() or Tideways\Profiler::logFatal() before the Profiler was started.

  • UI: Dates are now correctly displayed in the local timezone as defined by the users browser. This fixes several errors and problems with the previous server-side timezone configuration.

Updating

To update Tideways to the most recent versions follow these instructions for dpkg and rpm based systems. On Debian or Ubuntu call:

sudo apt-get update
sudo apt-get install tideways-php tideways-daemon

On RedHat/CentOS:

sudo yum makecache --disablerepo=* --enablerepo=tideways
sudo yum update tideways-php tideways-daemon

If you install from tarball head over to the Downloads page for new packages.