class ATSD::SeriesQuery
Class for building and executing Series
Query @see axibase.com/atsd/api/#series:-query
Public Instance Methods
execute()
click to toggle source
Executes query and sets `result` attribute.
@return (see result
)
# File lib/atsd/queries/series_query.rb, line 30 def execute result = @client.series_query to_request_hash @result = result.map { |series_json| Series.new series_json } end
execute_with(*others)
click to toggle source
Executes multiple queries at the same time. Adds `request_id` parameter to each query if necessary. All queries will have a corresponding `series` attribute set.
@param [SeriesQuery] others list of series query to execute with receiver @return [Array<Series>] all results
# File lib/atsd/queries/series_query.rb, line 41 def execute_with(*others) others ||= [] queries = [self] + others queries_by_id = {} if queries.count > 1 queries.each_with_index do |query, index| query.request_id("query_#{index}") query.result = [] queries_by_id[query[:request_id]] = query end end results = @client.series_query queries.map {|q| q.to_request_hash} results.map! { |json| Series.new(json) } results.each { |r| queries_by_id[r.requestId].result << r } end
result()
click to toggle source
@return [Array<Series>]
Calls superclass method
ATSD::BaseQuery#result
# File lib/atsd/queries/series_query.rb, line 12 def result super end
tag_add(name, values)
click to toggle source
Add tag to `tags` parameter
@param [String] name tag name @param [String, Array<String>] values possible tag value of array of values.
`*` and `?` wildcards allowed.
@return [self]
# File lib/atsd/queries/series_query.rb, line 22 def tag_add(name, values) self[:tags][name] = Utils.ensure_array(values) self end