Class: LogStash::Inputs::Heartbeat

Inherits:
Threadable
  • Object
show all
Defined in:
lib/logstash/inputs/heartbeat.rb

Overview

Generate heartbeat messages.

The general intention of this is to test the performance and availability of Logstash.

Instance Method Summary collapse

Instance Method Details

#generate_message(sequence) ⇒ Object



61
62
63
64
65
66
67
68
69
# File 'lib/logstash/inputs/heartbeat.rb', line 61

def generate_message(sequence)
  if @message == "epoch"
    LogStash::Event.new("clock" => Time.now.to_i, "host" => @host)
  elsif @message == "sequence"
    LogStash::Event.new("clock" => sequence, "host" => @host)
  else
    LogStash::Event.new("message" => @message, "host" => @host)
  end
end

#registerObject



42
43
44
# File 'lib/logstash/inputs/heartbeat.rb', line 42

def register
  @host = Socket.gethostname
end

#run(queue) ⇒ Object

def register



46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/logstash/inputs/heartbeat.rb', line 46

def run(queue)
  sequence = 0
  @thread = Thread.current

  Stud.interval(@interval) do
    sequence += 1
    event = generate_message(sequence)
    decorate(event)
    queue << event
    break if sequence == @count || stop?
  end # loop

end

#stopObject



71
72
73
# File 'lib/logstash/inputs/heartbeat.rb', line 71

def stop
  Stud.stop!(@thread)
end