Class: Opentsdb::QueryParser

Inherits:
Object
  • Object
show all
Defined in:
lib/opentsdb/query_parser.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.parse(q_string) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/opentsdb/query_parser.rb', line 5

def parse(q_string)
  parts = split_for(q_string, ':')
  return nil if parts.size < 2 || parts.size > 3
  metric_query = {}
  metric_query[:aggregator] = parts[0]
  metric_query[:rate] = false
  temp = parts[1]
  if parts.size == 3
    metric_query[:rate] = true if temp.start_with?('rate')
    temp = parts[2]
  end
  query_metric = parse_query_metric(temp)
  QueryParam.new metric_query.merge(query_metric)
end