Skip to content

[General] Additional baseline parameters

Marcel Verkerk edited this page Dec 17, 2019 · 1 revision

The baseline parameter

In addition to the three baseline parameters that are used to calculate the baseline (days, perc and padding), you can include a few more settings to fine-tune the baseline calculation:

{
  baseline: {
    days: 7,
    perc: 75,
    padding: 1.2,
    searchUrl: "some*wildcard*string*",
    incl: {
      key: "value"
    },
    excl: {
      key: "value"
    }
  }
}

searchUrl

This can be useful when you are dealing with dynamic URLs or split tests. The wildcard entered here will be used to query ElasticSearch for all URLs that match it. Example:

URL test 1 = "www.testsite.com/article?split=A URL test 2 = "www.testsite.com/article?split=B URL test 2 = "www.testsite.com/article?split=A

Without a searchUrl, the API will only use test 1 and 3 to calculate the baseline By settings the searchUrl to "www.domain.com/page*", the API will include all three the tests to calculate the baseline

incl and excl

The include/exclude filters are related to the log parameter which has information about the test, such as the browser, the target environment, etc.

It is important that a baseline is collected based on the current test conditions. This can be done through the include/exclude parameters. Below are some examples:


Example of a specific log include:

{
  ...
  log: {
    browser: "Chrome",
    team: "TEST TEAM",
    build: 2394
  },
  baseline: {
    days: 14,
    perc: 75,
    padding: 1.2,
    searchUrl: "*.testsite.com*article*
    incl: {
      "browser": "Chrome"
    }
  }
}

In this example, the API will build a query that will grab only these records:

  • created in the last 14 days
  • with URLs that match the *testsite.com*article* wildcard
  • where log.browser = "Chrome"

Example of the special "_log_" value in the baseline.incl.browser key:

{
  ...
  log: {
    browser: "Chrome",
    team: "TEST TEAM",
    build: 2394
  },
  baseline: {
    days: 7,
    perc: 75,
    padding: 1.2,
    incl: {
      "browser": "_log_"
    }
  }
}

In this example, the API will build a query that will grab all the records:

  • created in the last 7 days
  • that exactly match the current URL
  • where log.browser = "Chrome"
    • the value "Chrome" is copied from the value submitted in the log.browser object