2012-09-20 10 views
5

मैंने सिगार एपीआई (http://support.hyperic.com/display/SIGAR/Home) डाउनलोड किया है और विभिन्न परियोजनाओं के बारे में जानकारी प्राप्त करने के लिए इसे एक परियोजना में उपयोग करना चाहूंगा।जावा के लिए सिगार एपीआई (एक गाइड की आवश्यकता है)

मेरी समस्या यह है कि मुझे वास्तव में कुछ उपयोगी कोड स्निपेट नहीं मिल सकते हैं और उनकी वेबसाइट से जावाडोक बहुत मदद नहीं है, क्योंकि मुझे नहीं पता कि मुझे क्या देखना चाहिए।

क्या आपके पास कोई विचारधारा है जहां मुझे अधिक जानकारी मिल सकती है?

+1

मैंने पहले पेड़ थे, और यह काफी आसान पाया कर। क्या आप वास्तव में निर्दिष्ट कर सकते हैं कि आप क्या खोज रहे हैं? पीटीक्यूएल दस्तावेज़ पृष्ठ javadoc के साथ जोड़ता है मुझे एक बहुत अच्छी शुरुआत लगता है। –

+0

तो, एक प्रारंभिक बिंदु के रूप में, मुझे एक निश्चित प्रक्रिया के लिए proccessor/स्मृति उपयोग के बारे में जानकारी चाहिए, जैसे explorer.exe (उदाहरण)। – CosminO

+1

यह एक अनुमान है, इसलिए मैं इसे एक उत्तर के रूप में पोस्ट नहीं करूंगा; मुझे लगता है कि आप बस ProcMem pm = new ProcMem() करते हैं; pm.gather (सिगार, yourPid); pm.getsize()। ProcTime के साथ सीपीयू के लिए एनालॉग। आप PTQL अभिव्यक्ति से एक पिड खोजने के लिए ProcessFinder का उपयोग कर सकते हैं। –

उत्तर

8

pid (जो किसी निश्चित प्रक्रिया के बारे में जानकारी जानने के लिए आवश्यक है) को खोजने के लिए, आप ProcessFinder का उपयोग कर सकते हैं। एक एकल प्रक्रिया पिड खोजने की विधि findSingleProcess(String expression) है। उदाहरण:

Class.Attribute.operator=value 

कहाँ:

Class is the name of the Sigar class minus the Proc prefix. 
Attribute is an attribute of the given Class, index into an array or key in a Map class. 
operator is one of the following for String values: 
eq - Equal to value 
ne - Not Equal to value 
ew - Ends with value 
sw - Starts with value 
ct - Contains value (substring) 
re - Regular expression value matches 
operator is one of the following for numeric values: 
eq - Equal to value 
ne - Not Equal to value 
gt - Greater than value 
ge - Greater than or equal value 
lt - Less than value 
le - Less than or equal value 

अधिक यहाँ जानकारी: http://support.hyperic.com/display/SIGAR/PTQL

+1

मैं 'findSingleProcess (" Exe.Name.ct = explorer ") का उपयोग करने की कोशिश कर रहा हूं; जैसा कि आप कहते हैं और मुझे यह त्रुटि मिल रही है 'org.hyperic.sigar.SigarException: क्वेरी किसी भी प्रक्रिया से मेल नहीं खाती है। और 'explorer.exe' प्रक्रिया चल रही है क्योंकि मैं कार्य प्रबंधक में देख सकता हूं। – Alvaro

+0

आप किस ओएस का उपयोग कर रहे हैं? – CosminO

+0

मैं विंडोज 7 का उपयोग कर रहा हूँ। – Alvaro

0

उनकी नवीनतम पैकेज में, वे का एक बहुत दे

Sigar sigar=new Sigar(); 
    ProcessFinder find=new ProcessFinder(sigar); 
    long pid=find.findSingleProcess("Exe.Name.ct=explorer"); 
    ProcMem memory=new ProcMem(); 
    memory.gather(sigar, pid); 
    System.out.println(Long.toString(memory.getSize())); 

अभिव्यक्ति वाक्यविन्यास यह है bindings\java\examples के तहत उपयोग उदाहरण। उनकी जाँच करो।

1

आप विंडोज 7 का उपयोग कर रहे हैं, तो कोशिश कुछ

likefindSingleProcess("State.Name.ct=explorer"); 
संबंधित मुद्दे