Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pracenje aktivnih procesa i iscrtavanje grafika

[es] :: .NET :: .NET Desktop razvoj :: Pracenje aktivnih procesa i iscrtavanje grafika

[ Pregleda: 2904 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Pracenje aktivnih procesa i iscrtavanje grafika22.05.2010. u 12:22 - pre 168 meseci
U datagrid view treba da prikazem aktivne procese i velicinu zauzete memorije. Imam neka 2 parametra koja biram iz drop down liste,a to su vreme uzorkovanja (10s,20s) i ukupno vreme pracenja (3,5,10,30,60min).I kao krajnji rezultat dobijam 2 grafika i to : x-vreme; y velicina zauzete memorije; x-vreme; y-broj aktivnih procesa. Mislio sam da koristim biblioteku ZedGraph za grafike.Problem je sto prikazem parametre u datagrid view,ali imam problem sa graficima i ovim parametrima(vreme uzorkovanja i vreme pracenja).Da li moze neko da pomogne?
Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.dial-up.dsl.siol.net.



+14 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika23.05.2010. u 02:43 - pre 168 meseci
Citat:

Problem je sto prikazem parametre u datagrid view,ali imam problem sa graficima i ovim parametrima(vreme uzorkovanja i vreme pracenja)


Koji je konkretan problem?

Sto se crtanja grafikona tice, za grafikone mozes komotno da koristis .Net GDI+ wrappere tj. Graphics klasu.
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika23.05.2010. u 13:28 - pre 168 meseci
Kako mogu da na odredjeno vreme osvezavam listu aktivnih procesa koju imam u datagridview i dan na osnovu pracenih parametara isctava grafik?
Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
 
Odgovor na temu

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika23.05.2010. u 19:23 - pre 168 meseci
Jel ima neko predlog kako da ovo uradim?
Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika24.05.2010. u 11:33 - pre 168 meseci
U recenici:
Citat:
BrainDemageKako mogu da na odredjeno vreme osvezavam listu aktivnih procesa koju imam u datagridview i dan na osnovu pracenih parametara isctava grafik?
da li je problem
1) kako nesto raditi svakih n jedinica vremena
2) kako osveziti listu trenutno aktivnih procesa
3) kako iscrtati grafik
4) sve navedeno
 
Odgovor na temu

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika24.05.2010. u 12:24 - pre 168 meseci
Ajde ovako za pocetak.Kako da dobijam listu aktivnih procesa u realnom vremenu ili u vremenu od npr 10sec?Znaci kada je program pokrenut,on prikazuje listu procesa,i broj trenutno aktivnih procesa,ali lista se ne osvezava,tako da dok ja u pozadini pokrenem neke programe(npr notepad.exe)broj procesa ostaje isti.Znaci meni treba da npr na svakih 10 sec provera koji su procesi pokrenuti i rezultat da smesta u gridview.
To je prvi problem.Kad to uradim treba treba na osnovu parametara vremena uzorkovanja (tih 10 sec) da iscrtam grafik sa osama x=vreme; y=velicina yauzete memorije.
Code:

private void btnGetProcess_Click(object sender, EventArgs e)
        {
            ConnectionOptions conn = new ConnectionOptions();
            ManagementScope ms = new ManagementScope("\\\\localhost",conn);
            ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process");
            ManagementObjectSearcher search = new ManagementObjectSearcher(ms, query);
            ManagementObjectCollection returnColl = search.Get();
            
            int i = 0;
            gridMonitoring.Rows.Clear();

            foreach (ManagementObject Oreturn in returnColl)
            {
                gridMonitoring.Rows.Add(new DataGridViewRow());
                gridMonitoring.Rows[i].Cells[0].Value=Oreturn["Name"].ToString();
                gridMonitoring.Rows[i].Cells[1].Value=Oreturn["ProcessID"].ToString();
                gridMonitoring.Rows[i].Cells[2].Value = Oreturn["Description"].ToString();
                gridMonitoring.Rows[i].Cells[3].Value = Oreturn["Priority"].ToString();
                gridMonitoring.Rows[i].Cells[4].Value = (Convert.ToInt64(Oreturn["WorkingSetSize"].ToString())).ToString();
                gridMonitoring.Rows[i].Cells[5].Value = Oreturn["ThreadCount"].ToString();
                gridMonitoring.Rows[i].Cells[6].Value = Oreturn["ExecutablePath"].ToString();
                txtNumberOfProcess.Text = gridMonitoring.Rows.Count.ToString();
            
                i++;
             }
            













Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika24.05.2010. u 12:31 - pre 168 meseci
Udri Timer na 10 sek koji poziva btnGetProcess_Click. Za grafik napravi

Code:

class GraphNode
{
  int Time {get; set;}
  int PrivateWorkingSet {get; set;}
}
List<GraphNode> GraphData = new List<GraphNode>();


Zatim napravi metodu koja crta grafik na osnovu liste GraphData.
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika24.05.2010. u 13:24 - pre 168 meseci
Uradio sam to sa timerom,i refreshuje listu u intervalima od 3,10 i 20sec. Za grafik sam razmisljao da koristim ZedGraph,ali ako postoji neko drugo resenje,moze i to,samo da dodjem do krajnjeg rezultata. Prvi put radim sa grafikonima,tako da mi je pomoc neophodna.Ako moze malo detaljnije :-)
Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
 
Odgovor na temu

BrainDemage
gotovan

Član broj: 253985
Poruke: 114
*.dynamic.sbb.rs.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika24.05.2010. u 21:41 - pre 168 meseci
Ok,ajde ovako.Evo slika kako bi trebalo da izgleda grafik,a evo i primera koda. Za grafik je koriscen ZedGraph biblioteka.
Code:
private void Form1_Resize(object sender, EventArgs e)
        {
            SetSize();
        }
        private void SetSize()
        {
            zedGraphControl1.Location = new Point(15, 405);
            zedGraphControl1.Size = new Size(ClientRectangle.Width - 500, ClientRectangle.Height - 450);

        }

      
        private void CreateGraph(ZedGraphControl zcg)
        {
            GraphPane myPane = zcg.GraphPane;
            myPane.Title.Text = "Process";
            myPane.XAxis.Title.Text = "x osa";
            myPane.YAxis.Title.Text = "Y osa";

            double x, y1, y2;
            PointPairList list1 = new PointPairList();
            PointPairList list2 = new PointPairList();
            
            for (int i = 0; i <=30 ; i++)
            {
                x = (double)i + 5;
                y1 = 1.5 + Math.Sin((double)i * 0.2);
                y2 = 3.0 * (1.5 + Math.Sin((double)i * 0.2));
                list1.Add(x, y1);
                list2.Add(x, y2);


            }
            LineItem myCurve = myPane.AddCurve("MemoryUsed", list1, Color.Red, SymbolType.Diamond);
            LineItem myCurve2 = myPane.AddCurve("ActiveProcess", list2, Color.Blue, SymbolType.Circle);

            zcg.AxisChange();

Znaci na x osi treba da bude vreme uzorkovanja,y1 broj aktivnih procesa,i to je plava linija. Crvena linija-x osa vreme uzorkovanja,y2-ukupno zauzete memorije.Iz gornjeg primera u textbox-u mi je prikazan broj trenutno aktivnih procesa,i to bi trebalo da je jedan od parametara,tj parametar y1.U datagridview ima kolonu koja prikazuje velicinu zauzete memorije za svaki proces.Kako mogu da saberem sve vrednosti celija iz te kolone i prikazem ih u textbox? I to bi trebalo da mi bude parametar y2...
Život je polje svih mogućnosti.
Ono što izaberete to je vaš život.
Prikačeni fajlovi
 
Odgovor na temu

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.adsl.verat.net.



+2 Profil

icon Re: Pracenje aktivnih procesa i iscrtavanje grafika04.07.2013. u 22:10 - pre 130 meseci
Da ne otvaram novu temu...

Radim nešto sa ZedGraphom pa ispitujem kako radi i na ovom njihovom primeru hoću da mi dugme button1 izmeni neke parametre od grafika čisto da probam, ali skroz iskulira, nije mi jasno zašto... Može li neko od vas iskusnijih da baci oko?

Code:

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            zedGraphControl1.GraphPane.Title.Text = "Sad se zove ovako";
            zedGraphControl1.GraphPane.XAxis.Title.Text = "Nova X osa";


            MessageBox.Show("Radi dugme");
        }
        private void SetSize()
        {
            zedGraphControl1.Location = new Point(308, 58);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //postavi grafik
            CreateGraph(zedGraphControl1);
            SetSize();
        }

        private void CreateGraph(ZedGraphControl zgc)
        {
            GraphPane myPane = zgc.GraphPane;

            //podesavanje naslova
            myPane.Title.Text = "moj graf za testiranje";
            myPane.XAxis.Title.Text = "X osa";
            myPane.YAxis.Title.Text = "Y osa";


            //nizovi podataka
            double x, y1;
            PointPairList list1 = new PointPairList();

            for (int i = 0; i < 36; i++)
            {
                x = (double)i + 5;
                y1 = 1.5 + Math.Sin((double)i * 0.2);
                list1.Add(x, y1);

            }

            //crvena kriva sa dijamant tačkama
            LineItem myCurve = myPane.AddCurve("porshe", list1, Color.Red, SymbolType.Circle);
            myCurve.Line.IsVisible = false;

            zgc.AxisChange();
        }
    }
}

rs.ceevee.com/nenad.curcic
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Pracenje aktivnih procesa i iscrtavanje grafika

[ Pregleda: 2904 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.