c

uk.gov.hmrc.alertconfig.builder.custom

CustomElasticsearchPercentageSplitAlert

case class CustomElasticsearchPercentageSplitAlert(absoluteThreshold: Int, alertName: String, checkIntervalMinutes: Option[CheckIntervalMinutes] = None, integrations: Seq[String], kibanaDashboardUri: Option[String] = None, luceneQuerySubset: String, luceneQueryTotal: String, operator: EvaluationOperator = EvaluationOperator.GREATER_THAN, pendingPeriodMinutes: Option[Int] = None, queryTimeRangeMinutes: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES, runbookUrl: Option[String] = None, severity: CustomAlertSeverity.AlertSeverity, splitThreshold: Int, summary: String, teamName: String, thresholds: EnvironmentThresholds) extends CustomAlert with Product with Serializable

Custom ElasticSearch alert based on the percentage of a subset of records, unless total records is lower than splitThreshold, in which case use an absolute threshold

absoluteThreshold

Threshold to alert during low-traffic scenario

alertName

Name that the alert will be created with

checkIntervalMinutes

Number of minutes between each check. See CheckIntervalMinutes for supported values

integrations

Which PagerDuty integrations to direct this alert to n

kibanaDashboardUri

(Optional) Kibana uri to link to. This should just be the uri path and not include the domain

luceneQuerySubset

Query to make to Elasticsearch to get subset of records (to calculate as percentage of luceneQueryTotal)

luceneQueryTotal

Query to make to Elasticsearch to get total records (to calculate percentage from)

operator

Whether to evaluate the metric as greater than or less than

pendingPeriodMinutes

Amount of time in minutes that a threshold needs to be breached before the alert fires. Defaults to fire immediately

queryTimeRangeMinutes

The sample period to check data for. If you set it to FIVE_MINUTES, the alert check will evaluate data starting from 6 minutes ago until one minute ago (so that only fully shipped metrics are evaluated).

runbookUrl

(Optional) Runbook for when this alert fires

severity

The severity of this alert. E.g. Warning or Critical

splitThreshold

The number of records that indicates a low-traffic scenario. Above this number will use the percentage threshold, below this number will use the absolute threshold

summary

The description to populate in PagerDuty when the alert fires

teamName

All alerts are prefixed with the team name

thresholds

Trigger point for each environment

Linear Supertypes
Serializable, Product, Equals, CustomAlert, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CustomElasticsearchPercentageSplitAlert
  2. Serializable
  3. Product
  4. Equals
  5. CustomAlert
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CustomElasticsearchPercentageSplitAlert(absoluteThreshold: Int, alertName: String, checkIntervalMinutes: Option[CheckIntervalMinutes] = None, integrations: Seq[String], kibanaDashboardUri: Option[String] = None, luceneQuerySubset: String, luceneQueryTotal: String, operator: EvaluationOperator = EvaluationOperator.GREATER_THAN, pendingPeriodMinutes: Option[Int] = None, queryTimeRangeMinutes: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES, runbookUrl: Option[String] = None, severity: CustomAlertSeverity.AlertSeverity, splitThreshold: Int, summary: String, teamName: String, thresholds: EnvironmentThresholds)

    absoluteThreshold

    Threshold to alert during low-traffic scenario

    alertName

    Name that the alert will be created with

    checkIntervalMinutes

    Number of minutes between each check. See CheckIntervalMinutes for supported values

    integrations

    Which PagerDuty integrations to direct this alert to n

    kibanaDashboardUri

    (Optional) Kibana uri to link to. This should just be the uri path and not include the domain

    luceneQuerySubset

    Query to make to Elasticsearch to get subset of records (to calculate as percentage of luceneQueryTotal)

    luceneQueryTotal

    Query to make to Elasticsearch to get total records (to calculate percentage from)

    operator

    Whether to evaluate the metric as greater than or less than

    pendingPeriodMinutes

    Amount of time in minutes that a threshold needs to be breached before the alert fires. Defaults to fire immediately

    queryTimeRangeMinutes

    The sample period to check data for. If you set it to FIVE_MINUTES, the alert check will evaluate data starting from 6 minutes ago until one minute ago (so that only fully shipped metrics are evaluated).

    runbookUrl

    (Optional) Runbook for when this alert fires

    severity

    The severity of this alert. E.g. Warning or Critical

    splitThreshold

    The number of records that indicates a low-traffic scenario. Above this number will use the percentage threshold, below this number will use the absolute threshold

    summary

    The description to populate in PagerDuty when the alert fires

    teamName

    All alerts are prefixed with the team name

    thresholds

    Trigger point for each environment

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val absoluteThreshold: Int
  5. val alertName: String
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. val checkIntervalMinutes: Option[CheckIntervalMinutes]
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  11. val integrations: Seq[String]
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val kibanaDashboardUri: Option[String]
  14. val luceneQuerySubset: String
  15. val luceneQueryTotal: String
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  19. val operator: EvaluationOperator
  20. val pendingPeriodMinutes: Option[Int]
  21. def productElementNames: Iterator[String]
    Definition Classes
    Product
  22. val queryTimeRangeMinutes: TimeRangeAsMinutes
  23. val runbookUrl: Option[String]
  24. val severity: CustomAlertSeverity.AlertSeverity
  25. val splitThreshold: Int
  26. val summary: String
  27. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  28. val teamName: String
  29. val thresholds: EnvironmentThresholds
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from CustomAlert

Inherited from AnyRef

Inherited from Any

Ungrouped