These examples show how to identify the different types of criteria and qualifiers, and resulting formulas when creating a derived column for an SLI.
For all events, return true
if duration_ms < 1000
.
LT($duration_ms, 1000)
A trace root does not have a parent.
This SLI returns true
for trace roots whose response duration is under 100, false
for trace roots whose duration is over 100, and null
for non-roots.
IF(
NOT(EXISTS($trace.parent_id)),
LT($duration_ms, 100)
)
Our qualifier here is whether request.path
is /home
.
If it is, then this SLI only returns true
if both duration_ms
is under 100, and there is no error message.
IF(
EQUALS($request.path, "/home"),
AND(
LT($duration_ms, 100),
NOT(EXISTS($app.error)),
)
)
The qualifier here is events that hit the “/main” endpoint, using the method post, and are not marked as error code 401
.
The criterion is that events must have a status code of 200
.
In addition, if they are part of a batch, then data processing must have taken less than 5 ms per item.
IF(
AND(
EQUALS($request.path, "main"),
EQUALS($request.method, "POST"),
NOT(EQUALS($response.status_code, 401))
),
AND(
EQUALS($response.status_code, 200),
LT(
DIV(
$duration_ms,
IF($app.batch, $app.batch_total_datapoints, 5)
),
5
)
)
)