Request Sampling
Tideways provides several ways that allow you to reduce the number of requests made to an organization to control which tier you end up with.
This process is called sampling and reduces the amount of data that Tideways looks at for signals of performance issues and errors.
| Errors, Exceptions or Triggered Traces that occur in non-sampled requests are not reported to Tideways. This may lead to skewed statistics, important traces or errors missing and to no notifications sent for these errors. |
On the Enterprise plan, there is the option to pay based on the number of transactions/endpoints and get unlimited requests. Reach out to [email protected] if this is an option you want to discuss.
The following options are available for request sampling:
-
For Business and Enterprise plans starting with the 15M Tier, you can configure a global sampling rate through the organization settings or let Tideways automatically adjust the sampling rate to your monthly limit. (Early Access, please contact [email protected] to enable this).
-
You can ignore endpoints and transactions that are not providing valuable requests, such as health checks, either from the UI or through the Profiler PHP API.
-
Deactivate a whole service so that no requests are recorded for it. This only works for non-default services.
-
Disable data transmission for a selected server from the project settings > server screen.
-
Implement your own sampling strategy in code using the Profiler PHP API:
<?php
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
if (class_exists('Tideways\Profiler') &&
$request->getPathInfo() === '/health' &&
random_int(0, 99) >= 90) {
\Tideways\Profiler::ignoreTransaction();
}
The tideways.sample_rate only controls how many full traces are collected
from all requests. It does not reduce the number of requests monitored by Tideways.
|