test/hotspot/gtest/jfr/test_networkUtilization.cpp
changeset 53026 7d4397b43fa3
parent 50894 e8d55141afd2
child 57360 5d043a159d5c
child 58863 c16ac7a2eba4
equal deleted inserted replaced
53025:5c65191e56b9 53026:7d4397b43fa3
   256   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   256   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   257 
   257 
   258   JfrNetworkUtilization::send_events();
   258   JfrNetworkUtilization::send_events();
   259   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   259   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   260   MockEventNetworkUtilization& e = MockEventNetworkUtilization::committed[0];
   260   MockEventNetworkUtilization& e = MockEventNetworkUtilization::committed[0];
   261   EXPECT_EQ(5, e.readRate);
   261   EXPECT_EQ(40, e.readRate);
   262   EXPECT_EQ(0, e.writeRate);
   262   EXPECT_EQ(0, e.writeRate);
   263   EXPECT_STREQ("eth0", e.iface.c_str());
   263   EXPECT_STREQ("eth0", e.iface.c_str());
   264 }
   264 }
   265 
   265 
   266 TEST_VM_F(JfrTestNetworkUtilization, RequestFunctionMultiple) {
   266 TEST_VM_F(JfrTestNetworkUtilization, RequestFunctionMultiple) {
   280   ASSERT_EQ(3u, MockEventNetworkUtilization::committed.size());
   280   ASSERT_EQ(3u, MockEventNetworkUtilization::committed.size());
   281   const MockEventNetworkUtilization& eth0_event = MockEventNetworkUtilization::get_committed("eth0");
   281   const MockEventNetworkUtilization& eth0_event = MockEventNetworkUtilization::get_committed("eth0");
   282   const MockEventNetworkUtilization& eth1_event = MockEventNetworkUtilization::get_committed("eth1");
   282   const MockEventNetworkUtilization& eth1_event = MockEventNetworkUtilization::get_committed("eth1");
   283   const MockEventNetworkUtilization& ppp0_event = MockEventNetworkUtilization::get_committed("ppp0");
   283   const MockEventNetworkUtilization& ppp0_event = MockEventNetworkUtilization::get_committed("ppp0");
   284 
   284 
   285   EXPECT_EQ(5, eth0_event.readRate);
   285   EXPECT_EQ(40, eth0_event.readRate);
   286   EXPECT_EQ(0, eth0_event.writeRate);
   286   EXPECT_EQ(0, eth0_event.writeRate);
   287   EXPECT_STREQ("eth0", eth0_event.iface.c_str());
   287   EXPECT_STREQ("eth0", eth0_event.iface.c_str());
   288 
   288 
   289   EXPECT_EQ(50, eth1_event.readRate);
   289   EXPECT_EQ(400, eth1_event.readRate);
   290   EXPECT_EQ(0, eth1_event.writeRate);
   290   EXPECT_EQ(0, eth1_event.writeRate);
   291   EXPECT_STREQ("eth1", eth1_event.iface.c_str());
   291   EXPECT_STREQ("eth1", eth1_event.iface.c_str());
   292 
   292 
   293   EXPECT_EQ(0, ppp0_event.readRate);
   293   EXPECT_EQ(0, ppp0_event.readRate);
   294   EXPECT_EQ(25, ppp0_event.writeRate);
   294   EXPECT_EQ(200, ppp0_event.writeRate);
   295   EXPECT_STREQ("ppp0", ppp0_event.iface.c_str());
   295   EXPECT_STREQ("ppp0", ppp0_event.iface.c_str());
   296 }
   296 }
   297 
   297 
   298 TEST_VM_F(JfrTestNetworkUtilization, InterfaceRemoved) {
   298 TEST_VM_F(JfrTestNetworkUtilization, InterfaceRemoved) {
   299   MockNetworkInterface& eth0 = MockJfrOSInterface::add_interface("eth0");
   299   MockNetworkInterface& eth0 = MockJfrOSInterface::add_interface("eth0");
   308   JfrNetworkUtilization::send_events();
   308   JfrNetworkUtilization::send_events();
   309   ASSERT_EQ(2u, MockEventNetworkUtilization::committed.size());
   309   ASSERT_EQ(2u, MockEventNetworkUtilization::committed.size());
   310   const MockEventNetworkUtilization& eth0_event = MockEventNetworkUtilization::get_committed("eth0");
   310   const MockEventNetworkUtilization& eth0_event = MockEventNetworkUtilization::get_committed("eth0");
   311   const MockEventNetworkUtilization& eth1_event = MockEventNetworkUtilization::get_committed("eth1");
   311   const MockEventNetworkUtilization& eth1_event = MockEventNetworkUtilization::get_committed("eth1");
   312 
   312 
   313   EXPECT_EQ(5, eth0_event.readRate);
   313   EXPECT_EQ(40, eth0_event.readRate);
   314   EXPECT_EQ(0, eth0_event.writeRate);
   314   EXPECT_EQ(0, eth0_event.writeRate);
   315   EXPECT_STREQ("eth0", eth0_event.iface.c_str());
   315   EXPECT_STREQ("eth0", eth0_event.iface.c_str());
   316 
   316 
   317   EXPECT_EQ(10, eth1_event.readRate);
   317   EXPECT_EQ(80, eth1_event.readRate);
   318   EXPECT_EQ(0, eth1_event.writeRate);
   318   EXPECT_EQ(0, eth1_event.writeRate);
   319   EXPECT_STREQ("eth1", eth1_event.iface.c_str());
   319   EXPECT_STREQ("eth1", eth1_event.iface.c_str());
   320 
   320 
   321   MockJfrOSInterface::remove_interface(eth0);
   321   MockJfrOSInterface::remove_interface(eth0);
   322   MockEventNetworkUtilization::committed.clear();
   322   MockEventNetworkUtilization::committed.clear();
   325   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   325   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   326   JfrNetworkUtilization::send_events();
   326   JfrNetworkUtilization::send_events();
   327   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   327   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   328   const MockEventNetworkUtilization& eth1_event_v2 = MockEventNetworkUtilization::get_committed("eth1");
   328   const MockEventNetworkUtilization& eth1_event_v2 = MockEventNetworkUtilization::get_committed("eth1");
   329 
   329 
   330   EXPECT_EQ(5, eth1_event_v2.readRate);
   330   EXPECT_EQ(40, eth1_event_v2.readRate);
   331   EXPECT_EQ(0, eth1_event_v2.writeRate);
   331   EXPECT_EQ(0, eth1_event_v2.writeRate);
   332   EXPECT_STREQ("eth1", eth1_event_v2.iface.c_str());
   332   EXPECT_STREQ("eth1", eth1_event_v2.iface.c_str());
   333 }
   333 }
   334 
   334 
   335 TEST_VM_F(JfrTestNetworkUtilization, InterfaceReset) {
   335 TEST_VM_F(JfrTestNetworkUtilization, InterfaceReset) {
   341   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   341   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   342 
   342 
   343   JfrNetworkUtilization::send_events();
   343   JfrNetworkUtilization::send_events();
   344   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   344   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   345   const MockEventNetworkUtilization& event = MockEventNetworkUtilization::committed[0];
   345   const MockEventNetworkUtilization& event = MockEventNetworkUtilization::committed[0];
   346   EXPECT_EQ(5, event.readRate);
   346   EXPECT_EQ(40, event.readRate);
   347   EXPECT_EQ(0, event.writeRate);
   347   EXPECT_EQ(0, event.writeRate);
   348   EXPECT_STREQ("eth0", event.iface.c_str());
   348   EXPECT_STREQ("eth0", event.iface.c_str());
   349 
   349 
   350   eth0.bytes_in = 0;
   350   eth0.bytes_in = 0;
   351   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   351   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   358   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   358   MockFastUnorderedElapsedCounterSource::current_ticks += 2 * NANOSECS_PER_SEC;
   359 
   359 
   360   JfrNetworkUtilization::send_events();
   360   JfrNetworkUtilization::send_events();
   361   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   361   ASSERT_EQ(1u, MockEventNetworkUtilization::committed.size());
   362   const MockEventNetworkUtilization& event_v2 = MockEventNetworkUtilization::committed[0];
   362   const MockEventNetworkUtilization& event_v2 = MockEventNetworkUtilization::committed[0];
   363   EXPECT_EQ(5, event_v2.readRate);
   363   EXPECT_EQ(40, event_v2.readRate);
   364   EXPECT_EQ(0, event_v2.writeRate);
   364   EXPECT_EQ(0, event_v2.writeRate);
   365   EXPECT_STREQ("eth0", event_v2.iface.c_str());
   365   EXPECT_STREQ("eth0", event_v2.iface.c_str());
   366 }
   366 }