We use cookies or similar technologies to personalize your online experience and tailor marketing to you. Many of our product features require cookies to function properly. Your use of this site and online product constitutes your consent to these personalization technologies. Read our Privacy Policy to find out more.

X

SLI Cookbook

This section presents a few examples of different types of criteria and qualifiers.

No qualifier

For all events, return true if duration_ms < 1000.

LT($duration_ms, 1000)

Qualifier is trace roots

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)
	)

Criterion is based on both duration and error

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)),
   )
)

Complex criterion, complex qualifier

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)
  )
)