Periodic Builds constitute a unique Synthetic Monitoring technique.
They allow you to simulate regularly a given set of actions or path that an end-user
would take on your site. Each scenario step triggering back-end code execution
(PHP or Python) automatically generates a profile of that code.
Each profile is being tested against your custom assertions as well as Blackfire
Only publicly accessible websites can be targeted by Blackfire to run scheduled
scenarios. As such you need to properly configure your environment by setting
an accessible endpoint.
This can be done in the Settings tab of your environment.
If your environment is configured as a development environment, you may need
to use our SDK.
Please note that, for now, only the PHP SDK enables
you to trigger builds.
There are 2 ways to configure periodic builds:
You then need to enable the periodic builds:
Builds can be run in the following intervals (only one can be chosen):
You may specify advanced settings such as:
This is the simplest way to start periodic builds.
In your Environment Dashboard, scroll down until you see the
Configuration panel, and click on the edit icon to add URLs to test:
The tests defined in your .blackfire.yaml file will
be run for each configured URL.
If no tests are defined, Blackfire will only evaluate recommendations.
However, these recommendations will not make your build fail.
In this mode, you are only able to test URLs using HTTP GET method.
The most comprehensive way to run builds is to define your scenarios in
your .blackfire.yaml file.
Writing scenarios gives you total control over the test browser behavior, to
use other HTTP methods than GET, to click on buttons, and to check elements in
resulted pages (JSON and HTML are supported).
Blackfire Player under the hood
Blackfire Player is used under the hood
by Blackfire build system. As such, you may use any instruction
supported by Blackfire Player in your
scenarios, including expectations and Blackfire assertions.
When using builds, it is possible to compare one build to another, with the
help of percent() and diff() functions in your assertions.
The comparison is always made between the current build and a reference build.
As for periodic builds, the reference build is the last successful build in
the same environment.