diff options
author | Nat Lasseter <nat.lasseter@york.ac.uk> | 2020-11-16 12:25:42 +0000 |
---|---|---|
committer | Nat Lasseter <nat.lasseter@york.ac.uk> | 2020-11-16 12:25:42 +0000 |
commit | 96b8a92fc11d094eedc24bf9b3f76a230d654416 (patch) | |
tree | 4788565ba5ce65cd40d0aa9f967eb44c4d63c665 /examples | |
parent | 622a1770df1baa13c02f155cde3301306c8f8be0 (diff) |
Better examples
Diffstat (limited to 'examples')
-rw-r--r-- | examples/test_config.rb | 33 | ||||
-rw-r--r-- | examples/test_config.yaml | 3 | ||||
-rw-r--r-- | examples/test_fixed.rb | 20 | ||||
-rw-r--r-- | examples/test_histo.rb | 41 | ||||
-rw-r--r-- | examples/test_random.rb | 63 |
5 files changed, 160 insertions, 0 deletions
diff --git a/examples/test_config.rb b/examples/test_config.rb new file mode 100644 index 0000000..b5a1418 --- /dev/null +++ b/examples/test_config.rb @@ -0,0 +1,33 @@ +require 'yaml' + +class TestConfig + def initialize(collector, config) + @collector = collector + @config = config + @config.merge!(Longboat::Config.for_raider do + opt :test_config, "Config file for test_config", type: String + end) + + @name = "configurable_value" + @config_file = {} + @config_file = YAML.load_file(@config[:test_config]) if @config[:test_config] + end + + def raid + # Clean up any previously reported metrics + # to prevent stale labelsets + @collector.redact!(@name) + + # Report new metrics + value = @config_file["configurable_value"] || 4 + @collector.report!( + @name, + value, + help: "A value specified on the command line at runtime", + type: "gauge", + labels: { + given: @config[:test_config_given] ? 1 : 0 + } + ) + end +end diff --git a/examples/test_config.yaml b/examples/test_config.yaml new file mode 100644 index 0000000..8073a84 --- /dev/null +++ b/examples/test_config.yaml @@ -0,0 +1,3 @@ +{ + "configurable_value": 6 +} diff --git a/examples/test_fixed.rb b/examples/test_fixed.rb new file mode 100644 index 0000000..e6be609 --- /dev/null +++ b/examples/test_fixed.rb @@ -0,0 +1,20 @@ +class TestFixed + def initialize(collector, config) + @collector = collector + @config = config + end + + def raid + # Clean up any previously reported metrics + # to prevent stale labelsets + @collector.redact!("fixed_value") + + # Report new metrics + @collector.report!( + "fixed_value", + 4, + help: "A fixed value", + type: "gauge" + ) + end +end diff --git a/examples/test_histo.rb b/examples/test_histo.rb new file mode 100644 index 0000000..ed3fb01 --- /dev/null +++ b/examples/test_histo.rb @@ -0,0 +1,41 @@ +class TestHisto + def initialize(collector, config) + @collector = collector + @config = config + end + + def raid + # Clean up any previously reported metrics + # to prevent stale labelsets + @collector.redact!("histo") + @collector.redact!("summ") + + # Report new metrics + @collector.report!( + "histo", + { + buckets: { + 0.5 => 1, + 1 => 2 + }, + count: 3, + sum: 3 + }, + help: "A histogram over the data [0.25, 0.75, 2]", + type: "histogram" + ) + @collector.report!( + "summ", + { + quantiles: { + 0.5 => 5, + 0.95 => 9.5 + }, + count: 21, + sum: 105 + }, + help: "A summary of data (0..10).step(0.5)", + type: "summary" + ) + end +end diff --git a/examples/test_random.rb b/examples/test_random.rb new file mode 100644 index 0000000..89a7acd --- /dev/null +++ b/examples/test_random.rb @@ -0,0 +1,63 @@ +class TestRandom + def initialize(collector, config) + @collector = collector + @config = config + end + + def raid + # Clean up any previously reported metrics + # to prevent stale labelsets + @collector.redact!("die_roll") + + # Report new metrics + @collector.report!( + "die_roll", + rand(4) + 1, + help: "A random value from 1 to 4 inclusive", + type: "gauge", + labels: { die: "d4" } + ) + @collector.report!( + "die_roll", + rand(6) + 1, + help: "A random value from 1 to 6 inclusive", + type: "gauge", + labels: { die: "d6" } + ) + @collector.report!( + "die_roll", + rand(8) + 1, + help: "A random value from 1 to 8 inclusive", + type: "gauge", + labels: { die: "d8" } + ) + @collector.report!( + "die_roll", + rand(10) + 1, + help: "A random value from 1 to 10 inclusive", + type: "gauge", + labels: { die: "d10" } + ) + @collector.report!( + "die_roll", + rand(12) + 1, + help: "A random value from 1 to 12 inclusive", + type: "gauge", + labels: { die: "d12" } + ) + @collector.report!( + "die_roll", + rand(20) + 1, + help: "A random value from 1 to 20 inclusive", + type: "gauge", + labels: { die: "d20" } + ) + @collector.report!( + "die_roll", + rand(100) + 1, + help: "A random value from 1 to 100 inclusive", + type: "gauge", + labels: { die: "d%" } + ) + end +end |