We think monitoring and tracing should be performed across the whole application lifecycle and that it should be easy to compare changes between production, staging/QA and production environments.
But for technical reasons we had to remove explicit support for multi-environment monitoring and tracing almost 2 years ago, when our backend and worker jobs couldn’t handle the data from our original prototype data model.
Since back then we recommended to create additional applications for each environment, which was a “hack” that made comparisons between the different environments impossible and required us to introduce additional concepts such as “Staging Applications” when we introduced our new application based pricing model in March 2017.
This week we re-introduced Environments as a feature into Tideways. Every application with a “Basic” or “Standard” license can now monitor and collect data separately from the production servers into individual environments. You can have an unlimited amount of different environments and a limited amount of them active at the same time (based on the license). Using settings in the UI or a REST API you can control the active environments and integrate them into your development or continuous integration workflow easily.
Switching between environments in the UI is then as simple as using the Service/Environment switcher in the application’s main screen, see an example of that for our own Tideways Profiler application in this screenshot:
Using the “Compare Trace” functionality you can now select traces between different environments. The Trace List screen has a new filter for the environment to make the selection simple.
Over the next weeks we will add more functionality to compare environments with each other for performance degradations both manually from the UI and automatically via notifications and hooks.
See the documentation on how to get started with Environments. We recommend everyone using staging applications today, to migrate to environments.