Skip to content

Commit 1581a4b

Browse files
Add listener_address as Instance attributes of Promenade::Raindrops::Stats
1 parent 59195bf commit 1581a4b

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

lib/promenade/raindrops/stats.rb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@ module Raindrops
1616

1717
class Stats
1818

19-
attr_reader :active_workers, :queued_requests
19+
attr_reader :active_workers, :queued_requests, :listener_address
2020

21-
def initialize
21+
def initialize(listener_address: nil)
2222
return unless defined?(::Raindrops)
2323
return unless defined?(::Raindrops::Linux.tcp_listener_stats)
2424

25-
listener_address = "0.0.0.0:#{ENV.fetch('PORT', 3000)}"
26-
stats = ::Raindrops::Linux.tcp_listener_stats([listener_address])[listener_address]
25+
@listener_address = listener_address || "127.0.0.1:#{ENV.fetch('PORT', 3000)}"
26+
27+
stats = ::Raindrops::Linux.tcp_listener_stats([@listener_address])[@listener_address]
2728

2829
@active_workers = stats.active
2930
@queued_requests = stats.queued
@@ -34,8 +35,8 @@ def instrument
3435
Promenade.metric(:rack_queued_requests).set({}, queued_requests)
3536
end
3637

37-
def self.instrument
38-
new.instrument
38+
def self.instrument(listener_address: nil)
39+
new(listener_address: listener_address).instrument
3940
end
4041
end
4142
end

spec/promenade/raindrops/stats_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
RSpec.describe Promenade::Raindrops::Stats do
55
let(:listen_stats) { instance_double("Raindrops::Linux::ListenStats", active: 1, queued: 1) }
6-
let(:listener_address) { "0.0.0.0:#{ENV.fetch('PORT', 3000)}" }
6+
let(:listener_address) { "127.0.0.1:#{ENV.fetch('PORT', 3000)}" }
77

88
before do
99
allow(Raindrops::Linux).to receive(:tcp_listener_stats).and_return({ listener_address => listen_stats })

0 commit comments

Comments
 (0)