awful 0.0.135 → 0.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/awful/cloudwatch_logs.rb +44 -20
- data/lib/awful/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afe9345863882bca15eb3e075919d190b50de773
|
4
|
+
data.tar.gz: e9bafe169cbc400fd85676bcfd375281a155a2e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 327e6d510c2adc410dc2fbf93d4700bc9d1e2d589ebf333fa2857d8a76bd926098a18c85fe8ece14c0efb6eae9e43f322bbe05654d05b0cd6399482f73c32341
|
7
|
+
data.tar.gz: f6915c25c9f5084c6cb77eed91de95266055d58461ab5782a6e6e523e912769488224388479a1f94e4ec7b31c0ef38fbaec52841c4e2a4768769b2a0aaa9152f
|
@@ -25,7 +25,7 @@ module Awful
|
|
25
25
|
end
|
26
26
|
|
27
27
|
## return and output groups
|
28
|
-
log_groups.
|
28
|
+
log_groups.output do |groups|
|
29
29
|
if options[:long]
|
30
30
|
print_table groups.map { |group|
|
31
31
|
[
|
@@ -72,9 +72,11 @@ module Awful
|
|
72
72
|
break if next_token.nil?
|
73
73
|
break if log_streams.count >= options[:limit].to_i
|
74
74
|
end
|
75
|
-
log_streams.
|
75
|
+
log_streams.output do |streams|
|
76
76
|
if options[:long]
|
77
|
-
print_table streams.map { |s|
|
77
|
+
print_table streams.map { |s|
|
78
|
+
[ s.log_stream_name, Time.at(s.creation_time.to_i/1000), Time.at(s.last_event_timestamp.to_i/1000) ]
|
79
|
+
}
|
78
80
|
else
|
79
81
|
puts streams.map(&:log_stream_name)
|
80
82
|
end
|
@@ -82,44 +84,66 @@ module Awful
|
|
82
84
|
end
|
83
85
|
|
84
86
|
no_commands do
|
85
|
-
|
87
|
+
## return n-th latest stream for group
|
88
|
+
def latest_stream(group, n = 0)
|
89
|
+
n = n.to_i.abs # convert string and -ves
|
86
90
|
logs.describe_log_streams(
|
87
91
|
log_group_name: group,
|
88
|
-
order_by:
|
89
|
-
descending:
|
90
|
-
limit: 1
|
91
|
-
).log_streams
|
92
|
+
order_by: 'LastEventTime',
|
93
|
+
descending: true,
|
94
|
+
limit: n + 1
|
95
|
+
).log_streams[n]
|
92
96
|
end
|
93
97
|
end
|
94
98
|
|
95
99
|
desc 'latest GROUP', 'get name of latest stream for GROUP'
|
96
|
-
def latest(group)
|
97
|
-
latest_stream(group).
|
100
|
+
def latest(group, n = 0)
|
101
|
+
latest_stream(group, n).output do |stream|
|
98
102
|
puts stream.log_stream_name
|
99
103
|
end
|
100
104
|
end
|
101
105
|
|
102
106
|
desc 'events GROUP [STREAM]', 'get log events from given, or latest, stream'
|
103
|
-
method_option :long,
|
104
|
-
method_option :
|
105
|
-
|
107
|
+
method_option :long, aliases: '-l', type: :boolean, default: false, desc: 'long listing including timestamps'
|
108
|
+
method_option :stream, aliases: '-s', type: :string, default: nil, desc: 'specific stream to read instead of latest'
|
109
|
+
method_option :limit, aliases: '-n', type: :numeric, default: nil, desc: 'limit results returned per page'
|
110
|
+
method_option :pages, aliases: '-p', type: :numeric, default: Float::INFINITY, desc: 'limit number of pages to output'
|
111
|
+
method_option :head, aliases: '-H', type: :boolean, default: true, desc: 'start from head, ie first page'
|
112
|
+
method_option :tail, aliases: '-t', type: :numeric, default: nil, desc: 'show given small number of most recent events'
|
113
|
+
def events(group, nth = 0)
|
114
|
+
opt = options.dup
|
115
|
+
opt[:stream] ||= latest_stream(group, nth).log_stream_name # use latest stream if none requested
|
116
|
+
|
117
|
+
## magical tail option returns up to requested number of last events
|
118
|
+
if opt[:tail]
|
119
|
+
opt[:head] = false
|
120
|
+
opt[:pages] = 1
|
121
|
+
opt[:limit] = opt[:tail]
|
122
|
+
end
|
123
|
+
|
106
124
|
next_token = nil
|
107
125
|
events = []
|
126
|
+
pages = 0
|
108
127
|
loop do
|
109
128
|
response = logs.get_log_events(
|
110
|
-
log_group_name:
|
111
|
-
log_stream_name: stream
|
112
|
-
start_from_head:
|
113
|
-
limit:
|
114
|
-
next_token:
|
129
|
+
log_group_name: group,
|
130
|
+
log_stream_name: opt[:stream],
|
131
|
+
start_from_head: opt[:head],
|
132
|
+
limit: opt[:limit],
|
133
|
+
next_token: next_token,
|
115
134
|
)
|
135
|
+
|
116
136
|
break if response.events.count == 0 # break on no results as token does not get to nil
|
117
137
|
events = events + response.events
|
138
|
+
|
139
|
+
pages += 1
|
140
|
+
break if pages >= opt[:pages]
|
141
|
+
|
118
142
|
next_token = response.next_backward_token
|
119
|
-
break if events.count >= options[:limit].to_i
|
120
143
|
break if next_token.nil? # not sure if this is ever set to nil
|
121
144
|
end
|
122
|
-
|
145
|
+
|
146
|
+
events.output do |ev|
|
123
147
|
if options[:long]
|
124
148
|
print_table ev.map { |e| [Time.at(e.timestamp.to_i/1000), e.message] }
|
125
149
|
else
|
data/lib/awful/version.rb
CHANGED