From 4823c4515895714c118f6add8c5642bdcec228d5 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Tue, 3 Nov 2020 15:51:58 +0000 Subject: Add --test flag for testing new raiders --- lib/longboat/config.rb | 13 ++++++++----- longboat | 12 +++++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/longboat/config.rb b/lib/longboat/config.rb index 7e793c1..f235154 100644 --- a/lib/longboat/config.rb +++ b/lib/longboat/config.rb @@ -5,15 +5,18 @@ module Longboat def self.parse! Optimist::options do # Collection interval - opt :raid_every, "Collection interval", type: Integer, default: 60 + opt :raid_every, "Collection interval", type: Integer, default: 60 # Job data - opt :raiders_path, "Paths to search for raiders", type: String, default: "./lib/raiders", multi: true - opt :metric_prefix, "Prefix for metric names", type: String, default: "longboat_" + opt :raiders_path, "Paths to search for raiders", type: String, default: "./lib/raiders", multi: true + opt :metric_prefix, "Prefix for metric names", type: String, default: "longboat_" # Sinatra server - opt :server_bind, "Server listening address", type: String, default: "127.0.0.1:8564" - opt :server_path, "Path to metrics", type: String, default: "/metrics" + opt :server_bind, "Server listening address", type: String, default: "127.0.0.1:8564" + opt :server_path, "Path to metrics", type: String, default: "/metrics" + + # Testing + opt :test, "Output metrics to stdout and quit", type: TrueClass, default: false end end end diff --git a/longboat b/longboat index b4f0dee..658ec27 100755 --- a/longboat +++ b/longboat @@ -9,7 +9,13 @@ config = Longboat::Config.parse! # Start collection collector = Longboat::Collector.new(config) raiders = Longboat::Raiders.new(collector, config) -t = raiders.raid_every -# Serve metrics on HTTP -Longboat::Server.serve!(collector, config) +if config.test + # We're in test mode, output metrics to stdout once and quit + raiders.raid! + puts collector.prometheus_metrics +else + # Serve metrics on HTTP forever + raiders.raid_every + Longboat::Server.serve!(collector, config) +end -- cgit v1.2.1