Forum général.général [Gnuplot] utiliser des dates avec des millisecondes

Posté par  .
Étiquettes :
0
16
juil.
2007
Bonjour à tous,

Je voudrais afficher des graphique à partir de fichiers de données (évolution du % d'occupation du processeur dans le temps).

Comme le dis si justement le site framasoft :
Si l’on ne veut pas s’encombrer d’un logiciel de calcul volumineux pour faire simplement des graphes, gnuplot est la solution. (http://www.framasoft.net/article2581.html)

Je me suis dis gnuplot est la solution. J'ai installé le soft. Mais les fichiers que je dois traiter comportent des dates de la forme :

"07/12/2007 18:46:01.870"

D'après la doc (http://www.guilde.asso.fr/gt/education/traductions/gnuplot-f(...) à priori je dois utiliser "timefmt" mais ce dernier ne comporte pas de pattern pour les milli secondes.

Donc amis expert en gnuplot, est - ce que je veux faire est réalisable ou non ?
  • # besoin ...

    Posté par  . Évalué à 0.

    Nagios ne correspondrait pas à ton besoin par hasard ?
    • [^] # Re: besoin ...

      Posté par  . Évalué à 1.

      Bin non, ça à l'air d'être une usine à gaz....

      http://fr.wikipedia.org/wiki/Nagios

      Disons que j'ai pas le choix au niveau du format des données. ce serait coool si il existait un patch où autre permettant de gérer des milli seconde dans gnuplot ?
      • [^] # Re: besoin ...

        Posté par  . Évalué à 1.

        Disons que j'ai pas le choix au niveau du format des données. ce serait coool si il existait un patch où autre permettant de gérer des milli seconde dans gnuplot ?

        Voir ma solution dans l'autre message. Pour info, je ne pense pas que les millisecondes soient ajoutées à gnuplot dans le timefmt, parce que cette fonction imite ce que propose le langage C, où les secondes sont des nombres entiers, sans autre subdivision... Regarde 'man time.h' pour t'en convaincre.
  • # Une solution

    Posté par  . Évalué à 2.

    Salut!

    Cette question est apparue il y a quelques temps (2004) dans la mailing-list de gnuplot. Voici un lien:

    http://marc.info/?l=gnuplot-info-beta&m=108627878612170&(...)

    (le développeur de gnuplot fait remarquer qu'avoir une résolution à la milliseconde quand on trace des choses qui s'étendent sur plusieurs jours n'a pas beaucoup de sens.)

    Tu peux t'en sortir avec "using" en specifiant le format (tu perds alors le label en heures/minutes/secondes cependant). Par exemple, avec des dates de la forme 07/12/2007 18:46:01.870, tu doix pouvoir utiliser:

    plot 'datafile' using ($1*3600*24+$4*3600+$5*60+$6):7 '%lf/%lf/%lf %lf:%lf:%lf %lf'

    Contrairement au timefmt, ceci marchera parce que %lf désigne un nombre décimal, pas seulement un entier.

    Remarque que je n'ai pas pris en compte les mois, parce qu'ils n'ont pas tout le même nombre de jours... donc ceci ne marche que pour des données d'un même mois.

    Avec ça, les étiquettes de l'axe des abscisses ne seront plus formattées, mais indiquées en nombre de secondes cumulées. Si ça ne te convient pas, on doit pouvoir trouver une solution...

    J'espère que ceci va t'aider.
    • [^] # Re: Une solution

      Posté par  . Évalué à 1.

      Merci pour ta réponse, j'ai pus ainsi m'en sortir pour obtenir un résultat.

      Mais (hé oui, il y a un mais), pendant que j'y suis, j'ai une petite question par rapport à cette méthode : est - ce qu'il est possible de récupérer un autre type de donnée que des doubles ?
      • [^] # Re: Une solution

        Posté par  . Évalué à 1.

        D'après la notice:
        'scanf' accepte plusieurs spécifications numériques mais gnuplot n'accepte en entrée que des réels en virgule flottante double précision, donc lf est le seul spécificateur permis.

        Quel autre type de donnée voudrais-tu entrer ?
        • [^] # Re: Une solution

          Posté par  . Évalué à 1.

          Bin j'aurais voulu des entiers (c'est plus juste par rapport au donnée que j'ai) m'enfin tant pis, j'ai réussi déjà faire un beau tableau généré automatiquement et ça ça fait plaisir :-)
          • [^] # Re: Une solution

            Posté par  . Évalué à 2.

            Ok, je vois ce que tu veux dire. Bon, de toute façon, les points doivent être stockés par gnuplot sous forme de double ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.