Elemento eventCountThreshold

O elemento <eventCountThreshold> é válido apenas para a regra de limite. Ele define o número de eventos que devem atender aos critérios de seleção de eventos em um determinado período de tempo. O elemento <eventCountThreshold> também especifica um de dois possíveis modos de intervalo de tempo, fixo ou móvel, para o espaço de tempo.

Detalhes

intervalo fixo
Esse intervalo começa quando o primeiro evento que atende aos critérios de seleção de eventos é recebido e termina quando ocorre uma das seguintes situações:
  • A regra atende a seu limite na duração de tempo especificada.
  • A duração de tempo especificada passou.
intervalo móvel
Esse intervalo começa quando o primeiro evento que atende aos critérios de seleção de eventos é recebido. No entanto, quando a regra não atende a seu limite e a duração de tempo especificada passa, o espaço de tempo ajusta (move) a hora de início para a hora de recepção do evento de um novo "primeiro" evento, que normalmente é o próximo evento que for aceito. O intervalo móvel continua a ser ajustado assim até que ocorra uma das seguintes situações:
  • A regra atende a seu limite na duração de tempo especificada.
  • Após a recepção do evento que começa o espaço de tempo, nenhum evento subseqüente é recebido durante o tempo especificado.
O evento que começa o espaço de tempo (torna-se o novo "primeiro" evento) é aquele com uma hora de recepção que atende a estes critérios: a hora da recepção, somada à duração do intervalo de tempo da regra, é maior que a hora atual. A seguir, os critérios na forma de uma equação:
hora de recepção do evento + duração do intervalo de tempo da regra > hora atual
Quando esse evento não existir, o intervalo móvel não poderá mais ajustar a hora e o intervalo será encerrado.
A regra de limite conta cada evento aceito até que o limite seja atendido ou o período de tempo seja encerrado. Em seguida, ele executa as ações definidas no elemento <onDetection> ou no elemento <onTimeOut>, conforme apropriado.
ações de <onDetection>
Essas ações são executadas quando a contagem de eventos é igual ao valor definido pelo atributo de limite do elemento <eventCountThreshold>, indicando que o limite foi atendido.
ações de <onTimeOut>
A execução dessas ações depende de o modo de intervalo de tempo ser fixo ou móvel.
modo fixo
Nesse modo, essas ações são executadas quando o espaço de tempo expira.
modo móvel
Nesse modo, essas ações serão executadas se, após a recepção do evento que começa o espaço de tempo, nenhum evento subseqüente for recebido durante o tempo especificado. Ou seja, nenhum evento será recebido com uma hora de recepção que, quando somada à duração do intervalo de tempo da regra, for maior que a hora atual.

O modo de intervalo de tempo do espaço de tempo é definido pelo atributo timeIntervalMode do elemento <eventCountThreshold>. O cenário a seguir ilustra o comportamento e as diferenças entre os dois possíveis modos de intervalo de tempo.

Cenário que Ilustra os Modos Fixo e Móvel

Suponha que a regra receba quatro eventos que atendam aos critérios de seleção de eventos, um evento em cada um destes horários: 8h, 8h04, 8h06 e 8h07. O limite de contagem do evento é 3 e a duração do espaço de tempo é de 5 minutos.
Comportamento da regra com o modo fixo
Nesse modo de intervalo de tempo, a regra de limite começa a ser processada às 8h e executa as ações de <onTimeOut> às 8h05 porque recebe apenas 2 eventos em 5 minutos. Portanto, ela não atende a seu limite no espaço de tempo. Quando o terceiro evento é recebido às 8h06, a regra de limite começa a ser processada novamente e executa as ações de <onTimeOut> às 8h11 porque recebe apenas 2 eventos em 5 minutos.

O modo fixo é estático.

Comportamento da regra com o modo móvel
Nesse modo de intervalo de tempo, a regra de limite começa a ser processada às 8h. Às 8h05, quando está planejada a conclusão do espaço de tempo, a regra determina que recebeu apenas 2 eventos. A regra descarta então o evento recebido às 8h e recalcula para que a duração seja encerrada às 8h09 (desde que o primeiro evento seja agora aquele recebido às 8h04). Quando a regra recebe o evento às 8h07, ela executa as ações de <onDetection> porque agora atendeu a seu limite (3 eventos, às 8h04, 8h06 e 8h07) dentro do último espaço de tempo (8h04 – 8h09).

O modo móvel é dinâmico porque continua a ajustar (mover) a hora inicial na tentativa de atender a seu limite dentro do espaço de tempo.

Suponha agora que a regra receba quatro eventos que atendam aos critérios de seleção de eventos, um evento em cada um destes horários: 8h, 8h04, 8h06 e 8h10. O limite de contagem do evento é 3 e a duração do espaço de tempo é de 5 minutos.
Comportamento da regra com o modo móvel
Nesse caso, a regra de limite começa a ser processada às 8h. Às 8h05, quando está planejada a conclusão do espaço de tempo, a regra determina que recebeu apenas 2 eventos. A regra descarta então o evento recebido às 8h e recalcula para que a duração seja encerrada às 8h09 (desde que o primeiro evento seja agora aquele recebido às 8h04).

Às 8h09, quando está planejada a conclusão do espaço de tempo, a regra determina que recebeu apenas 2 eventos. A regra descarta então o evento recebido às 8h04 e recalcula para que a duração seja encerrada às 8h11 (desde que o primeiro evento seja agora aquele recebido às 8h06).

Às 8h11, quando está planejada a conclusão do espaço de tempo, a regra determina que recebeu apenas 2 eventos. A regra descarta então o evento recebido às 8h06 e recalcula para que a duração seja encerrada às 8h15 (desde que o primeiro evento seja agora aquele recebido às 8h10).

Às 8h15, quando está planejada a conclusão do espaço de tempo, a regra determina que não recebeu eventos desde o evento às 8h10 que começou o espaço de tempo. A regra executa então as ações de <onTimeOut>.

Atributos

<eventCountThreshold> possui os seguintes atributos:

Tabela 1. Atributos do Elemento <eventCountThreshold>
Nome Descrição Tipo de dado Obrigatório?
limite Define o número de eventos que devem atender aos critérios de seleção de eventos em um determinado período de tempo. Esse é o limite de contagem de eventos que deve ser atendido. O valor tem que ser um número inteiro positivo. xsd:positiveInteger Sim
timeIntervalMode Define se o intervalo de tempo para o espaço de tempo é fixo ou móvel. Os valores válidos para esse atributo são:
  • fixed (o valor padrão)
  • sliding
xsd:string Não

Contido em

<eventCountThreshold> está contido no seguinte elemento:

Contém

<eventCountThreshold> não contém elementos.