[{"id":26234,"web_url":"https://patchwork.libcamera.org/comment/26234/","msgid":"<b4abf887-f8dd-49a1-3014-902858b7c07f@ideasonboard.com>","date":"2023-01-16T14:17:53","subject":"Re: [libcamera-devel] [PATCH v2] py: cam.py: Provide live graph of\n\trequest metadata","submitter":{"id":109,"url":"https://patchwork.libcamera.org/api/people/109/","name":"Tomi Valkeinen","email":"tomi.valkeinen@ideasonboard.com"},"content":"Hi,\n\nOn 13/01/2023 17:42, Daniel Oakley wrote:\n> Metadata is very useful when improving specific camera configurations.\n> Currently, there is an argument to display the metadata in text form,\n> however this can be hard to visualise and spot changes or patterns over\n> time. Therefore this proposed patch adds an argument to display this\n> metadata in graph form.\n> \n> The metadata graph has 3 optional parameters:\n>   - refresh, number of times a second to update the graph\n>   - buffer, amount of historic/previous data to show\n>   - graphs, number of graphs to split the metadata between\n>   - autoscale, whether or not to autoscale the axis so all the data fits\n> \n> Displaying the graph does have some performance penalty, however this\n> has been mostly mitigated through the refresh parameter. Despite this,\n> graphing might not the best of ideas when using the camera to record or\n> save data. This is mainly for debugging purposes.\n> \n> Suggested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Signed-off-by: Daniel Oakley <daniel.oakley@ideasonboard.com>\n> ---\n> This v2 patch remembers to include autoscale in the git message. No code\n> difference between the 2.\n> \n> This patch is on top of f3f683c9 (py: cam.py: Fix duplicate metadata\n> output if more than one steam, 2023-01-12)\n\nI haven't looked at the code itself, but I think if we want the cam.py \nto move into this direction (i.e. having all kinds of stuff instead of \nvery simple c++ cam clone (and I'm fine with that direction)), we need \nto modularize it somehow.\n\nYou add this code (of substantial amount) into cam.py, and also a rather \ncomplex arg parsing to the same file. My gut feeling is that we should \nhave this in a separate file, preferably also the arg parsing part.\n\nSo... probably something similar to the renderers, but for metadata? Or \nare they the same thing, this particular \"renderer\" would just only deal \nwith the metadata. We'd probably also need some generic way to pass \nrenderer specific cmdline arguments.\n\nAnyway, just quick thoughts without looking or testing the code yet.\n\n  Tomi","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6566CC3240\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Jan 2023 14:17:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 00CDB625E4;\n\tMon, 16 Jan 2023 15:17:57 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4A88561F01\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Jan 2023 15:17:56 +0100 (CET)","from [192.168.1.15] (91-154-32-225.elisa-laajakaista.fi\n\t[91.154.32.225])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AA61E802;\n\tMon, 16 Jan 2023 15:17:55 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1673878677;\n\tbh=LzEppl4JZzolq12X1coVaRwmdPzzOZVFvOl+FMs4iw8=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=oBXi2RefyvQE7la01Mczkf1O6Qps0KczS7P1N1jcQiEFvpEN9oLUZ1YY0yo8hrmJw\n\tyckqeF2i3BXyA0QPm9oqo9GPTQ23wyXno+xeHXoUsBhhhO1tN+HNFA65M1H0PwTykf\n\ta+/8NoNLbMF8avEIggfjF2zsXhOeaKITGQF2hUPyhkTmTGNt7wRClPsXBZ7Gt8Ut2v\n\t8O+U+LQcdjQFCM+FF0PNpjM8vuBGda2DsR4Sk4EEGh7NKOeY6ZrDsS836Yd5zje8+P\n\t53s45JvxsFFqFvYqnHvmNs2ffN7AkG/fxD9VUQpl/Tmx7CFk6AIXGWJzBTvXo/KpSk\n\t5m5jBrVGL5CHg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1673878675;\n\tbh=LzEppl4JZzolq12X1coVaRwmdPzzOZVFvOl+FMs4iw8=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=GEP7/BU50IFpAL/2hwXTals825uy+qywx+c8r2RpI6EEyjiadBIBXAySHCVAJ2cfy\n\tc+i3fdKM9AQVZI7vvkMnQQKYwaHkyRxDKsBk7Iu0pEtmH/5PmWt2g9n0px0x2nQRZw\n\t0t9JhP1zdSEkXuRbvmt/t7qPqHwN7Icj7j9bOFXI="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"GEP7/BU5\"; dkim-atps=neutral","Message-ID":"<b4abf887-f8dd-49a1-3014-902858b7c07f@ideasonboard.com>","Date":"Mon, 16 Jan 2023 16:17:53 +0200","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.4.2","Content-Language":"en-US","To":"Daniel Oakley <daniel.oakley@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20230113154259.7641-1-daniel.oakley@ideasonboard.com>","In-Reply-To":"<20230113154259.7641-1-daniel.oakley@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2] py: cam.py: Provide live graph of\n\trequest metadata","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Tomi Valkeinen via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]