IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Graphisme Java Discussion :

Problème avec rrd4j et générer des images


Sujet :

Graphisme Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 16
    Points
    16
    Par défaut Problème avec rrd4j et générer des images
    Bonjour,
    je suis entrain de développez une application permettant de faire un graphique contenant la progression de la bande passante utilisé
    pour cela j'ai fait une classe pour l'envoie de requete snmp et récupere le taux la valeur du download en entier.
    j'ai ecrit ces deux classe pour faire le graph mais mon probleme c'est que j'ai l'image au format .png mais je n'ai aucune courbe.
    qui pourrait résoudre mon probleme ?????
    aidez moi svp

    cette classe permet le lancement du thread et générer le graph
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    package SNMP;
     
    import static org.rrd4j.ConsolFun.AVERAGE;
    import static org.rrd4j.ConsolFun.MAX;
     
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
     
    import javax.management.timer.Timer;
     
    import org.rrd4j.ConsolFun;
    import org.rrd4j.DsType;
    import org.rrd4j.core.FetchData;
    import org.rrd4j.core.FetchRequest;
    import org.rrd4j.core.RrdDb;
    import org.rrd4j.core.RrdDef;
    import org.rrd4j.core.Sample;
    import org.rrd4j.core.Util;
    import org.rrd4j.graph.RrdGraph;
    import org.rrd4j.graph.RrdGraphDef;
     
     
     
     
    public class kkkkkk {
    	static final String Chemin ="D:/Mes documents/9raya/Niveau/RI5/rrd/";
    	static String file = "test";
    	static final int IMG_WIDTH = 500;
    	static final int IMG_HEIGHT = 300;
    	static java.util.GregorianCalendar calendar = new GregorianCalendar();
    	static final long Start_time  = calendar.getTimeInMillis();
    	static long End_time ;
    	static Sample sample;
     
    	public kkkkkk() {
    		// TODO Auto-generated constructor stub
    	}
     
    	/**
             * @param args
             * @throws IOException 
             * @throws InterruptedException 
             */
    	public static void main(String[] args) throws IOException, InterruptedException {
    		// TODO Auto-generated method stub
     
    		String rrdPath = Chemin+file+".rrd";
    		String imgPath = Chemin+file+ ".png";
    		RrdDef rrdDef = new RrdDef(rrdPath);
    		rrdDef.setStartTime(Start_time);
    		rrdDef.addDatasource("speed", DsType.COUNTER, 600, Double.NaN, Double.NaN);
    		rrdDef.addArchive(ConsolFun.AVERAGE, 0.5, 1, 24);
    		rrdDef.addArchive(ConsolFun.AVERAGE, 0.5, 6, 10);
    		RrdDb rrdDb = new RrdDb(rrdDef);
    		sample = rrdDb.createSample();
     
    		//int [] f = new int[] {1,3,6,1,2,1,2,2,1,10,1};
    		//EnvoieRequete m= new EnvoieRequete("udp:127.0.0.1/161","public",f);
    		//int Result =m.SendRequest("udp:127.0.0.1/161","public",f);
     
    		Thread thread = new Thread(new classeRunnable(), "Thread de test");
    		int i =0;
    		do
    		{
    			thread.run();
    			thread.sleep(1000);
    			i++;
    		}while(i<100);
    		//thread.stop();
    		System.out.println("apré thread.stop");
    		//time2=sample.getTime();
    		//thread.destroy();
    		FetchRequest fetchRequest = rrdDb.createFetchRequest(ConsolFun.AVERAGE, Start_time,End_time);
    		FetchData fetchData = fetchRequest.fetchData();
    		fetchData.dump();
    		rrdDb.close();
    		RrdGraphDef graphDef = new RrdGraphDef();
    		graphDef.setTimeSpan(Start_time,End_time);
    		graphDef.datasource("myspeed", rrdPath, "speed", ConsolFun.AVERAGE);
    		graphDef.line("myspeed", Color.black, null, 2);
    		graphDef.setFilename(imgPath);
    		RrdGraph graph = new RrdGraph(graphDef);
    		BufferedImage bi = new BufferedImage(100,100,BufferedImage.TYPE_INT_RGB);
    		graph.render(bi.getGraphics());
    }
    }

    cette classe contient le corp du thread et sa methode run()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    package SNMP;
     
    import java.io.BufferedOutputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Time;
    import java.util.GregorianCalendar;
     
    import org.rrd4j.core.RrdDb;
    import org.rrd4j.core.RrdDef;
    import org.rrd4j.core.Sample;
     
    public class classeRunnable implements Runnable {
    		public classeRunnable()
    		{		
    		}
     
    		public void run()
    		{
     
    				int in=0;
    				int [] f = new int[] {1,3,6,1,2,1,2,2,1,10,1};
    				EnvoieRequete m= new EnvoieRequete("udp:127.0.0.1/161","public",f);
    				java.util.GregorianCalendar calendar = new GregorianCalendar();
    				kkkkkk.End_time = calendar.getTimeInMillis();
    				try {
    					in = m.SendRequest("udp:127.0.0.1/161","public",f);
    				} catch (IOException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
    				try 
    				{
    					kkkkkk.sample.setTime(kkkkkk.End_time);
    					kkkkkk.sample.setValues(in);
    					kkkkkk.sample.update();
     
    				}
    				catch (IOException e) 
    				{
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    				System.out.println("in   "+in);
    		 }
    }

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    j'ai trouver d'ou provenait le probleme c'est dans thread.sleep();
    quand je l'enleve j'ai une courbe
    mais le probleme c'est que j'ai besoin d'un temp d'arret
    qu'est ce que je peut faire

Discussions similaires

  1. Problème avec ffmpeg pour encoder des images Recherche :
    Par hppp01 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 15/12/2008, 09h04
  2. [FLASH MX2004] Générer des images
    Par sami_c dans le forum Flash
    Réponses: 2
    Dernier message: 09/01/2006, 11h05
  3. Réponses: 1
    Dernier message: 22/12/2005, 09h39
  4. [VB Excel] Problème avec le nom automatique des TCD
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/12/2005, 13h30
  5. Problème avec une TImageList contenant des grandes images
    Par Manopower dans le forum Composants VCL
    Réponses: 8
    Dernier message: 17/11/2005, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo