From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 2D8E11FF17F for ; Tue, 1 Oct 2024 09:55:12 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A8CC33420E; Tue, 1 Oct 2024 09:55:08 +0200 (CEST) Date: Mon, 30 Sep 2024 08:17:32 +0200 To: Daniel Kral , Proxmox VE development discussion References: <20240917055020.10507-1-sascha.westermann@hl-services.de> <69e71cf0-a8c4-42a6-a1a5-36024e903687@proxmox.com> In-Reply-To: <69e71cf0-a8c4-42a6-a1a5-36024e903687@proxmox.com> X-Mailman-Approved-At: Tue, 01 Oct 2024 09:55:05 +0200 MIME-Version: 1.0 Message-ID: List-Id: Proxmox VE development discussion List-Post: From: Sascha Westermann via pve-devel Precedence: list Cc: Sascha Westermann X-Mailman-Version: 2.1.29 X-BeenThere: pve-devel@lists.proxmox.com List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Proxmox VE development discussion List-Help: Subject: Re: [pve-devel] [PATCH pve-manager 2/3] Fix #5708: Add CPU raw counters Content-Type: multipart/mixed; boundary="===============1470947858322960104==" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" --===============1470947858322960104== Content-Type: message/rfc822 Content-Disposition: inline Return-Path: X-Original-To: pve-devel@lists.proxmox.com Delivered-To: pve-devel@lists.proxmox.com Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 3C9C0C1AEA for ; Mon, 30 Sep 2024 08:17:44 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 244D51015B for ; Mon, 30 Sep 2024 08:17:44 +0200 (CEST) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on20715.outbound.protection.outlook.com [IPv6:2a01:111:f403:2606::715]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 30 Sep 2024 08:17:42 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UzkjuRD6Su8GVpzvvyb7OAwol8u5AjyEUWIkkSi+28TTPjkQ3SOWXtb+ESlSIwrsnvCrk2YgfVJclUltfCZtSbLgaHGSFWzkaoTHgoJr0IFbPW5KXchgWKxsdC/5Bm+iv9KWuZwhSGHu8TNgJF1DkU9kmx/EymUxG7OsURYNcMGbtTxhs2urvG7h14Ul5SvA9ZQT7M8HuUwxM54H9n9EYuNVh/y0fGp8Ep2K2dInDfd+GXXXeUBguGVxYlyqqEWsfkD3H2ZKcP2tbuVUqiUc6iIcNnCS0F4z783Owg2ce8Gi0Yzd8K5ZSPzhYbhEo/j23LlYMbnsXPUvWJNW6t73jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/oDinKbXvTClTm+u3KmVQ8fhHLYdFDi5KT+M50z422U=; b=mABWwSLUkbNRCi5f6PXs8batVP6dKzCHS70nHAYsIXRztgWlFHs2HnkX7yJ17dqFWi7pdFgIv21rgUwBQvXfD4vpAYd+ohE8UzfSATZf06BktEa+gNWf41q0g4s3iLCLWVL8yUtiq/Va0iSlw4UTK890fT5qNIgTyTqdxTuIKljcJTq6S1EUUJBYmfm9zoHTo1qBCLXjS88pFOJ7/WkgKY0FXzgv7SlgbGZ51Z7DUVG2/6nzd9rU91/P1PrpJgUNzKQnDBHsqqF501TTK6fEiKB1uScGsbQfa2UXJJl6xKnvu2NmIOJJ5dbTAk/2Fh2unxq41G4k1eT6ogaVgL2VGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hl-services.de; dmarc=pass action=none header.from=hl-services.de; dkim=pass header.d=hl-services.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hl-services.de; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/oDinKbXvTClTm+u3KmVQ8fhHLYdFDi5KT+M50z422U=; b=W2GBRqbPs3tUeyY9F7QymNSwQ0M8MZXcANpMwjeHDfkGW6KUYzgriMWA9IWisiFxTZpL+YSB1Qt8GLiyFiglceL+xf8TA/aQFYBCz4CQlerFt73ZU69fdF/oNo6I1cl6k9H3aN9DWl7W+rosnSnI7Oa8WqmQPvDMe1eoIxUMJFj9G9h0sd2R/G0KFvpTbPlVOSCoXFAjlGJENcui3T45oKh72ZHKJcrjeXPrCy6G5RUYR6FQu4+lHAJW/cq08hlRc6F2DDAN/ndLiTQ1gXwxcUeDKu1k0FK9FxIYcDuvq2bwkB6p5y6Py0V8JrGDZghMYQUHgdJGydIMj9JkvJeZyQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hl-services.de; Received: from AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:419::5) by PA1PR10MB9083.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:441::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep 2024 06:17:34 +0000 Received: from AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM ([fe80::69f0:b468:92e7:7210]) by AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM ([fe80::69f0:b468:92e7:7210%6]) with mapi id 15.20.7982.012; Mon, 30 Sep 2024 06:17:34 +0000 Message-ID: <63c737f2-21cd-4fff-bf86-2369de65f886@hl-services.de> Date: Mon, 30 Sep 2024 08:17:32 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [pve-devel] [PATCH pve-manager 2/3] Fix #5708: Add CPU raw counters To: Daniel Kral , Proxmox VE development discussion References: <20240917055020.10507-1-sascha.westermann@hl-services.de> <69e71cf0-a8c4-42a6-a1a5-36024e903687@proxmox.com> Content-Language: de-DE From: Sascha Westermann In-Reply-To: <69e71cf0-a8c4-42a6-a1a5-36024e903687@proxmox.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030703080701040201050506" X-ClientProxiedBy: AM8P191CA0026.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::31) To AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:419::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4885:EE_|PA1PR10MB9083:EE_ X-MS-Office365-Filtering-Correlation-Id: a655d377-ef0a-44ca-c2c3-08dce1179292 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TExabTJnQ0dSRFE0ZEQycTNVSXZUc1V3ajRITW4wOEFadldvb1gvaVpZekI3?= =?utf-8?B?bVpUYisraXFocGp6M2paT0hwMUZqRnM1Rm5JQlhQTDFkL0hMWGFNYjJZdFpY?= =?utf-8?B?WFZpLzhPdFF1UzdHaC94Y3JqcGFIVDUwekVPR2dpZnQ3bVN4MWQrZkRNT053?= =?utf-8?B?RFU4K2E4OC9XdFJEMGZVRlhqTGkzZHpVeWtTTkp3dGhMcGJWOG9Xdk53dUxp?= =?utf-8?B?dGtPdG1FYk9mbWFaT1NvTzFjbnRKU1pIbFIxMk5XZnFybjZ0MS9lbDFNN3Zl?= =?utf-8?B?TnN2ajNuKzNNWkJZbzlwV0E5R2VreVlXcldZQlpYL0pqWDlCZ2pLSGFSR1N2?= =?utf-8?B?bUpXLzU3a1BMaE5UR0x6czVwNVcrY3NGMVB3cTFZeTdaQ1VVcXVYelZSeXgx?= =?utf-8?B?UTF5dVlJRWg1S2FQUGxBd3VaZTB6UFg4L2lXNnpvZmFIeFZIZGRjVVhGWW1O?= =?utf-8?B?QzFlTnFPVFo5SHQxTTFqcncrVStVYlgrdnpvWmRWY2lxa09jSzIvSUlqMXJR?= =?utf-8?B?VlIwOE91UGJDclpKaHFRMjlJMTArSlVGems0UnFPL1lUTVFVTllUWkFmcGkr?= =?utf-8?B?b1pjYk8vbm8xMHY1ckV3aVJCYjUxeXU0V3pVNFg3K1d0Uk90SkRlMXNZaEtQ?= =?utf-8?B?NWthZDFRbnVwbUVQeC9meEExUTJLbmJTQU5jUnJWY1grMFRmOEU0V0pJalBa?= =?utf-8?B?dlFOSFRWM3ZFWFpEaGFUampzVFk5THZLWnJlc3ZhWk9xZjNFU0dkeXlRM2l4?= =?utf-8?B?anUvOEthUy9ESnVJQnpUbmFWUUM5UG5EYWQybUVnWjZPaktDSDA3Y3NwK0RM?= =?utf-8?B?dmJMdURoOUYwRWhsb1RzTHVyMlZoblhUdENSOFhIYm5idlNlb3pISnZ4TGtJ?= =?utf-8?B?aG93Q2Nsb1pMTFczYkc3TW1Bc0w1MC9VbklHWXZST0VhbE5hSGFpTXdWZDV5?= =?utf-8?B?WWNWOTdmL2tTWmNhOFVsOTFlcGo4MEl2cGg3WHByRjB4MnBxNmQra29LdE5j?= =?utf-8?B?QVdzY1hQUFdDM2s1NTJGeWlxczZ3QlZNcjNGclZDcjM5NXNHWnlkakh5K0RM?= =?utf-8?B?cFZLUWVHK0RmNUsxd3dxODI4T1poWGkyMmpIZ3pHb1lQRExnWGV3MDg5K2ZE?= =?utf-8?B?b3RlWUNpYjNTaFF1alg2bUgyeFVabGNqMXZ4SjBseUE3S0VuMzVGVHdNT0g4?= =?utf-8?B?V0pveC9aRnIzNEJlOHFPSUFMT3JaOE1zbGRCMUVKNGlZejEwV0Z2TXdyVTR0?= =?utf-8?B?RDNpWm9MOThoak5iQ051WkpxK0IraitLekNCNVMvVXBRbEpGYkJBNGx1VVF2?= =?utf-8?B?RTdNVU8yRGR3TUh3ZS9QaTJJdjAxaUttUno3clRJdTE3ZnpuVFNESk9hV1Zn?= =?utf-8?B?dTVFOUNLekFiRVRKRHNvd0NTSkZqVWlxR1hFbk83K05mdHRVYmZ5WENKb1JG?= =?utf-8?B?azRZWjllWjNnUGRLUDBGRXJBcU42SUhGUmVaT1ROWkFES3V6cERPbFNmdUFw?= =?utf-8?B?cXRlenN0VEYrODFpejNZVi8xZ3p5bjM2UXJxSVRHeUF4dTBFMFJXdWJCcE9K?= =?utf-8?B?eEtLQ3BFeUhZMzRieDJDZjF2b1pxbitFeHBzV1VRMVJDb3FBajZIY01ZbGFD?= =?utf-8?B?dHBvZ1p4SGtXR2YzK2U2Wm5zVjJ2bVVIMjNZREtuMWJLQXdhZkRjemwyMzZy?= =?utf-8?B?Um5GamE5dXNPWlF1ZVVrYUZ2Vk9taURWM1B1OFhBRXFTV3o0cTVKNFdRPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dzFQanFMZ0ZuRUxEUEMxSkg0eUtSMXc4V3diS0ZoOUlRZWNza2lvalMvSlJK?= =?utf-8?B?YnFkVG9GQURhaTVtMEFlUjZsTUdsUnh0OGRGOVNWdGs4V1JHUUU1Y0hOVnhB?= =?utf-8?B?TnJ3NERMVXZTQmdQTkNwRWNxQ3UzcDhudG4vQlEvdHhKQnd2YVBIVkp2dStr?= =?utf-8?B?c3Q5K3RhSm83clR6dUpTenB1VHZ0MXo5L044RGc0VG9iRzlXVzFSNFRRUmJa?= =?utf-8?B?Rm9vdk9HSlRiUWdSMkYwSC9GbnphdmYxNkxnZm94d1I1aFVoaHFHdW8zYWda?= =?utf-8?B?c1JyWU0zTVpJMm1TaFhJMVJMSDFDMWp5MnFEVWphMC84OGZ4NWZMOFF6YlVF?= =?utf-8?B?dUorK0lNVGpLS3U0QTd4bHI3eTVTMU4rRDIwVFRCNVU4bFFiOWR2clFESHZx?= =?utf-8?B?Y0Q0WEllNnZtLzloM25ETEpFdDZzby9JZzJCdnZtdnBORVBaekdsR3o3eGRu?= =?utf-8?B?NHRYK0pUMGdhcDNkd212ZUpTRVlSSVdFc0c5UTUrQk43M2dhblkyMzlmdUt1?= =?utf-8?B?c2xlS1dCVHd6bkpqMDIxZjhrM1lUWE1VSUpmRTVlT3BNU3JjOW9EUER4S0dK?= =?utf-8?B?TUFZT0JwdnRLeDNKbVJkMHhYR3JRRWJvYUdZV2F5YVVMbjQzUGt2LzNZOEZw?= =?utf-8?B?RTkrbXpRUnZqNGhPVmgvU0VYbWhrbS9QcG42QlErc2czbjZETE1jY0R6VC80?= =?utf-8?B?UkdoNkh1aStwamt2b1BTRktWek03anhqakM0eEpHNDRyb2lOME9waTJnamUy?= =?utf-8?B?NkRqWVA1WS9sbmRkY0NWVitWUXVqQWp2VzVuM2p4WlZmelhta3VlNTZiMmdS?= =?utf-8?B?YStmSXp1cDlydlFvOVhDUzlCaG5kUEhqcFZXWmZVNlZLNW03QktrbkNoQThq?= =?utf-8?B?Y3NHRjFXWVlmalhoQ1BQSzRSRXJHRUdqVUdhTGk0NkdCWXlXU1o3ZDVCbDcz?= =?utf-8?B?Wk9Vd0NiQWFaYWpaRW1lRzRQdmh0cTRQWUdISGI3Zkx4YkcxeVZpNFA3RTlY?= =?utf-8?B?Z05oNCtMOVoyRnE0OFhNU0ozcEFFUVpibXBRK3B6c25sYm05RitvTlpyRDJB?= =?utf-8?B?OSt2RnhrQlZwNXkydE1FMzFoSkYwUmJ3TWZxKzF3N2piVmdhYU43RW1vYnp0?= =?utf-8?B?N3JMQzJRdmNXWTE3MVVaZ1FvWmJzYVRmWVlnTnFwRm10bGFmOHI3bTQyWEJU?= =?utf-8?B?ZjY0Nm1YRHNOSXNpd2E2clRqNzFSbUw1OU9ZUmM2blc2ckFteDVSL3M0cDlR?= =?utf-8?B?UnMwcXZxTW9NVTZTZllRQlZXV1pyRW5DaDNWd05PS0VMNnFLTDJQSEVWQXBy?= =?utf-8?B?RFR6SEQ5L2lIQ1B2OW94RzRZcndyc0VLdG1hRmVORFBkc3pyNWtyUVhTV1JP?= =?utf-8?B?dzhGczFmeWgwVFJqTGw3bUJnNllPaCsyRVNFVkYzTUl0VUJSWmRIZXprYjJt?= =?utf-8?B?VDIrdzE5U1VMRDl1QzB1R2t0T3AvMFYvVy9DSUpJQkl2cDBwYkgvQytaZ0Qx?= =?utf-8?B?RUlWYW54MnAzckVYVVNtU3NON1d4TUlVbVdlZlFuQmFMOXF3ejY5VkU4dWdC?= =?utf-8?B?WXRiTE4rSGtQUytJZkNlL2FORnRMQW42TWFzV1MzM3JZS1BkRjFIVVpibDBa?= =?utf-8?B?U1c2YnhNL3JlQTU4Yzc1bjZRaWdpbGxGVVF4MGc3YkhreEhTUUNuZG80OEs0?= =?utf-8?B?M2MrVm5uaDBPL0tiOVRKZVQrSkdqcW41cTFqaUUxNkgvVlpjUGYxeHpGdEs5?= =?utf-8?B?YkgxQnFaSzRhQ21Eejgybk5OVGZzV1FPVmtML2VEMzRjekozZjFaWU9mSDhu?= =?utf-8?B?QUtPNENYUThQOFR5ZG5FVmVlYzhNZitwQmpld3BiYjJ3ejhrMU5vTVNKRnJV?= =?utf-8?B?a2F5dXNreWhGRGNGdzZ6cnRnelNZS1hXRHIvS0FEN2pWTzdxYTJkVnMxSGtE?= =?utf-8?B?N1dzRnNMNUs5SVhaRnlTNzBIcGNMQVUvS0QyZzFMNHdkaXdFSzNWekVhU2FS?= =?utf-8?B?dVJsYWlBZnk1VnYxVDl2UlhZVUJPSGMybExhWG5yeE44S0YrTnh6OG5HVzd3?= =?utf-8?B?V2JFZFRnelBXQk94aUdZRmtiOS9KZGVHeXMyUEdCSEZsVy9iRkovc3RZRGZm?= =?utf-8?B?WW45N2NXSUNHaWdzUmh6LzE3a1F1ZitsbjJIVWxIeVBzRmNJWWZEMUlBcCtF?= =?utf-8?B?MFE9PQ==?= X-OriginatorOrg: hl-services.de X-MS-Exchange-CrossTenant-Network-Message-Id: a655d377-ef0a-44ca-c2c3-08dce1179292 X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4885.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 06:17:34.2513 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 996ee4f0-343c-4038-abc8-fd1e1094eeb5 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qBdZESJZ7vHwyS5RPLaIouo2hTEWxaYrG9tB69+l+uxqP5LBQMhRqzRBkWJIT2h1MZWqRODq6dP2ww8vfDLtccvS/kbLYTogSDP0iWPjIrBLqLmKk2SbFrAlfNqvnxY2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR10MB9083 X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL 0.000 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record X-Mailman-Approved-At: Tue, 01 Oct 2024 09:55:05 +0200 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 --------------ms030703080701040201050506 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable If the data is also to be processed by external metric servers, I think the integration in `PVE::ProcFSTools::read_proc_stat()` makes sense. The term `cpustat` would no longer conflict in this case, as the content would be virtually the same. I would create a new patch series for this, but when looking at `read_proc_stat` a few questions arose for me: > sub read_proc_stat { > my $res =3D { user =3D> 0, nice =3D> 0, system =3D> 0, idle =3D> 0 = , iowait =3D> 0, irq =3D> 0, softirq =3D> 0, steal =3D> 0, guest =3D> 0, = guest_nice =3D> 0, sum =3D> 0}; In order to remain consistent with the structure, the same fields per CPU would also need to be initialized with 0. However, this is only done when I find an entry of the form cpu, which implicitly gives me values - so the initialization would not do anything. In this context, I wonder whether there are any situations where no values can be set? I would actually say that this is not the case and that the initialization can be removed. Side note: `sum` is not used, it probably means `total`, right? > if (my $fh =3D IO::File->new ("/proc/stat", "r")) { > while (defined (my $line =3D <$fh>)) { > if ($line =3D~ m|^cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d= +)\s+(\d+)\s+(\d+)(?:\s+(\d+)\s+(\d+))?|) { > $res->{user} =3D $1 - ($9 // 0); > $res->{nice} =3D $2 - ($10 // 0); > $res->{system} =3D $3; `user` contains `guest` and `nice` contains `guest_nice`, so I understand that the values are subtracted. Wouldn't it be better to use the original values here? Especially when these are passed out as raw values via API, it would certainly be helpful if they correspond 1:1 with the documentation from /proc/stat. The values are output as a string in the JSON output. Is there anything against casting them to int? > my $diff =3D ($ctime - $last_proc_stat->{ctime}) * $clock_ticks * $c= pucount; > > if ($diff > 1000) { # don't update too often I don't understand the condition. `$ctime - $last_proc_stat->{ctime}` corresponds to the elapsed time in seconds as a float, `clock_ticks` would normally be 100. So that would mean that on a system with one CPU core an update may only take place every 10 seconds, but with 8 cores every 1.25 seconds? Is that an error? Is it even necessary to suppress updates if $diff > 0? --------------ms030703080701040201050506-- --===============1470947858322960104== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel --===============1470947858322960104==--