From patchwork Sun Nov 27 06:26:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Haynes X-Patchwork-Id: 9448703 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5055F6071C for ; Sun, 27 Nov 2016 06:27:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3964920855 for ; Sun, 27 Nov 2016 06:27:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2E28122376; Sun, 27 Nov 2016 06:27:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 258E120855 for ; Sun, 27 Nov 2016 06:27:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753318AbcK0G1o (ORCPT ); Sun, 27 Nov 2016 01:27:44 -0500 Received: from us-smtp-delivery-194.mimecast.com ([63.128.21.194]:31574 "EHLO us-smtp-delivery-194.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753079AbcK0G1n (ORCPT ); Sun, 27 Nov 2016 01:27:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=PrimaryData.onmicrosoft.com; s=selector1-primarydata-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=R7QJAzlMpz5CZqvktPm+v3Npim6SXZVe8sevGrieifs=; b=CpLsQIh0cKedLHYyWBZrSK43XYoQwclVguct8el+h0vRJuWTvwvtrrvVsImspXLMheo5r5NKLiSLVK1Bf+183FAaLyedIK6lxcxQA+lgsHqvbMkKQdFdwwsY1A/cT6qhXSC/Hxeov0iq/furOOF2BpxSQAzusnW1P5NpQQQ+v9o= Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02lp0018.outbound.protection.outlook.com [216.32.180.18]) (Using TLS) by us-smtp-1.mimecast.com with ESMTP id us-mta-66-ie7Ag4LtPKGefgA2owDRzg-7; Sun, 27 Nov 2016 01:27:39 -0500 Received: from jhereg.localdomain (73.202.55.195) by BN6PR11MB1364.namprd11.prod.outlook.com (10.173.33.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.10; Sun, 27 Nov 2016 06:27:28 +0000 From: Tom Haynes To: "J. Bruce Fields" CC: Linux NFS Mailing list Subject: [PATCH pynfs 12/12] Add layoutstats tests for flex files Date: Sat, 26 Nov 2016 22:26:41 -0800 Message-ID: <1480228001-64821-13-git-send-email-loghyr@primarydata.com> X-Mailer: git-send-email 2.3.6 In-Reply-To: <1480228001-64821-1-git-send-email-loghyr@primarydata.com> References: <1480228001-64821-1-git-send-email-loghyr@primarydata.com> MIME-Version: 1.0 X-Originating-IP: [73.202.55.195] X-ClientProxiedBy: DM2PR07CA0047.namprd07.prod.outlook.com (10.141.52.175) To BN6PR11MB1364.namprd11.prod.outlook.com (10.173.33.8) X-MS-Office365-Filtering-Correlation-Id: b1ee1971-0c67-4efb-72fb-08d4168e7633 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR11MB1364; X-Microsoft-Exchange-Diagnostics: 1; BN6PR11MB1364; 3:9fGW3c87WW2ByK/grcn0w9a/T7/eLOphYo9Xmimj90EonxrN4N6nrD/qfo7wyEzKbYVNQN5R7yQzki+cSWaw7Zb7xfBLRI1BBYST+kb2HaMGNWazgChUoLe2XXWQCa/XcyhfC7/JJ/HtvzExT9F0+wLcBtaYtsl3YBNB+3njrmu/vi/UjmIMfjfHXfFEAuStNr9Rwzm8x+mH35jO2slM/yTqLobG7XhAXZS6qBiJcN/AqB2roZzLe66fYAwTU8zkpM8+8gb6Ag0r/w2oney5DQ==; 25:shBucY2MtbRZXrQ2+8kNDunSUh2zPhLqErNvXcYHPmiEU1tdnwm9tG2Ab25NZuwB/Bzca3Y0V6W4puJP5fIy095tWpbkS6CfQ5ctxRpdiFlkmXzFOQrtg33kp8wJOlUZrFcvV34HQzJNJPT+hSgOkv/OywWkZWACOurUjzE4iiJRoEmF6dUmW6AbVq04AOLnfok1aKQaCnhqOsrUBEc4USEKLaVr5Y4cxxN3Qu65EHwho4vh69lM/hMiXYLIvUWhzW2THDZW9SkCU7dxLi+CExxSDfoOrkmFd0M+uaqtOeMmfTS7fvQxTxHC03d/T9w7mTZzDXz5Q8YtArKLEEI655UmAMOU3msKZbf2yqZwhCREnGp/EUwExk87gJXtbtAi0fVbke91aSNSAFN48fFYK7L76ojJFNj28WFTWxqovdoFXqU7EP7F47cv/800Gb2pehV9zzE6nReMPtqlXU6F2Q== X-Microsoft-Exchange-Diagnostics: 1; BN6PR11MB1364; 31:tjAL8QXSNnyEcU0UFrmsDn5q0dIpn5+X0EKBm+O68Ih8lcyH66QLxGnvuor/KrWWkf/rr6IjsINA9mVWpndiUzyxuytIsB4n06gFOBUn5y68AD2BzmCRps+4ZNIbFk+LCIrphOkI43UeHrVhXtZqcJIytkT+ZQbByRflqOYSiE60YBEKbq8kMHFg2iI1QKSrxWeQe0VBc4wMHouSEhpRoB2IOXI+6phdy61ChDlbOfhP1d+EXUtQDxEYEtIujZVCnXBUXKyYHBe7cqhxtl8y7BULq9Ijg+DJRbx1JouC4wk=; 20:KV7xkSNv+iThQIe3b0fOBe8xNzrtz/KoG9GmMWQ+Xw0//NiycNM8v3Fvz2OQHRi/JI2Ut7add2o8WN8yM6lWddl2re1yQonrPugyssqSrEWeoYr64Hndls4EHn5rXMz1cKoCSiGRj+g0n5bM3GdhfDY1HQR9RsGEZwBbni3aoVw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6060326)(6045199)(6040361)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(6061324)(20161123560025)(2016111802025)(20161123555025)(20161123564025)(20161123562025)(6043046); SRVR:BN6PR11MB1364; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1364; X-Microsoft-Exchange-Diagnostics: 1; BN6PR11MB1364; 4:KqrjcRK3tgMBoHCIb22Lla4I73d1T38WN5yP0Hd8YZKDRDp43TkRgsKHEDX+lAAxsck1pAfiu2+wI+TRu7T/49dg53xMLx+IqFJ+oSeWFnfsmZeCffqjBJ38kNn9f4joSnut6SnSP1ibOmG/1FJ8JNy3ea7mZl76X9TxCyqaagwyY3qqecwLKWRSkh0uIXjgKcn9EGrl/bSbP77FsyCcqANZSg4NSljM+/fn11rYYyn30WH5AiwAUcow/+wY+4ZwHFjEQzXU/L/MxG8OrbUegctmI1tcchFQ6WMpsrlxGSma4HmZuJVAfUNa96rPXL89Xho5Bi3J7rCCtWKELSdKr0kxXfZsOlTAaj9dWcBtfSn+wbCSUS/arxSjDBUOTjYqYOheeKhLA7NG4jRivKR6FmUfR13n7o02rjIx6DQwvPbXMmK3X4Bg4IL7ZjKzEhqULuK27fyYeYjjc98hIWcLUcmsV+/kXmQ4f9XxnE9ODwXJrfCVUKrcBTpv+1QpiONmOBLshlBjrx749UHIHWBtajDRUKMKbQDe8yEmJll6G8a5sPRIeTG7UAaIM0YqQAtNy6MvKDDsLlRMg35ctTKtlFmKdPj76CephGIZnZZATxte7WhbOsX/z4TC+jD2emX6ZiWuPJsFUK8Onfa+db8N8mQwUWCEmL6sVeD8qsIbRAMxQplwq8QpEKSA65gISV+4E84/FxHJKv609pMLjIkpYg== X-Forefront-PRVS: 0139052FDB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(189002)(50986999)(86362001)(5003940100001)(68736007)(305945005)(7736002)(7846002)(105586002)(101416001)(97736004)(42186005)(92566002)(76176999)(36756003)(66066001)(38730400001)(47776003)(110136003)(33646002)(106356001)(39450400002)(733004)(2950100002)(50466002)(8676002)(6916009)(6666003)(81166006)(81156014)(4326007)(50226002)(5660300001)(48376002)(2906002)(6116002)(3846002)(39400400001)(39380400001)(39410400001)(6486002)(189998001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN6PR11MB1364; H:jhereg.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR11MB1364; 23:kHum2UgyYOqI0pLEi3D/S5lq83aOsfxPhJf0F2MlV?= =?us-ascii?Q?hq96kKVvVM6S9H5eMzPNmYTWnTPWU6S5gu5Aj2socDE0WguyQ2CXseFsSGq5?= =?us-ascii?Q?hRiJOdvGuxA3X7OnhkmYWhSTTL+3sPJpz+QR7cSmwilAlJ59Gcx5i/l1hOMp?= =?us-ascii?Q?yjCab40vV42DwAEoBbb1bp7Hr2RIonPSkSeO5OVvqSXWi99aD+ovH2iTVpHX?= =?us-ascii?Q?Ls0d884Lcepppbz/dj2jH6nyDNz3PFYoOc96C3rdN5tKMd4YXFSyM8iBH5MK?= =?us-ascii?Q?5LXDmrICx2/ZpHOdab7hjXCXn8VCCKae4s0K162InMAhDj8ukYYziacgQ7Nn?= =?us-ascii?Q?fRq4VM8czRmxSEX2sdmGJ+g7bZ2SoL/HkVI7V1/PfiBPpZ+7MmdTwqhJtvVS?= =?us-ascii?Q?n7oxV29OaMVd2Uo1w+ckmlHlRjB0ELoot2WOHeh4LTFjUnXLUR/r4PxJFl7s?= =?us-ascii?Q?B392pFd2Ey4R/nqzcdTZRXZUakDAAlQ1RVZyaMJLvGZnYA9QezyARL0wLInZ?= =?us-ascii?Q?hNJOA8nWgTWtngRZgshT6JXoepVYxUmSM/22dg/9QzOamI8PHnQsaCIpwxNn?= =?us-ascii?Q?seHkSmmJDc3hox/iIvrHmmayNlYn0axr+Kl7DEYvdl0kRTGo6OJPAIm0T0Vf?= =?us-ascii?Q?AG2GL2C3DRS4isA1EQh1xS2WjUi/EPLPZaV44esKnNfqCrDl7IPvSvv9L9j7?= =?us-ascii?Q?o5HbGC6ohUGElLLUBrVclhn1/aD3IIdcCMK44qz3FsXavgOcwAVN20F3h+Vi?= =?us-ascii?Q?JhzWkAZbfPVWJIkcbf6CIlyPxeoo/KnG/Ej53gHJLFU4x3vGhnRb1L/AiCTW?= =?us-ascii?Q?7PLczJr2UfieYhshBFF4lXrZLhlRPnRta5YCgIAcvx+jIVQsMzQ0H7FKFXsL?= =?us-ascii?Q?sQT2YQnrag1VtyofRuZzEHSN+m2RwHsD9iLgARHq9/VAEJ9zkfliEK8JnSRz?= =?us-ascii?Q?bpmJIscUjrKJQQKf+PC2yrVZEEwQ9aQt6Z35gRHuGe59gDDRj/VbbNO4mUh1?= =?us-ascii?Q?2xQgD1akATxhmZ4KVrPB8c/vWzjYRpsSIiU5motGwaqKO5uBvnUlKV36QyW6?= =?us-ascii?Q?y3ccOUtGXBwHDAn48ynppvczG56/ATEM+Dp/HTLGK9GpRqAcOcdwMBj5m5sZ?= =?us-ascii?Q?owPVJL2ZQ4hcul/Ii/+KU67pTHcaz2U?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR11MB1364; 6:xqsDwpmu67sOyquCt8fmih/dg09yHEkFM+nz2EJW9wvPvZXCgIlUzMdxn03kC3moULwbq043npM6s0RWX9u+qfy6WSwq5EQthxx1rEjufivxRP6BKo3T+0p/huEtmjlIvpLrPM1Y4Lxjqrv54Of5PrWd01Ldqeb6bnwIFwHwOPu5BJeRDGDCLKjnZ2UN7M89vvndTsMD3dyuo/GS0OCXe932PRM9JYpJ5mzjJIi0zcQOKW7bRW5eOsp4IKr0YAn/BjxrYNFiTo7yldOjGTe4rFpiGWoPdkb+H83B+3ki5HDgVCspEcY01yVL7C9rvjydX0NwkmmEEpFFMYmUaIta3yS8janduDfUPUtzaroLzon2Zg7kP0TOZ/xqxbg8Wi+BfWQG3h5BSOnTIz/gILyhmonL38WgM1htBBmJKPh5fMQk2cEitWYp2MwbBXMIeDNxZVyfnnGXfCEZmn9ErQ9sBK3tZeUSrn8UBYw3J3F17Cw=; 5:uTr8lLQ64hXVM8xTtw6U1CgPSUFHmLXaQ2Z5uIcWXVo7IOQpQXHxT1D2XWxnaCDVxR24Ut3F455+XNCA5it7l4X+lzss3K+ZeMNzym3fErgZvwLB+Lti86cAdORAlH7J5e0pAdm8I50iaP5KYHBk7KNhTEHP0houjcm7gHRZk9U=; 24:O/QTs7Ebefskvg5+80bMfZyaqUs4e1eCIMKjSzdCnzYbP6FwjdPOtEf3GbJuk6xRpg+YxMZX9BszdumfjdPSvFfUCF+h3oUfTy5MYQ1Z4Qg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR11MB1364; 7:Jhda64Qatifo/e5Rm7czbOojbYDmjO+WvmagKhL1qbUYci4nerpeNpfEdSyyrcxl3beVUCEU5vyGkXWv439xAEsiqxK1HOUhmP/zzTXKmuyTJVv10hR/yUkmCodlFwOf5kXREutoMxFzVVGChf7wQ8RtEZwmQgA7asMoXGATLCbv+pHNE1SnsxErmj0QmTpf02BA/v9VjRDuooatgjBXvJSe7FsWM5AjffRZPV4MIMGzfN7cFKvpaDpodU0M9fqczaYJeUvoxSHyKKiylhY6sarCsTGdIQHhVKiv7emlF2kTWFXI3y+B4DB/FK73RCw1gHx5HRgOBY0mGc2oW3GzM3BMCdMyyibIQz287w/tm0Im0DtOpHZ3UYBXoMAx8NXqyjOcvXCh1NguzQw7Ki+78DoOx4qvdGT9ejbOLUgwS6/WeQnx8qVvBSYAkSkqOKQIX6ZTijSWFpkLxNsGMWC2tA==; 20:d2Aq7AQlpRWwo9xSOxxzGFgPzc08Dm2tsQm+PH9e+QnLajZ1hgDOj9uzPjzitL0vDUxf/Wj+0fINYaja1+aNfhqtOA7EkUoHMhlIYMUhH6pFE4gj24Eop3wZHvBgYapWRjVMlBvQ7E/cwT4CrOuJxeHP0ifBtNOCeq4R7e/3X70= X-OriginatorOrg: primarydata.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2016 06:27:28.6539 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1364 X-MC-Unique: ie7Ag4LtPKGefgA2owDRzg-7 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 1) Time series where the client resets the data 2) Time series where the reset is straightened out 3) Time series where an I/O stall occurs Signed-off-by: Tom Haynes --- nfs4.1/server41tests/st_flex.py | 195 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 194 insertions(+), 1 deletion(-) diff --git a/nfs4.1/server41tests/st_flex.py b/nfs4.1/server41tests/st_flex.py index 06dbba8..a14c926 100644 --- a/nfs4.1/server41tests/st_flex.py +++ b/nfs4.1/server41tests/st_flex.py @@ -327,7 +327,7 @@ def testFlexLayoutStatsSmall(t, env): 2) GETDEVINFO 3) LAYOUTRETURN, CLOSE - FLAGS: flex + FLAGS: flex layoutstats CODE: FFLS1 """ lats = [93089, 107683, 112340, 113195, 130412, 138390, 140427, 158824, 193078, 201879, 391634, 404757, 2201181, 2232614, 2280089, 2296343, 2341763, 2392984, 3064546, 3070314] @@ -399,3 +399,196 @@ def testFlexLayoutStatsSmall(t, env): op.close(0, open_stateid)] res = sess.compound(ops) check(res) + +def _LayoutStats(t, env, stats): + '''Loop over the provided layoutstats, sending them on in time + ''' + sess = env.c1.new_pnfs_client_session(env.testname(t)) + + # Create the file + res = create_file(sess, env.testname(t)) + check(res) + fh = res.resarray[-1].object + open_stateid = res.resarray[-2].stateid + lo_stateid = open_stateid + + ops = [op.putfh(fh), + op.layoutget(False, LAYOUT4_FLEX_FILES, + LAYOUTIOMODE4_RW, + 0, 0xffffffffffffffff, 8192, lo_stateid, 0xffff)] + res = sess.compound(ops) + check(res) + lo_stateid = res.resarray[-1].logr_stateid + check_seqid(lo_stateid, 1) + + layout = res.resarray[-1].logr_layout[-1] + p = FlexUnpacker(layout.loc_body) + opaque = p.unpack_ff_layout4() + p.done() + + stats_hint = opaque.ffl_stats_collect_hint + + # Assume one mirror/storage device + ds = opaque.ffl_mirrors[-1].ffm_data_servers[-1] + + deviceid = ds.ffds_deviceid + + ops = [op.putfh(fh), + op.getdeviceinfo(deviceid, LAYOUT4_FLEX_FILES, 0xffffffff, 0)] + res = sess.compound(ops) + check(res) + + gda = res.resarray[-1].gdir_device_addr + + p = FlexUnpacker(gda.da_addr_body) + da = p.unpack_ff_device_addr4() + p.done() + + rd_io = io_info4() + wr_io = io_info4() + + rd_lat = ff_io_latency4() + wr_lat = ff_io_latency4() + + for s in stats: + dur = get_nfstime(s[1]) + + # Did not capture these in the gathered traces + offset = 0 + file_length = 0xffffffffffffffff + rd_io.ii_count = 0 + rd_io.ii_bytes = 0 + wr_io.ii_count = 0 + wr_io.ii_bytes = 0 + + rd_lat.ffil_ops_requested = s[5] + rd_lat.ffil_bytes_requested = s[4] + rd_lat.ffil_ops_completed = s[6] + rd_lat.ffil_bytes_completed = s[2] + rd_lat.ffil_bytes_not_delivered = s[3] + rd_lat.ffil_total_busy_time = get_nfstime(s[7]) + rd_lat.ffil_aggregate_completion_time = get_nfstime(s[8]) + wr_lat.ffil_ops_requested = s[12] + wr_lat.ffil_bytes_requested = s[11] + wr_lat.ffil_ops_completed = s[13] + wr_lat.ffil_bytes_completed = s[9] + wr_lat.ffil_bytes_not_delivered = s[10] + wr_lat.ffil_total_busy_time = get_nfstime(s[14]) + wr_lat.ffil_aggregate_completion_time = get_nfstime(s[15]) + + sleeper = s[0] + env.sleep(sleeper) + fflu = ff_layoutupdate4(da.ffda_netaddrs[-1], ds.ffds_fh_vers[-1], + rd_lat, wr_lat, dur, True) + p = FlexPacker() + p.pack_ff_layoutupdate4(fflu) + lu4 = layoutupdate4(LAYOUT4_FLEX_FILES, p.get_buffer()) + + ops = [op.putfh(fh), + op.layoutstats(offset, file_length, lo_stateid, rd_io, wr_io, deviceid, lu4)] + res = sess.compound(ops) + check(res) + + ops = [op.putfh(fh), + op.layoutreturn(False, LAYOUT4_FLEX_FILES, LAYOUTIOMODE4_ANY, + layoutreturn4(LAYOUTRETURN4_FILE, + layoutreturn_file4(0, 0xffffffffffffffff, lo_stateid, "")))] + res = sess.compound(ops) + check(res) + res = close_file(sess, fh, stateid=open_stateid) + check(res) + +def testFlexLayoutStatsReset(t, env): + """These layoutstats are from when the client effectively resets them + by having one field be less than the cumulative ancestor + + FLAGS: flex layoustats + CODE: FFLS2 + """ + + ls = [[15, 14997377109, 756789248, 0, 756834304, 184774, 184763, 14996867426, 135877046309, 252579840, 0, 252665856, 61686, 61665, 14997307909, 336986104593], + [15, 29997404625, 1527537664, 0, 1527566336, 372941, 372934, 29996142132, 275416132139, 508502016, 0, 508604416, 124171, 124146, 29997293567, 670368077434], + [15, 44999356031, 2331115520, 0, 2331136000, 569125, 569120, 44997516473, 414235887583, 775569408, 0, 775680000, 189375, 189348, 44999096896, 1004056428600], + [15, 60001513873, 3142483968, 0, 3142529024, 767219, 767208, 59999263507, 550956049466, 1044996096, 0, 1045082112, 255147, 255126, 60001232968, 1340163285214], + [15, 75001564615, 3969384448, 0, 3969413120, 969095, 969088, 74999204445, 687761120289, 1320456192, 0, 1320542208, 322398, 322377, 75001158793, 1676193906267], + [15, 90001651970, 4873195520, 0, 4873248768, 1189758, 1189745, 89999194540, 828644696229, 1620467712, 0, 1620545536, 395641, 395622, 90000994588, 2006906488984], + [15, 105001710572, 5816430592, 0, 5816467456, 1420036, 1420027, 104995782871, 979226777566, 1935175680, 0, 1935269888, 472478, 472455, 104999171073, 2326727992588], + [15, 14997245247, 1466019840, 0, 1466097664, 357934, 357915, 15001797989, 277140995467, 487624704, 0, 487677952, 119062, 119049, 14997939745, 179221181962], + [15, 29999503656, 2929393664, 0, 2929500160, 715210, 715184, 30001965158, 554484427501, 974204928, 0, 974229504, 237849, 237843, 29998797328, 359060066193], + [15, 45000138417, 4245204992, 0, 4245245952, 1036437, 1036427, 45005641995, 825579118923, 1411981312, 0, 1412071424, 344744, 344722, 44996637179, 547563519532], + [15, 60000125536, 5545734144, 0, 5545807872, 1353957, 1353939, 60009284822, 1097378466922, 1844367360, 0, 1844400128, 450293, 450285, 59996684404, 735124264647], + [15, 14999894874, 1278164992, 0, 1278226432, 312067, 312052, 15006094174, 270749903934, 425877504, 0, 425947136, 103991, 103974, 15000341906, 189401125380], + [15, 30000017314, 2586595328, 0, 2586648576, 631506, 631493, 30009142707, 540229533389, 860536832, 0, 860614656, 210111, 210092, 29999220098, 379353634204], + [15, 44999991304, 3859476480, 0, 3859574784, 942279, 942255, 45011969088, 808964878766, 1283543040, 0, 1283575808, 313373, 313365, 44999310875, 571777183394], + [15, 60000803942, 5141098496, 0, 5141168128, 1255168, 1255151, 60015665154, 1075012244233, 1709035520, 0, 1709096960, 417260, 417245, 60000142398, 766775808737], + [15, 75000722908, 6431453184, 0, 6431526912, 1570197, 1570179, 75018741381, 1344327593333, 2140831744, 0, 2140889088, 522678, 522664, 75000341374, 957762218131], + [15, 14990345451, 1310584832, 0, 1310654464, 319984, 319967, 14990338511, 276432361830, 436121600, 0, 436183040, 106490, 106475, 14991353202, 182231098560], + [15, 29990415908, 2630619136, 0, 2630701056, 642261, 642241, 29983066936, 554752250256, 875077632, 0, 875126784, 213654, 213642, 29982845793, 362758943732], + [15, 44992404751, 3910578176, 0, 3910664192, 954752, 954731, 44982785073, 827471490050, 1300946944, 0, 1300992000, 317625, 317614, 44985003324, 549721947944]] + + _LayoutStats(t, env, ls) + +def testFlexLayoutStatsStraight(t, env): + """These stats are the same as the reset ones, but have been massaged + to keep the server from detecting the reset. I.e., the client + has not lost it all! + + FLAGS: flex layoustats + CODE: FFLS3 + """ + + ls = [[15, 14997377109, 756789248, 0, 756834304, 184774, 184763, 14996867426, 135877046309, 252579840, 0, 252665856, 61686, 61665, 14997307909, 336986104593], + [15, 29997404625, 1527537664, 0, 1527566336, 372941, 372934, 29996142132, 275416132139, 508502016, 0, 508604416, 124171, 124146, 29997293567, 670368077434], + [15, 44999356031, 2331115520, 0, 2331136000, 569125, 569120, 44997516473, 414235887583, 775569408, 0, 775680000, 189375, 189348, 44999096896, 1004056428600], + [15, 60001513873, 3142483968, 0, 3142529024, 767219, 767208, 59999263507, 550956049466, 1044996096, 0, 1045082112, 255147, 255126, 60001232968, 1340163285214], + [15, 75001564615, 3969384448, 0, 3969413120, 969095, 969088, 74999204445, 687761120289, 1320456192, 0, 1320542208, 322398, 322377, 75001158793, 1676193906267], + [15, 90001651970, 4873195520, 0, 4873248768, 1189758, 1189745, 89999194540, 828644696229, 1620467712, 0, 1620545536, 395641, 395622, 90000994588, 2006906488984], + [15, 105001710572, 5816430592, 0, 5816467456, 1420036, 1420027, 104995782871, 979226777566, 1935175680, 0, 1935269888, 472478, 472455, 104999171073, 2326727992588], + [15, 119998955819, 7282450432, 0, 7282565120, 1777970, 1777942, 119997580860, 1256367773033, 2422800384, 0, 2422947840, 591540, 591504, 119997110818, 2505949174550], + [15, 135001214228, 8745824256, 0, 8745967616, 2135246, 2135211, 134997748029, 1533711205067, 2909380608, 0, 2909499392, 710327, 710298, 134997968401, 2685788058781], + [15, 150001848989, 10061635584, 0, 10061713408, 2456473, 2456454, 150001424866, 1804805896489, 3347156992, 0, 3347341312, 817222, 817177, 149995808252, 2874291512120], + [15, 165001836108, 11362164736, 0, 11362275328, 2773993, 2773966, 165005067693, 2076605244488, 3779543040, 0, 3779670016, 922771, 922740, 164995855477, 3061852257235], + [15, 180001730982, 12640329728, 0, 12640501760, 3086060, 3086018, 180011161867, 2347355148422, 4205420544, 0, 4205617152, 1026762, 1026714, 179996197383, 3251253382615], + [15, 195001853422, 13948760064, 0, 13948923904, 3405499, 3405459, 195014210400, 2616834777877, 4640079872, 0, 4640284672, 1132882, 1132832, 194995075575, 3441205891439], + [15, 210001827412, 15221641216, 0, 15221850112, 3716272, 3716221, 210017036781, 2885570123254, 5063086080, 0, 5063245824, 1236144, 1236105, 209995166352, 3633629440629], + [15, 225002640050, 16503263232, 0, 16503443456, 4029161, 4029117, 225020732847, 3151617488721, 5488578560, 0, 5488766976, 1340031, 1339985, 224995997875, 3828628065972], + [15, 240002559016, 17793617920, 0, 17793802240, 4344190, 4344145, 240023809074, 3420932837821, 5920374784, 0, 5920559104, 1445449, 1445404, 239996196851, 4019614475366], + [15, 254992904467, 19104202752, 0, 19104456704, 4664174, 4664112, 255014147585, 3697365199651, 6356496384, 0, 6356742144, 1551939, 1551879, 254987550053, 4201845573926], + [15, 269992974924, 20424237056, 0, 20424503296, 4986451, 4986386, 270006876010, 3975685088077, 6795452416, 0, 6795685888, 1659103, 1659046, 269979042644, 4382373419098], + [15, 284994963767, 21704196096, 0, 21704466432, 5298942, 5298876, 285006594147, 4248404327871, 7221321728, 0, 7221551104, 1763074, 1763018, 284981200175, 4569336423310]] + _LayoutStats(t, env, ls) + +def testFlexLayoutStatsOverflow(t, env): + """These layoutstats are a write intensive work load in which eventually one stat takes + twice longer than the collection period. + + FLAGS: flex layoustats + CODE: FFLS4 + """ + + ls = [[27, 27614183359, 0, 0, 0, 0, 0, 0, 0, 41943040, 0, 96468992, 10292, 10240, 26609085208, 134047775590766], + [15, 42725368747, 0, 0, 0, 0, 0, 0, 0, 41943040, 0, 2402213888, 15847, 11881, 31458638093, 136367242297571], + [15, 57912190475, 0, 0, 0, 0, 0, 0, 0, 41943040, 0, 2406907904, 15924, 11881, 31458638093, 136367242297571], + [15, 72921814168, 0, 0, 0, 0, 0, 0, 0, 896532480, 0, 2946293760, 16847, 15969, 70391696445, 275087250172195], + [15, 87922239746, 0, 0, 0, 0, 0, 0, 0, 896532480, 0, 3196473344, 18335, 15969, 70391696445, 275087250172195], + [15, 102949476399, 0, 0, 0, 0, 0, 0, 0, 1808183296, 0, 4038545408, 20452, 19074, 92455324261, 310159328537298], + [15, 117951351182, 0, 0, 0, 0, 0, 0, 0, 2587693056, 0, 4486782976, 22613, 19935, 116950745229, 331739899803911], + [16, 133017224561, 0, 0, 0, 0, 0, 0, 0, 2587693056, 0, 4830961664, 23306, 22169, 118004988775, 353778424445917], + [15, 148031127154, 0, 0, 0, 0, 0, 0, 0, 4132970496, 0, 5960671232, 29861, 26094, 146128115965, 387064682636158], + [15, 163058556237, 0, 0, 0, 0, 0, 0, 0, 5614419968, 0, 7550558208, 40590, 39198, 159139080717, 453635077855389], + [15, 178067770476, 0, 0, 0, 0, 0, 0, 0, 5614419968, 0, 7838756864, 41554, 39198, 159139080717, 453635077855389], + [15, 193081456711, 0, 0, 0, 0, 0, 0, 0, 6428528640, 0, 8151494656, 43497, 42179, 189486399712, 517147615890054], + [15, 208082626131, 0, 0, 0, 0, 0, 0, 0, 7284596736, 0, 8656367616, 47929, 43079, 207082978313, 532741795045495], + [15, 223082643294, 0, 0, 0, 0, 0, 0, 0, 7944978432, 0, 9539055616, 58212, 53705, 222083467525, 636168303637199], + [15, 238083127306, 0, 0, 0, 0, 0, 0, 0, 7944978432, 0, 9763426304, 62673, 57863, 223491351125, 650450833313121], + [15, 253175262253, 0, 0, 0, 0, 0, 0, 0, 7944978432, 0, 9860571136, 65509, 57863, 223491351125, 650450833313121], + [15, 268185316876, 0, 0, 0, 0, 0, 0, 0, 8729772032, 0, 10523738112, 71014, 65222, 267165070170, 853839631006322], + [17, 285787666679, 0, 0, 0, 0, 0, 0, 0, 9522692096, 0, 10779361280, 72612, 66965, 284787142241, 896650223319399], + [33, 318568880195, 0, 0, 0, 0, 0, 0, 0, 9522692096, 0, 10779361280, 72613, 72611, 317562885639, 1120229814239633], + [15, 333747489171, 0, 0, 0, 0, 0, 0, 0, 10788278272, 0, 10788802560, 74918, 74790, 332233465692, 1121703181284495], + [15, 348749618256, 0, 0, 0, 0, 0, 0, 0, 10801360896, 0, 10801885184, 78112, 77984, 347235605251, 1123668237106158], + [14, 362014682745, 0, 0, 0, 0, 0, 0, 0, 10812923904, 0, 10814496768, 81191, 80935, 361134569864, 1125289046746198], + [15, 377016435231, 0, 0, 0, 0, 0, 0, 0, 10836291584, 0, 10837864448, 86896, 86640, 376136316640, 1127198465086932], + [15, 392027464946, 0, 0, 0, 0, 0, 0, 0, 10852364288, 0, 10853937152, 90820, 90564, 391147321463, 1129113173731145], + [15, 407034683097, 0, 0, 0, 0, 0, 0, 0, 10864914432, 0, 10866487296, 93884, 93628, 406154554429, 1131023767183211]] + _LayoutStats(t, env, ls)