Class: HBaseMetrics::RegionServer

Inherits:
Object
  • Object
show all
Includes:
HadoopMetrics2::API
Defined in:
lib/hbase_metrics/region_server.rb

Instance Method Summary collapse

Instance Method Details

#extract_region(target) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/hbase_metrics/region_server.rb', line 7

def extract_region(target)
  ret = {  'regions' => [] }
  target.each do |k,v|
    if /^Namespace_(\w+)_table_([\w\.\-]+)_region_(\w+)_metric_(\w+)$/ =~ k
      r = ret['regions'].select{  |i| i['namespace'] == $1 && i['table'] == $2 && i['region'] == $3}.first
      unless r
        r = {
        'namespace' => $1,
        'table' => $2,
        'region' => $3,
        }
        ret['regions'] << r
      end
      r[$4] = v
    else
      ret[k] = v
    end
  end

  ret
end

#ipcObject



40
41
42
# File 'lib/hbase_metrics/region_server.rb', line 40

def ipc
  query_jmx('Hadoop:service=HBase,name=RegionServer,sub=IPC').first
end

#regionsObject



33
34
35
36
37
38
# File 'lib/hbase_metrics/region_server.rb', line 33

def regions
  disable_snake_case {  
    target = query_jmx("Hadoop:service=HBase,name=RegionServer,sub=Regions").first
    extract_region(target)
  }
end

#serverObject



29
30
31
# File 'lib/hbase_metrics/region_server.rb', line 29

def server
  query_jmx("Hadoop:service=HBase,name=RegionServer,sub=Server").first
end