Class: Norikra::Client::Event

Inherits:
Thor
  • Object
show all
Includes:
CLIUtil
Defined in:
lib/norikra/client/cli.rb

Instance Method Summary collapse

Methods included from CLIUtil

#client, #formatter, #parser, #wrap

Instance Method Details

#fetch(query_name) ⇒ Object



150
151
152
153
154
155
156
157
158
159
160
# File 'lib/norikra/client/cli.rb', line 150

def fetch(query_name)
  wrap do
    formatter = formatter(options[:format])
    time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}

    client(parent_options).event(query_name).each do |time,event|
      event = {options[:time_key] => Time.at(time).strftime(options[:time_format])}.merge(event)
      puts formatter.format(event)
    end
  end
end

#send(target) ⇒ Object



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/norikra/client/cli.rb', line 130

def send(target)
  wrap do
    client = client(parent_options)
    parser = parser(options[:format])
    buffer = []
    $stdin.each_line do |line|
      buffer.push(parser.parse(line))
      if buffer.size >= options[:batch_size]
        client.send(target, buffer)
        buffer = []
      end
    end
    client.send(target, buffer) if buffer.size > 0
  end
end

#sweep(query_group = nil) ⇒ Object



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/norikra/client/cli.rb', line 167

def sweep(query_group=nil)
  wrap do
    formatter = formatter(options[:format])
    time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}

    data = client(parent_options).sweep(query_group)

    data.keys.sort.each do |queryname|
      events = data[queryname]
      events.each do |time,event|
        event = {
          options[:time_key] => Time.at(time).strftime(options[:time_format]),
          options[:query_name_key] => queryname,
        }.merge(event)
        puts formatter.format(event)
      end
    end
  end
end