From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp53.i.mail.ru (smtp53.i.mail.ru [94.100.177.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 27E9E440F3C for ; Mon, 18 Nov 2019 19:05:29 +0300 (MSK) From: Serge Petrenko Date: Mon, 18 Nov 2019 19:05:02 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v3 0/3] fiber.top(): minor fixup List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org Cc: tarantool-patches@dev.tarantool.org The first patch factors all the clock-related members of struct fiber and struct cord into appropriate structs and adds methods for their updates and resets. The second patch fixes exponential moving average calculation so that we do not experience huge numbers in average load percentage calculations. The third patch alters fiber.top() test to wait for correct output before testing it. Follow-up https://github.com/tarantool/tarantool/issues/2694 Branch https://github.com/tarantool/tarantool/tree/sp/gh-2694-test-fixup Changes in v3: - introduce a new patch which refactors all the clock stat handling. - introduce a patch fixing EMA calculation - review fixes as per review from Vladislav Changes in v2: - clean up all fibers clock stats on fiber.top_enable() - push 0 instead of NaN when cord clock_delta_last is 0 - review fixes as per review from Vladislav Serge Petrenko (3): fiber.top() refactor clock and cpu time calculation fiber.top(): alter exponential moving average calculation app/fiber: wait till a full event loop iteration ends src/lib/core/fiber.c | 175 ++++++++++++++++++++++++---------------- src/lib/core/fiber.h | 109 +++++++++++++++++-------- src/lua/fiber.c | 20 +++-- test/app/fiber.result | 38 ++++++--- test/app/fiber.test.lua | 36 +++++++-- 5 files changed, 252 insertions(+), 126 deletions(-) -- 2.21.0 (Apple Git-122)