From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7012617433684901888 X-Received: by 2002:a2e:a58b:: with SMTP id m11mr20758183ljp.342.1633425571813; Tue, 05 Oct 2021 02:19:31 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3994:: with SMTP id j20ls2307391lfu.3.gmail; Tue, 05 Oct 2021 02:19:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtuqlKJReBeNBdnh9czJ1W4HjelJzxEzn5RL0VhLS/Z5hw9w19dPusKWVVN5oXUtej8qyt X-Received: by 2002:ac2:5615:: with SMTP id v21mr2265916lfd.367.1633425570798; Tue, 05 Oct 2021 02:19:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633425570; cv=none; d=google.com; s=arc-20160816; b=V0YAlUZ8mKrcbUbCMgA4aCxnFLuzHwA7t5sgWjI+/ega3GyRz67ASZJLbaUXdQUYDy K69pOp/IxO+iHSVbVUsKCNcNeSGsjEoelWdqRmfHypcWq7Uvp1/lQ75b4GWSb6L4RAiN 6q/riHPiUua7YcriLyrfxIJ2nxXXIxHlEdrDQIVewg6JokHUdRkGpur0xzaqA50KREiQ FDvONZCs/W0qiPr82UUPBtzJ/oFXdB/SlBBR2j2he6bgBKc3bvTGsaEGcR4pe700Q72p aBQF+/jWD5FVBtHdeYkaxegBzmFt1QU5myvtnQv3Q25nVhoSE5DOpB8EzwY5Z9ycxuFJ NAfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=lQ/sK14bt394qnIQH1iLBDd7h+qrpksgKkaPRJ2bDII=; b=abQNHEZYPcggIxOnphi1MDZurzRqJ+RUkxROJF78jy4EU4YqL4N5ilKjRR4R/Hwph+ qXWbnzfV2zVX+DCQ8fIbVuBMO15uDBhFX8mvVOZg2/o7BVVYpn3goQqDphW+DG0p4IJw 334Fz/hcVbT2+JVkgOFLxyAZphalJ4mZB0v3vC17CsUHq6fh1TMjti6/YxEcfU/D/mdw +iVzIdPBfcQBEX0JZ5cEX4ywAaeE1VWWi3KP/1ixGOBCWZih7hZ3LSsjz9ec12+D+1ul Obeq/l8MD9ftB+l0nuxmpQh20mxezXaPsmAyzH9c3NeTqFcn8Y8rruHnDV3U9imrHS69 eImA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id h4si515778lft.8.2021.10.05.02.19.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Oct 2021 02:19:30 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 1959JTlU014301 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 5 Oct 2021 11:19:30 +0200 Received: from md1za8fc.ad001.siemens.net ([139.25.0.59]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 1959JTUL005743; Tue, 5 Oct 2021 11:19:29 +0200 Date: Tue, 5 Oct 2021 11:19:29 +0200 From: Henning Schild To: Uladzimir Bely Cc: isar-users@googlegroups.com Subject: Re: [PATCH v2 2/4] buildstats: Fix bbclass to work with ISAR Message-ID: <20211005111929.579137e8@md1za8fc.ad001.siemens.net> In-Reply-To: <20210927141705.25386-3-ubely@ilbers.de> References: <20210927141705.25386-1-ubely@ilbers.de> <20210927141705.25386-3-ubely@ilbers.de> X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: jC6yBH1PJU9f We should really try to avoid such forking. It will be hard to maintain! Maybe try to use inheritance/wrapping instead. We could have builtstats-isar.py to include the original and prepare bits like the python path. Am Mon, 27 Sep 2021 16:17:03 +0200 schrieb Uladzimir Bely : > 1. rootfs may be empty that causes exception. > 2. sudo required to calculate rootfs disk usage. > 3. sys.path modification to make meta/lib available. > > Signed-off-by: Uladzimir Bely > --- > meta/classes/buildstats.bbclass | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/meta/classes/buildstats.bbclass > b/meta/classes/buildstats.bbclass index 0de6052..e2db8f6 100644 > --- a/meta/classes/buildstats.bbclass > +++ b/meta/classes/buildstats.bbclass > @@ -242,9 +242,9 @@ python run_buildstats () { > bs = os.path.join(bsdir, "build_stats") > with open(bs, "a") as f: > rootfs = d.getVar('IMAGE_ROOTFS') > - if os.path.isdir(rootfs): > + if rootfs and os.path.isdir(rootfs): We could just set that to "" in a central config. In fact that bit might be relevant for fixing in OE or see why they never encounter "Null". > try: > - rootfs_size = subprocess.check_output(["du", > "-sh", rootfs], > + rootfs_size = > subprocess.check_output(["sudo", "du", "-sh", rootfs], That "sudo" can probably be smuggled in by an outer class. You overwrite "subprocess.check_output", mostly call the original or patch argv when needed. > stderr=subprocess.STDOUT).decode('utf-8') f.write("Uncompressed > Rootfs size: %s" % rootfs_size) except subprocess.CalledProcessError > as err: @@ -270,6 +270,9 @@ addhandler run_buildstats > run_buildstats[eventmask] = "bb.event.BuildStarted > bb.event.BuildCompleted bb.event.HeartbeatEvent bb.build.TaskStarted > bb.build.TaskSucceeded bb.build.TaskFailed" python runqueue_stats () { > + import sys > + oe_lib_path = os.path.join(d.getVar('LAYERDIR_core'), 'lib') > + sys.path.insert(0, oe_lib_path) This can also be done in an isar specific file and does not need a fork. Henning > import buildstats > from bb import event, runqueue > # We should not record any samples before the first task has > started,