PNP Fonctions d'aide
PNP fonctions d'aide sont destinées à simplifier la création de modèles. Contrairement aux fonctions d'aide des RRD, elles n'utilisent pas les fonctions de RRDTool.
pnp::adjust_unit
(string,number,string,number) pnp::adjust_unit ( $value, $base=1000, $format='%.3lf' )
Le but de cette fonction est de “normaliser” les grands nombres. Les disques durs modernes ont atteint des tailles de plusieurs Go ou de To. L'utilisation de tel chiffre: 1521073648234 est compliqué, il est plus simple de traduire la valeur. La même chose s'applique au trafic réseau.
La fonction prend jusqu'à trois paramètres et retourne un tableau avec quatre éléments dans tous les cas. * Le premier paramètre à passer est le nombre (incluant les “UOM”, le cas échéant) * Le deuxième paramètre est optionnel et par défaut égal à “1000” (exemple: trafic), mais peut-être “1024” (taille du disque, par exemple) * Le troisième paramètre est optionnel, par défaut '%.3lf', et spécifie le format de la valeur renvoyée
$size = pnp::adjust_unit(1521073648234,1024,'%7.3lf');
Nota: $size est un tableau constitué de quatre champs:
$size[0] := " 1.383 T"
contient la valeur mise en forme comprenant l'unité
$size[1] := "1.383"
contient le numéro formaté
$size[2] := "T"
contient l'unité
$size[3] := "1099511627776"
contient le diviseur
En supposant check_disk retourne «MB» comme unité de mesure, vous pouvez ajouter ainsi:
$disk = pnp::adjust_unit("1524MB",1024,'%7.3lf');
Le résultat sera $disk[0] := “1.448 GB”
“old” check_disk ancien template avec %s comme directive
“new” check_disk nouveau template avec pnp::adjust_unit comme directive