MCPcopy Create free account
hub / github.com/apache/mesos / TEST_P

Function TEST_P

src/tests/master_benchmarks.cpp:293–356  ·  view source on GitHub ↗

This test measures the time from all agents start to reregister to to when all have received `SlaveReregisteredMessage`.

Source from the content-addressed store, hash-verified

291// This test measures the time from all agents start to reregister to
292// to when all have received `SlaveReregisteredMessage`.
293TEST_P(MasterFailover_BENCHMARK_Test, AgentReregistrationDelay)
294{
295 size_t agentCount;
296 size_t frameworksPerAgent;
297 size_t tasksPerFramework;
298 size_t completedFrameworksPerAgent;
299 size_t tasksPerCompletedFramework;
300
301 tie(agentCount,
302 frameworksPerAgent,
303 tasksPerFramework,
304 completedFrameworksPerAgent,
305 tasksPerCompletedFramework) = GetParam();
306
307 master::Flags masterFlags = CreateMasterFlags();
308 masterFlags.authenticate_agents = false;
309
310 // Use replicated log so it better simulates the production scenario.
311 masterFlags.registry = "replicated_log";
312
313 Try<Owned<cluster::Master>> master = StartMaster(masterFlags);
314 ASSERT_SOME(master);
315
316 vector<TestSlave> slaves;
317
318 for (size_t i = 0; i < agentCount; i++) {
319 SlaveID slaveId;
320 slaveId.set_value("agent" + stringify(i));
321
322 slaves.emplace_back(
323 master.get()->pid,
324 slaveId,
325 frameworksPerAgent,
326 tasksPerFramework,
327 completedFrameworksPerAgent,
328 tasksPerCompletedFramework);
329 }
330
331 // Make sure all agents are ready to reregister before we start the stopwatch.
332 Clock::pause();
333 Clock::settle();
334 Clock::resume();
335
336 vector<Future<Nothing>> reregistered;
337
338 // Measure the time for all agents to receive `SlaveReregisteredMessage`.
339 Stopwatch watch;
340 watch.start();
341
342 foreach (TestSlave& slave, slaves) {
343 reregistered.push_back(slave.reregister());
344 }
345
346 await(reregistered).await();
347
348 watch.stop();
349
350 cout << "Reregistered " << agentCount << " agents with a total of "

Callers

nothing calls this directly

Calls 15

NoneClass · 0.85
createBasicAuthHeadersFunction · 0.85
OKClass · 0.85
loopFunction · 0.85
asyncFunction · 0.85
maxFunction · 0.85
collectFunction · 0.85
elapsedMethod · 0.80
IsInitializedMethod · 0.80
typeMethod · 0.80
isReadyMethod · 0.80
postFunction · 0.70

Tested by

no test coverage detected