2016-01-11 7 views
9

मैं निम्नलिखित मीट्रिक है:वाइल्डकार्ड पर संक्षेप में बिना एकाधिक मेट्रिक्स को समेटें?

  • folsomite.<host>.cache.hit1
  • folsomite.<host>.cache.hit2
  • folsomite.<host>.cache.miss1
  • folsomite.<host>.cache.miss2
  • folsomite.<host>.cache.miss3

(कैशिंग पुस्तकालय मैं उपयोग कर रहा हूँ 2 स्वाद हिट की: पहली मौका और दूसरा मौका, और मिस के 3 स्वाद)

और मैं (hit1 + hit2)/(miss1 + miss2 + miss3) की गणना करना चाहता हूं। मैंने सोचा कि मैं (hit1 + hit2) की गणना करके शुरू करूंगा, लेकिन अगर मैं sumSeriessumSeries(folsomite.*.cache.hit*) के रूप में उपयोग करता हूं, तो यह <host> मानों पर भी रकम करता है।

मैं अन्य वाइल्डकार्डों के बिना, बिना किसी वाइल्डकार्ड पर एकाधिक मीट्रिक कैसे जोड़ूं? या वाइल्डकार्ड को संरक्षित करते समय, मैं विशेष रूप से दो (या अधिक मीट्रिक) कैसे जोड़ूं?

और, ऐसा करने के बाद, क्या मैं एक (सारांशित) परिणाम दूसरे से विभाजित कर सकता हूं?

संपादित करें: मैं वास्तव में ग्राफ प्रस्तुत करने के लिए ग्राफना का उपयोग कर रहा हूं। क्या इससे कुछ अन्तर पड़ता है?

उत्तर

10

नोट मैंने इसे हल नहीं किया है, लेकिन जानकारी सहायक हो सकती है। के एक वाइल्डकार्ड द्वारा समूहबद्ध करने के लिए ग्रेफाइट

folsomite.A.cache.hit1 
folsomite.B.cache.hit1 
folsomite.A.cache.hit2 
folsomite.C.cache.hit1 
folsomite.B.cache.hit2 
folsomite.A.cache.miss1 
folsomite.B.cache.miss1 
folsomite.A.cache.miss2 
folsomite.A.cache.miss3 
folsomite.C.cache.miss2 
folsomite.B.cache.miss2 

में डेटा से नीचे हैं मान लेते हैं, तो आप groupByNode तो

groupByNode(folsomite.*.cache.hit*, 1, 'sumSeries') 

इच्छा उत्पादन मैट्रिक्स A, B, अभिव्यक्त हिट के साथ C उपयोग करना चाहिए। चूंकि मिस पर ग्रुपबीनोड मेट्रिक के समान नाम लौटाएगा, इसलिए हमें इसे किसी भी तरह से अलग करना चाहिए। aliasSub का उपयोग करें। तो अब हम है:

aliasSub(groupByNode(folsomite.*.cache.hit*, 1, 'sumSeries'), '(.*)', '\1.hit') 
aliasSub(groupByNode(folsomite.*.cache.miss*, 1, 'sumSeries'), '(.*)', '\1.miss') 

और मीट्रिक पर हम पाते हैं A.hit, B.hit, C.hit, A.miss, B.miss, C.miss हैं।

अगला हम reduceSeries (यह मेरे लिए काम नहीं कर रहा है, मुझे कुछ याद आ रहा है :))। के बाद से कम करने पर काम करने की श्रृंखला की सूची उम्मीद है, यह बहुत

group(
    aliasSub(groupByNode(folsomite.*.cache.hit*, 1, 'sumSeries'), '(.*)', '\1.hit'), 
    aliasSub(groupByNode(folsomite.*.cache.miss*, 1, 'sumSeries'), '(.*)', '\1.miss') 
) 

इच्छा उत्पादन पूरी तरह याद आती है और श्रृंखला मारा, group या mapSeries से गठबंधन की जरूरत है। अब

reduceSeries(
    group(
    aliasSub(groupByNode(folsomite.*.cache.hit*, 1, 'sumSeries'), '(.*)', '\1.hit'), 
    aliasSub(groupByNode(folsomite.*.cache.miss*, 1, 'sumSeries'), '(.*)', '\1.miss') 
    ), 'divideSeries', 1, 'hit', miss') 

सब कुछ कम करें। शायद बाद में मैं अलग-अलग दृष्टिकोण की कोशिश करूंगा लेकिन ... मुझे उम्मीद है कि यह कम से कम कुछ संकेत देगा।

और चूंकि ग्राफ़ाना में चर के साथ टेम्पलेट सेट करने की क्षमता है, इसलिए इसके साथ संभव है, लेकिन मुझे इस सुविधा में खोदना होगा।

संबंधित मुद्दे