From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: ross.burton@arm.com, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] buildstats-diff: find last two buildstats files if none are specified
Date: Fri, 16 May 2025 11:37:53 +0100 [thread overview]
Message-ID: <d5e3fb23201564091c09882d018b098a315c37da.camel@linuxfoundation.org> (raw)
In-Reply-To: <20250516103324.963974-1-ross.burton@arm.com>
On Fri, 2025-05-16 at 11:33 +0100, Ross Burton via lists.openembedded.org wrote:
> If no buildstats directories are specified, then find the last two runs
> under BUILDDIR.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> scripts/buildstats-diff | 25 +++++++++++++++++++++++--
> 1 file changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/buildstats-diff b/scripts/buildstats-diff
> index c9aa76a8faf..0e975ddcfc9 100755
> --- a/scripts/buildstats-diff
> +++ b/scripts/buildstats-diff
> @@ -12,6 +12,7 @@ import glob
> import logging
> import math
> import os
> +import pathlib
> import sys
> from operator import attrgetter
>
> @@ -251,11 +252,31 @@ Script for comparing buildstats of two separate builds."""
> "average over them")
> parser.add_argument('--only-task', dest='only_tasks', metavar='TASK', action='append', default=[],
> help="Only include TASK in report. May be specified multiple times")
> - parser.add_argument('buildstats1', metavar='BUILDSTATS1', help="'Left' buildstat")
> - parser.add_argument('buildstats2', metavar='BUILDSTATS2', help="'Right' buildstat")
> + parser.add_argument('buildstats1', metavar='BUILDSTATS1', nargs="?", help="'Left' buildstat")
> + parser.add_argument('buildstats2', metavar='BUILDSTATS2', nargs="?", help="'Right' buildstat")
>
> args = parser.parse_args(argv)
>
> + if args.buildstats1 and args.buildstats2:
> + # Both paths specified
> + pass
> + elif args.buildstats1 or args.buildstats2:
> + # Just one path specified, this is an error
> + parser.print_usage(sys.stderr)
> + print("Either specify two buildstats paths, or none to use the last two paths.", file=sys.stderr)
> + sys.exit(1)
> + else:
> + # No paths specified, try to find the last two buildstats
> + try:
> + buildstats_dir = pathlib.Path(os.environ["BUILDDIR"]) / "tmp" / "buildstats"
> + paths = sorted(buildstats_dir.iterdir())
> + args.buildstats2 = paths.pop()
> + args.buildstats1 = paths.pop()
> + except KeyError:
> + parser.print_usage(sys.stderr)
> + print("Build environment has not been configured, cannot find buildstats", file=sys.stderr)
> + sys.exit(1)
> +
> # We do not nedd/want to read all buildstats if we just want to look at the
> # package versions
> if args.ver_diff:
Should this print something so the user knows which ones it picked?
Cheers,
Richard
next prev parent reply other threads:[~2025-05-16 10:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-16 10:33 [PATCH] buildstats-diff: find last two buildstats files if none are specified Ross Burton
2025-05-16 10:37 ` Richard Purdie [this message]
2025-05-16 10:42 ` [OE-core] " Ross Burton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d5e3fb23201564091c09882d018b098a315c37da.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.