lbrt 0.1.0 → 0.1.1
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/README.md +34 -1
- data/lbrt.gemspec +1 -0
- data/lib/lbrt/space/dsl/context/space/chart/stream.rb +4 -1
- data/lib/lbrt/space/dsl/context/space/chart.rb +5 -2
- data/lib/lbrt/space/dsl/context/space.rb +15 -2
- data/lib/lbrt/space/dsl/context.rb +6 -1
- data/lib/lbrt/space/dsl/helper.rb +2 -0
- data/lib/lbrt/version.rb +1 -1
- data/lib/lbrt.rb +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b122a973c917adac9f07048a6e2da5c087c9695
|
4
|
+
data.tar.gz: e7045f54fdc6bde43c8fa883d822ab060457a3d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 787ce020528938c95397a1cab36b9a0aff497fea28826dbae6ce21a3d0491362e295191d172edffc5e47b1a7766586a5418693947711714aa690ffdfc084a877
|
7
|
+
data.tar.gz: 22a05b0628b4c4b5e02cecce5a55947a0a8be9ee953f9d46865cfb790f569b72feacf75dae08276827803488d2609b52eb34d3be28832a232c2d4e03f4ba3831
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Lbrt
|
2
2
|
|
3
|
-
A tool to manage Librato. It defines the state of Librato using DSL, and updates Librato according to DSL.
|
3
|
+
A tool to manage [Librato](https://www.librato.com/). It defines the state of [Librato](https://www.librato.com/) using DSL, and updates Librato according to DSL.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -178,3 +178,36 @@ space "My Space2" do
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
```
|
181
|
+
|
182
|
+
### Space template
|
183
|
+
|
184
|
+
```ruby
|
185
|
+
template "dstat" do
|
186
|
+
chart "total_cpu_usage" do
|
187
|
+
type "stacked"
|
188
|
+
stream do
|
189
|
+
metric "dstat.#{context.space_name}.total_cpu_usage"
|
190
|
+
type "gauge"
|
191
|
+
source "*"
|
192
|
+
group_function "breakout"
|
193
|
+
summary_function "average"
|
194
|
+
end
|
195
|
+
max 100.0
|
196
|
+
end
|
197
|
+
|
198
|
+
chart "load_avg" do
|
199
|
+
type "line"
|
200
|
+
stream do
|
201
|
+
metric "dstat.#{context.space_name}.load_avg"
|
202
|
+
type "gauge"
|
203
|
+
source "*"
|
204
|
+
group_function "breakout"
|
205
|
+
summary_function "average"
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
space "my-host-001" do
|
211
|
+
include_template("dstat")
|
212
|
+
end
|
213
|
+
```
|
data/lbrt.gemspec
CHANGED
@@ -7,13 +7,16 @@ class Lbrt::Space::DSL::Context::Space::Chart::Stream
|
|
7
7
|
summary_function
|
8
8
|
)
|
9
9
|
|
10
|
-
def initialize(space_name_or_id, chart_name_or_id, &block)
|
10
|
+
def initialize(context, space_name_or_id, chart_name_or_id, &block)
|
11
|
+
@context = context.dup
|
11
12
|
@space_name_or_id = space_name_or_id
|
12
13
|
@chart_name_or_id = chart_name_or_id
|
13
14
|
@result = {}
|
14
15
|
instance_eval(&block)
|
15
16
|
end
|
16
17
|
|
18
|
+
attr_reader :context
|
19
|
+
|
17
20
|
def result
|
18
21
|
REQUIRED_ATTRIBUTES.each do |name|
|
19
22
|
unless @result.has_key?(name)
|
@@ -3,13 +3,16 @@ class Lbrt::Space::DSL::Context::Space::Chart
|
|
3
3
|
type
|
4
4
|
)
|
5
5
|
|
6
|
-
def initialize(space_name_or_id, name_or_id, &block)
|
6
|
+
def initialize(context, space_name_or_id, name_or_id, &block)
|
7
|
+
@context = context.merge(:chart_name => name_or_id)
|
7
8
|
@space_name_or_id = space_name_or_id
|
8
9
|
@name_or_id = name_or_id
|
9
10
|
@result = {'streams' => []}
|
10
11
|
instance_eval(&block)
|
11
12
|
end
|
12
13
|
|
14
|
+
attr_reader :context
|
15
|
+
|
13
16
|
def result
|
14
17
|
REQUIRED_ATTRIBUTES.each do |name|
|
15
18
|
unless @result.has_key?(name)
|
@@ -27,7 +30,7 @@ class Lbrt::Space::DSL::Context::Space::Chart
|
|
27
30
|
end
|
28
31
|
|
29
32
|
def stream(&block)
|
30
|
-
@result['streams'] << Lbrt::Space::DSL::Context::Space::Chart::Stream.new(@space_name_or_id, @name_or_id, &block).result
|
33
|
+
@result['streams'] << Lbrt::Space::DSL::Context::Space::Chart::Stream.new(@context, @space_name_or_id, @name_or_id, &block).result
|
31
34
|
end
|
32
35
|
|
33
36
|
def max(value)
|
@@ -1,19 +1,32 @@
|
|
1
1
|
class Lbrt::Space::DSL::Context::Space
|
2
|
-
def initialize(name_or_id, &block)
|
2
|
+
def initialize(name_or_id, templates, &block)
|
3
3
|
@name_or_id = name_or_id
|
4
|
+
@templates = templates
|
4
5
|
@result = {'charts' => {}}
|
6
|
+
@context = Hashie::Mash.new(:space_name => name_or_id)
|
5
7
|
instance_eval(&block)
|
6
8
|
end
|
7
9
|
|
8
10
|
attr_reader :result
|
11
|
+
attr_reader :context
|
9
12
|
|
10
13
|
private
|
11
14
|
|
15
|
+
def include_template(template_name)
|
16
|
+
tmplt = @templates[template_name]
|
17
|
+
|
18
|
+
unless tmplt
|
19
|
+
raise "Space `#{@name_or_id}`: Template `#{template_name}` is not defined"
|
20
|
+
end
|
21
|
+
|
22
|
+
instance_eval(&tmplt)
|
23
|
+
end
|
24
|
+
|
12
25
|
def chart(chart_name_or_id, &block)
|
13
26
|
if @result[chart_name_or_id]
|
14
27
|
raise "Space `#{@name_or_id}` > Chart `#{chart_name_or_id}` is already defined"
|
15
28
|
end
|
16
29
|
|
17
|
-
@result['charts'][chart_name_or_id] = Lbrt::Space::DSL::Context::Space::Chart.new(@name_or_id, chart_name_or_id, &block).result
|
30
|
+
@result['charts'][chart_name_or_id] = Lbrt::Space::DSL::Context::Space::Chart.new(@context, @name_or_id, chart_name_or_id, &block).result
|
18
31
|
end
|
19
32
|
end
|
@@ -12,18 +12,23 @@ class Lbrt::Space::DSL::Context
|
|
12
12
|
def initialize(path, options = {}, &block)
|
13
13
|
@path = path
|
14
14
|
@options = options
|
15
|
+
@templates = {}
|
15
16
|
@result = {}
|
16
17
|
instance_eval(&block)
|
17
18
|
end
|
18
19
|
|
19
20
|
private
|
20
21
|
|
22
|
+
def template(name, &block)
|
23
|
+
@templates[name] = block
|
24
|
+
end
|
25
|
+
|
21
26
|
def space(name_or_id, &block)
|
22
27
|
if @result[name_or_id]
|
23
28
|
raise "Space `#{name_or_id}` is already defined"
|
24
29
|
end
|
25
30
|
|
26
|
-
spc = Lbrt::Space::DSL::Context::Space.new(name_or_id, &block).result
|
31
|
+
spc = Lbrt::Space::DSL::Context::Space.new(name_or_id, @templates, &block).result
|
27
32
|
@result[name_or_id] = spc
|
28
33
|
end
|
29
34
|
end
|
data/lib/lbrt/version.rb
CHANGED
data/lib/lbrt.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lbrt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: diffy
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hashie
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: librato-client
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +185,7 @@ files:
|
|
171
185
|
- lib/lbrt/space/dsl/context/space/chart.rb
|
172
186
|
- lib/lbrt/space/dsl/context/space/chart/stream.rb
|
173
187
|
- lib/lbrt/space/dsl/converter.rb
|
188
|
+
- lib/lbrt/space/dsl/helper.rb
|
174
189
|
- lib/lbrt/space/exporter.rb
|
175
190
|
- lib/lbrt/utils.rb
|
176
191
|
- lib/lbrt/version.rb
|