From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id OCoPLzhAjGDKMgEAgWs5BA (envelope-from ) for ; Fri, 30 Apr 2021 19:36:56 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id mMXMKjhAjGDyOwAA1q6Kng (envelope-from ) for ; Fri, 30 Apr 2021 17:36:56 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3B10922C80 for ; Fri, 30 Apr 2021 19:36:56 +0200 (CEST) Received: from localhost ([::1]:46172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcX4R-0008KG-8G for larch@yhetil.org; Fri, 30 Apr 2021 13:36:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38284) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcWZw-0003Fe-Ho for guix-devel@gnu.org; Fri, 30 Apr 2021 13:05:24 -0400 Received: from mira.cbaines.net ([2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27]:50923) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcWZs-0003FW-6s for guix-devel@gnu.org; Fri, 30 Apr 2021 13:05:24 -0400 Received: from localhost (unknown [IPv6:2a02:8010:68c1:0:8ac0:b4c7:f5c8:7caa]) by mira.cbaines.net (Postfix) with ESMTPSA id 9738B27BC7C; Fri, 30 Apr 2021 18:05:17 +0100 (BST) Received: from capella (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id f4800e75; Fri, 30 Apr 2021 17:05:17 +0000 (UTC) References: <20210428145941.4bd0dd6f@lubrito> <87y2d2e0j4.fsf@cbaines.net> <20210428162030.2cab4106@lubrito> <87v986dvrn.fsf@cbaines.net> <87mttgetm5.fsf@cbaines.net> <20210430124443.561fb340@lubrito> User-agent: mu4e 1.4.15; emacs 27.1 From: Christopher Baines To: Luciana Lima Brito Subject: Re: Outreachy: Timeline tasks In-reply-to: <20210430124443.561fb340@lubrito> Date: Fri, 30 Apr 2021 18:05:15 +0100 Message-ID: <87eeerem9g.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27; envelope-from=mail@cbaines.net; helo=mira.cbaines.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1619804216; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=cbQYEUHoc4CmUtN6MbwagNh1C6VljG4gWjM2XbFeg/8=; b=sO+iB0vfrJsKG9A+xqZD+eANcHFdRgTSh/PMpWUOf3xxjlmaQEVvjOY/WU/k+UfpouNK3O CRjr7d1yBJowRRV7gny2VTbtqVKTA2lKCa+1V0X8d+a2V8JxqBp1HQQ9NJzpJASuK7bixi xtQjtixrwTfSTzB6nrpDMHq4MiR4gJUDjUrHxO/yDGj51qf9dPyksMHp/J2lXO4GyXGb9p dbtZUVIJY+tfhhz3q2EW+YLEhTOjtoaPqJhTOxHTKjDIHALGpYlgctqeAfAOtqmp+RtPbr DmPpuq45VTUSIR10KeXk8huyxLJTOAutbHjn9TBsBxMeWLomZI58sY+fp4Ceaw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1619804216; a=rsa-sha256; cv=none; b=APuiS2f9Ncxs5FHYO5292L5HN92LorGR5dSOgRTawPVg37l2AGYhU5+gtk5bWjCJjXlf1t 8Qk9Pp4xeCNUGmEbqzv4cssIv0+ZlpoiQoN8oOK3ZdTBuV4ffriQ3FMz2RD3NWeLexAl9i Ayftq95hC7I2i7tizlNK/FpaSC6aCfg2jQZhf7hVfCaV+rvKgt4HeI6x3hBUAcDEvFTJ12 WEIL1Mw6DOQ2vUHl6BlDGU1/LZH7H+aDshNUskoS8D0utxcJ05jiTOTgwrqCJrMDpcXLtF YEMTQ8uSFQzxt2h9j+x/4yqRnlyemaLTaeltCZxdwlILq/LYvsinzw+B8LnYBw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -4.56 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 3B10922C80 X-Spam-Score: -4.56 X-Migadu-Scanner: scn0.migadu.com X-TUID: C5j/3mV9iLrE --=-=-= Content-Type: text/plain Luciana Lima Brito writes: > Hi, > > On Thu, 29 Apr 2021 21:14:10 +0100 > Christopher Baines wrote: > >> Great, can you add more detail to this bit? Given the instrumentation >> is a really important part, it would be good to have some working >> ideas for what this chart might look like, and what goes in to making >> it (like where the data comes from and if and where it's stored). > > Task 1: Add instrumentation to identify the slow parts of processing > new revisions: > > - Implementing a chart over time to identify slow parts: > - The chart should consider two aspects, the time took by > each specific part, and its name, for identification purpose. > A bar chart is a good candidate for this task, it is simple > and can show the whole picture of the time taken by the > system to process a new revision; > - The bars on the chart should be sorted in order of precedence > of the process in the X axis, and its height, which is > determined by the time it takes, measured in the Y > axis; I'm not sure what you mean by "precedence of the process" here? > - The charts should work as picture-logs for timing; > - A chart should be generated for each new revision in real > time; > - The time is already being computed for each part and it is > shown in the logs, the same data can be used to build the > charts. This way data does not need to be stored, because the > chart can be built in real time, but the chart itself needs > to be stored, in the same way as the logs already are. It would be good to say explicitly how the chart will be stored, since "the same way as the logs already are" is quite vague. >> I'd try to set out more of a strategy, so what might be causes of >> slowness, how would you investigate them, and what are common >> approaches to making those things faster? > > Task 2: Improve the performance of these slow parts: > > - Select candidate parts to be analyzed; > - Identify the causes of slowness: > - If it uses queries, perform query analysis, for example using > EXPLAIN and ANALYZE, get its statistics and improve them when > needed; > - On the code, investigate the structure, for example, using > Tracing to discover if a recursion is too long and if it can > be modified to be tail recursive. > - Implement the required improvements. > > In fact, I have never performed improvements on queries or code this > way, but I am studying. Please, tell me if I am missing important > details. See what you think about that. Great, this is more like it. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmCMOMtfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9Xd1hA//eEwbdYngTg/PPWQCXox3VyQoLmglaqhK gxT71PVuRlvkHOolvav43vShXcetRbMSaGrVrGAZq6quTBz8dyWC67Xair0ORM+B is+AjlbCJpgNWzK94Tyw/a0SECmTPbquX39dD9wEOAvI9m9QNFvEYhRPG+mBbQre Rp4JToi2BLX8/TntFOxufjjgx9DCKRPpGXfromsLzcHq2HltU27W5n1D5sJw5uf7 IVNHTy4VrGeLYqBu4Gq4gCtMFdHM5TRJ+OIybAapAjh/JRgWu6ozlaZBgyPwTQZ2 teK4Ra/mZKoRS0eAlqddfJwXHCiiuiSho0g0Qki1+DOZo3NCwTC8RIFnVRw/3mgn GR8J6IiU0b4sLpnbYf0Ljl4Wo0OBUsbSC2yIOx11El5wuLyHyZKXaM1lhIHNG/kN R9NM+MBEVvfHmCcvCSBLjH6aUldAAje1vFeacrsemD4KCcKAGOCxkMMLqCOAd9LD yn4xqdruTNWYrzNxeI0BJqUt3Vmnoc9INVNlOP0j1gXF7ibvjn7yVRvB9sTk0Me6 eLC8VYEn8pcw0Rj3GoMdw3qNoA9QNnf3sDbCIF2oepdl5DMv96LpHTs0vWRgVOZW aKp3rGbPIhkLVVbgeagjxc8Cdj+sDGQulYM3z8XhxfmKU0r2khZAWnbHuywtdlpZ J6ttHwGtttM= =SjKV -----END PGP SIGNATURE----- --=-=-=--