|
| 1 | +--- |
| 2 | +title: Using Tideways |
| 3 | +--- |
| 4 | + |
| 5 | +# Using Tideways |
| 6 | + |
| 7 | +[Tideways](https://www.tideways.com/) is a profiling tool ..... |
| 8 | + |
| 9 | +## Enabling Tideways |
| 10 | + |
| 11 | +Enabling the Tideways integration is very easy, it's only a few steps. |
| 12 | +This can be done in the CLI (command-line interface) of your Hypernode or with the [Control Panel](https://my.hypernode.com/). |
| 13 | + |
| 14 | +### Using the CLI |
| 15 | + |
| 16 | +First you need to log in to your Hypernode with SSH. |
| 17 | +After logging in, run the following commands: |
| 18 | + |
| 19 | +```console |
| 20 | +app@abcdef-example-magweb-cmbl:~$ hypernode-systemctl settings tideways_api_key my-tideways-api-key |
| 21 | +Operation was successful and is being processed. Please allow a few minutes for the settings to be applied. Run 'livelog' to see the progress. |
| 22 | +app@abcdef-example-magweb-cmbl:~$ hypernode-systemctl settings tideways_enabled True |
| 23 | +Operation was successful and is being processed. Please allow a few minutes for the settings to be applied. Run 'livelog' to see the progress. |
| 24 | +``` |
| 25 | + |
| 26 | +### Using the Control Panel |
| 27 | + |
| 28 | +## Tideways with Varnish |
| 29 | + |
| 30 | +If you are using Varnish in front of your application, you can use the |
| 31 | +`X-Tideways-Profiler` header to pass the profiling information to the backend |
| 32 | +application. This is useful if you want to profile a specific request, but |
| 33 | +don't want to enable profiling for all requests. |
| 34 | + |
| 35 | +To enable this feature, you need to add the following configuration to your |
| 36 | +Varnish configuration: |
| 37 | + |
| 38 | +```vcl |
| 39 | +if (req.esi_level > 0) { |
| 40 | + # ESI request should not be included in the profile. |
| 41 | + # Instead you should profile them separately, each one |
| 42 | + # in their dedicated profile. |
| 43 | + # Removing the Tideways header avoids to trigger the profiling. |
| 44 | + # Not returning let it go trough your usual workflow as a regular |
| 45 | + # ESI request without distinction. |
| 46 | + unset req.http.X-Tideways-Profiler; |
| 47 | +} |
| 48 | +
|
| 49 | +# bypass if tideways request |
| 50 | +if (req.http.X-Tideways-Profiler && client.ip ~ profile) { |
| 51 | + return (pass); |
| 52 | +} |
| 53 | +``` |
0 commit comments