logstash/qa/integration/specs/monitoring_api_spec.rb
Tal Levy bca87bae40 remove current_size_in_bytes and acked info from node stats
re #6508.

- removed `acked_count`, `unacked_count`, and migrated `unread_count` to
top-level `events` field.
- removed `current_size_in_bytes` info from queue node stats

Fixes #6510
2017-01-09 19:19:28 -05:00

72 lines
2.5 KiB
Ruby

require_relative '../framework/fixture'
require_relative '../framework/settings'
require_relative '../services/logstash_service'
require "logstash/devutils/rspec/spec_helper"
describe "Test Monitoring API" do
before(:all) {
@fixture = Fixture.new(__FILE__)
}
after(:all) {
@fixture.teardown
}
after(:each) {
@fixture.get_service("logstash").teardown
}
let(:number_of_events) { 5 }
let(:max_retry) { 120 }
it "can retrieve event stats" do
logstash_service = @fixture.get_service("logstash")
logstash_service.start_with_stdin
number_of_events.times { logstash_service.write_to_stdin("Hello world") }
begin
sleep(1) while (result = logstash_service.monitoring_api.event_stats).nil?
rescue
retry
end
Stud.try(max_retry.times, RSpec::Expectations::ExpectationNotMetError) do
result = logstash_service.monitoring_api.event_stats
expect(result["in"]).to eq(number_of_events)
end
end
it "can retrieve JVM stats" do
logstash_service = @fixture.get_service("logstash")
logstash_service.start_with_stdin
logstash_service.wait_for_logstash
Stud.try(max_retry.times, RSpec::Expectations::ExpectationNotMetError) do
result = logstash_service.monitoring_api.node_stats
expect(result["jvm"]["uptime_in_millis"]).to be > 100
end
end
it "can retrieve queue stats" do
logstash_service = @fixture.get_service("logstash")
logstash_service.start_with_stdin
logstash_service.wait_for_logstash
Stud.try(max_retry.times, RSpec::Expectations::ExpectationNotMetError) do
result = logstash_service.monitoring_api.node_stats
expect(result["pipeline"]["queue"]).not_to be_nil
if logstash_service.settings.feature_flag == "persistent_queues"
expect(result["pipeline"]["queue"]["type"]).to eq "persisted"
expect(result["pipeline"]["queue"]["data"]["free_space_in_bytes"]).not_to be_nil
expect(result["pipeline"]["queue"]["data"]["storage_type"]).not_to be_nil
expect(result["pipeline"]["queue"]["data"]["path"]).not_to be_nil
expect(result["pipeline"]["queue"]["events"]).not_to be_nil
expect(result["pipeline"]["queue"]["capacity"]["page_capacity_in_bytes"]).not_to be_nil
expect(result["pipeline"]["queue"]["capacity"]["max_queue_size_in_bytes"]).not_to be_nil
expect(result["pipeline"]["queue"]["capacity"]["max_unread_events"]).not_to be_nil
else
expect(result["pipeline"]["queue"]["type"]).to eq "memory"
end
end
end
end