Class: Legion::CLI::Telemetry
- Inherits:
-
Thor
- Object
- Thor
- Legion::CLI::Telemetry
- Defined in:
- lib/legion/cli/telemetry_command.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.exit_on_failure? ⇒ Boolean
6 7 8 |
# File 'lib/legion/cli/telemetry_command.rb', line 6 def self.exit_on_failure? true end |
Instance Method Details
#ingest(path) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/legion/cli/telemetry_command.rb', line 38 def ingest(path) out = formatter runner = telemetry_runner result = runner.ingest_session(file_path: path) if [:json] out.json(result) elsif result[:success] out.success("Ingested #{result[:event_count]} events from #{path}") out.detail({ session_id: result[:session_id], events: result[:event_count] }) else out.error("Error: #{result[:error]}") end end |
#stats(session_id = nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/legion/cli/telemetry_command.rb', line 16 def stats(session_id = nil) out = formatter runner = telemetry_runner result = if session_id runner.session_stats(session_id: session_id) else runner.aggregate_stats end if [:json] out.json(result) elsif result[:success] out.header(session_id ? "Session: #{session_id}" : 'Aggregate Telemetry Stats') display_stats(out, result[:stats]) else out.error("Error: #{result[:error]}") end end |
#status ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/legion/cli/telemetry_command.rb', line 54 def status out = formatter runner = telemetry_runner result = runner.telemetry_status if [:json] out.json(result) elsif result[:success] out.header('Telemetry Status') out.detail({ 'Buffer Size' => result[:buffer_size].to_s, 'Pending' => result[:pending_count].to_s, 'Sessions' => result[:session_count].to_s, 'Parsers' => result[:parsers].join(', ') }) else out.error("Error: #{result[:error]}") end end |