Les funcions de tendència, contràriament a lesfuncions d'històric, empren les dades de tendències per als seus càlculs.
Les tendències emmagatzemen els valors horaris afegits. Les funcions de tendència empren les mitjanes horàries i són útils per fer anàlisi a llarg termini.
Els resultats de la funció de tendència són es desen a la cau per tal que múltiples crides amb els mateixos paràmetres a la mateixa funció rebin la informació de la base de dades un sol cop. La cau de la funció de tendència es controla per el paràmetre de servidor TrendFunctionCacheSize.
Els triggers que referencien les funcions de tendència només s'avaluen una sola vegada durant el període més curt de l'expressió. Per exemple, un trigger com ara
s'avaluarà un cop al dia. Si el trigger té a la vegada funcions de tendència i històriques (o basades en temps), calcularà segons els usos principals.
Totes les funcions llistades aquí són admeses a:
Algunes notes generals dels paràmetres de la funció:
<
>
/host/key
i time period:time shift
mai han d'anar entre cometes/host/key
és un primer paràmetre obligatori comútime period:time shift
és un segon paràmetre comú, on:
N
- el nombre d'unitats de temps, unitat de temps
- h (hora), d (dia), w (setmana), M (mes) o y (any).FUNCIÓ | ||
---|---|---|
Descripció | Paràmetres específics de la funció | Comentaris |
baselinedev (/host/key,data period:time shift,season_unit,num_seasons) | ||
Retorna el nombre de desviacions (per l'algoritme stddevpop) entre el darrer període de dades i els mateixos períodes de dades de sessions precedents. | ||
data period - el període de recollida de dades en curs d'una temporada, definit com a <N><time unit> oN - nombre d'unitats de tempstime unit - h (hora), d (dia), w (setmana), M (mes) o y (any), ha d'ésser igual o inferior a la temporada Diferència de temps - la diferència de temps (veieu exemples) season_unit - durada de la temporada (h, d, w, M, y); no pot pas ésser inferior al període de dades num_seasons - nombre de temporades a avaluar |
Exemples: => baselinedev(/host/key,1d:now/d,"M",6) → calcula el nombre de desviació tipus (població) entre el dia precedent i el mateix dia en curs dels 6 mesos precedents. Si la data no existeix al mes precedent, s'emprarà el darrer dia del mes (el 31 de juliol s'analitzarà per informe del 31 de gener, el 28 de febrer,... el 30 de juny). => baselinedev(/host/key,1h:now/h,"d",10) → calcula el nombre de desviacions tipus (població) entre l'hora precedent i les mateixes hores del període de de dies enrere. |
|
baselinewma (/host/key,data period:time shift,season_unit,num_seasons) | ||
Calcula la línia de base, calculant la mitjana de dades del mateix període sobre altres períodes iguals ('temporades'), emprant l'algoritme de mitjana mòvil ponderada. | data period - el període de recollida de dades en curs d'una temporada, definit com a <N><time unit> oN - nombre d'unitats de tempstime unit - h (hora), d (dia), w (setmana), M (mes) or y (any), ha d'ésser igual o inferior a la temporada Diferència de temps - la diferència del període de temps, defineix la fi del període de recollida de dades a les temporades (veieu exemples) season_unit - durada de la temporada (h, d, w, M, y), no pot ésser pas inferior al període de dades num_seasons - nombre de temporades per avaluar |
Exemples: => baselinewma(/host/key,1h:now/h,"d",3) → càlcul de la línia de base, basada en la darrera hora completa d'un període de 3 dies, que ha acabat ahir. Si "encara" correspon a les 13h30 de dilluns, les dades de 12h00 a 12h59 de divendres, dissabte i diumenge seran analitzades. => baselinemwa(/host/key,2h:now/h,"d",3) → càlcul de la línia de base basada en les dues darreres hores d'un període de 3 dies que s'ha acabat ahir. Si "encara" correspon a les 13h30 de dilluns, les dades de 10h00 a 11h59 de divendres, dissabte i diumenge seran analitzades. => baselinewma(/host/key,1d:now/d,"M",4) → càlcul de la línia de base basada en el mateix dia del mes que « ahir » dins els 4 mesos anteriors el darrer mes complet. Si la data demanada no existeix pas, s'emprarà el darrer dia del mes. Si avui és 1r de setembre, les dades de 31 de juliol, 30 de juny, 31 de maig i 30 d'abril s'analitzaran. |
trendavg (/host/key,time period:time shift) | ||
Mitjana dels valors de tendència en curs del període definit. | Veieu els paràmetres comuns. | Exemples: => trendavg(/host/key,1h:now/h) → mitjana de l'hora precedent (com ara 12:00-13:00) => trendavg(/host/key,1h:now/h-1h) → mitjana de fa dues hores (11:00-12:00) => trendavg(/host/key,1h:now/h-2h) → mitjana de fa tres hores (10:00-11:00) => trendavg(/host/key,1M:now/M-1y) → mitjana del pes precedent de fa un any |
trendcount (/host/key,time period:time shift) | ||
Nombre de valors de l'historial recuperats correctament emprats per calcular el valor de tendència dins del període de temps definit. | Veieu els paràmetres comuns. | Exemples: => trendcount(/host/key,1h:now/h) → comptar per l'hora anterior (per ex. 12:00-13:00) => trendcount(/host/key,1h:now/h-1h) → recompte de fa dues hores (11:00-12:00) => trendcount(/host/key,1h:now/h-2h) → recompte d'en fa 3 (10:00-11:00) => trendcount(/host/key,1M:now/M-1y) → recompte del mes precedent de fa un any |
trendmax (/host/key,time period:time shift) | ||
El màxim dels valors de tendència dins el període de temps definit. | Veieu els paràmetres comuns. | Exemples: => trendmax(/host/key,1h:now/h) → màxim de l'hora precedent (per ex. 12:00-13:00) => trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → càlcul de la diferència entre els valors màxims i mínims (delta de tendència) de l'hora precedent (12:00-13:00) => trendmax(/host/key,1h:now/h-1h) → màxim de fa dues hores (11:00-12:00) => trendmax(/host/key,1h:now/h-2h) → màxim d'en fa 3, d'hores (10:00-11:00) => trendmax(/host/key,1M:now/M-1y) → màxim del mes precedent de fa un any |
trendmin (/host/key,time period:time shift) | ||
El mínim dels valors de tendència dins el període de temps definit. | Veieu els paràmetres comuns. | Exemples: => trendmin(/host/key,1h:now/h) → màxim de l'hora precedent (par ex. 12:00-13:00) => trendmin(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → càlcul de la diferència entre els valors màxims i mínims (delta de tendència) de l'hora precedent (12:00-13:00) => trendmin(/host/key,1h:now/h-1h) → mínim després de dues hores (11:00-12:00) => trendmin(/host/key,1h:now/h-2h) → mínim després de tres hores (10:00-11:00) => trendmin(/host/key,1M:now/M-1y) → mínim del mes precedent de fa un any |
trendstl (/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s_window>) | ||
Retorna la taxa d'anomalies durant el període de detecció - un valor decimal entre 0 i 1 que representa ((el nombre de valors d'anomalies)/(nombre total de valors)) . |
eval period - el període de temps que s'ha de descompondre (mínim '1h'), definit com a <N><time unit> o N - nombre d'unitats de tempstime unit - h (hora), d (dia), w (setmana), M (mes) o y (any).Diferència en el temps - la diferència en el temps (veieu exemples) detection period - el període de temps abans de la fi del període d'avaluació pels que les anomalies són calculades (mínim '1h', no pot pas ésser més llarg que el període d'avaluació), definit com a <N><time unit> o N - nombre d'unitats de tempstime unit - h (hora), d (dia), w (setmana).season - el període de temps el més curt o un esquema repetitiu ("temporada") és atès (mínim '2h', no pot pas ésser més llarg que el període d'avaluació, el nombre d'entrades dins el període d'avaluació ha d'ésser superior a dos cops la freqüència resultant (temporada/h )), definit com a <N><time unit> o N - nombre d'unitats de tempstime unit - h (hora), d (dia), w (setmana).deviations - el nombre de desviacions (calculat per devalg) a comptar com anomalia (pot ésser decimal), (ha d'ésser superior o igual a 1, el valor per defecte és 3) devalg (ha d'ésser entre cometes) - algoritme de desviació, pot ésser stddevpop, stddevsamp o mad (per defecte) s_window - la durada (en diferència) de la finestra de loess per l'extracció temporal (el valor per defecte és 10 * nombre d'entrades del període d'avaluació + 1) |
Exemples: => trendstl(/host/key,100h:now/h,10h,2h) → analitza les 100 darreres hores de dades de tendència, trobar la taxa d'anomalies per les 10 darreres hores d'aquest període, esperant que la periodicitat sigui de 2h, els valors restants de la sèrie del període d'avaluació es consideren com anomalies si assoleixen el valor de 3 rebutjats de MAD d'aquesta sèrie restant => trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") → anàlisi del període de 100 hores de dades de tendència, fins a 10 hores, trobar la taxa d'anomalies per tot aquest període esperant que la periodicitat sigui de 2 h, els valors de les sèries restants del període d'avaluació es prenen en compte les anomalies si elles assoleixen el valor de 2,1 rebutjats de MAD d¡aquesta sèrie resultant => trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) → analitza 100 dies de dades de tendència a vigilar, trobar la taxa d'anomalies per al període dels 10 darrers dies d'aquest període, esperant a que la periodicitat sigui d'1 dia, els valors de la sèrie resultant del període d'avaluació són considerats anomalies si assoleixen el valor de 4 desviacions de MAD d'aquesta sèrie de restes, canviant l'espera per defecte de la finestra de loess per l'extracció temporal de "10 * nombre d'entrades dins el període d'avaluació + 1" amb l'espera de 10 diferències => trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") → analitzar el mes precedent de l'any passat, trobar la taxa d'anomalies del darrer dia d'aquest període en espera a que la periodicitat sigui de 2h, els valors restants de la sèrie del període d'avaluació són considerats com a anomalies si assoleixen el valor de 3 descarts del tipus de descart de la mostra d'aquesta sèrie restant |
trendsum (/host/key,time period:time shift) | ||
Suma dels valors de tendència en curs del període definit. | Veieu els paràmetres comuns. | Exemples: => trendsum(/host/key,1h:now/h) → suma de l'hora anterior (per ex. 12:00-13:00) => trendsum(/host/key,1h:now/h-1h) → suma de fa dues hores (11:00-12:00) => trendsum(/host/key,1h:now/h-2h) → suma d'en fa 3 (10:00-11:00) => trendsum(/host/key,1M:now/M-1y) → suma del mes anterior de fa un any |