From owner-freebsd-dtrace@freebsd.org Mon Nov 30 13:50:58 2020 Return-Path: Delivered-To: freebsd-dtrace@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A035A47CF44; Mon, 30 Nov 2020 13:50:58 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Cl6816VXtz3QM6; Mon, 30 Nov 2020 13:50:57 +0000 (UTC) (envelope-from avg@FreeBSD.org) X-Originating-IP: 93.72.151.96 Received: from [192.168.0.88] (east.meadow.volia.net [93.72.151.96]) (Authenticated sender: andriy.gapon@uabsd.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id E8500240008; Mon, 30 Nov 2020 13:50:54 +0000 (UTC) Subject: Re: dtrace: give %'d a chance? To: Mark Johnston Cc: FreeBSD Current , freebsd-dtrace@freebsd.org References: From: Andriy Gapon Openpgp: preference=signencrypt Autocrypt: addr=avg@FreeBSD.org; keydata= mDMEX1iFDhYJKwYBBAHaRw8BAQdAiu8JG/oLFkVkOAJqJc7Dx5KI/Q6C3SBI20EQm+DXnAu0 HkFuZHJpeSBHYXBvbiA8YXZnQEZyZWVCU0Qub3JnPoiWBBMWCAA+FiEEyCHHZM09l0OE3Ir/ 1A1+Gq8+L1EFAl9YhQ4CGwMFCQeEzgAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ1A1+ Gq8+L1Fc0wD/ZjmhHfbCJywZU3aOxXIPjcz73FYEGMvqMCCLAWyLbSABALFL+1ZNrjV3BGjq 889cOYFuboA/Yn3eWezS+tfqYBsGuDgEX1iFDhIKKwYBBAGXVQEFAQEHQL6B20Xi600TrkpG P9fWjl7JtHNxqrHKhX6Kg7kgb4ILAwEIB4h+BBgWCAAmFiEEyCHHZM09l0OE3Ir/1A1+Gq8+ L1EFAl9YhQ4CGwwFCQeEzgAACgkQ1A1+Gq8+L1F3cgEAktp4h+IJUJxL1vn6zMOt//znni/J TanKfQuA8wGXcGkBAKpZJhqMkg+pKk7MGvJhgJ6nCpTZ+rMK6vZVZLUWc3QF Message-ID: <5b87b1af-2c19-7f41-60f0-1e578c72e17d@FreeBSD.org> Date: Mon, 30 Nov 2020 15:50:53 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Firefox/60.0 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4Cl6816VXtz3QM6 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; ASN(0.00)[asn:29169, ipnet:217.70.176.0/20, country:FR] X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Nov 2020 13:50:58 -0000 On 19/11/2020 16:57, Mark Johnston wrote: > On Thu, Nov 19, 2020 at 01:28:56PM +0200, Andriy Gapon wrote: >> >> what do people think about adding >> setlocale(LC_NUMERIC, ""); >> to dtrace's main function? > > That seems reasonable to me. > >> My primary interest is to (pretty-)print some numbers with a thousands separator. >> >> Not sure if any other LC_ types are worth bothering. > > Maybe LC_TIME? libdtrace a couple of date formatters, %T and %Y. A > locale-aware formatter might be worth having. FWIW, I've just discovered that despite what http://dtrace.org/guide/chp-fmt.html says about %Y its output is not dependent on locale settings. A quick look at the code confirms that -- pfprint_time uses ctime_r. But %T (undocumented at the above link) indeed depends on LC_TIME as pfprint_time822 uses strftime("%a, %d %b %G %T %Z"). Sample output in C locale: 10000000 Mon, 30 Nov 2020 13:47:24 UTC 2020 Nov 30 13:47:24 The same formats (%'d, %T, %Y) in uk_UA locale: 10 000 000 Пн, 30 лист. 2020 13:43:11 UTC 2020 Nov 30 13:43:11 -- Andriy Gapon From owner-freebsd-dtrace@freebsd.org Wed Dec 2 16:52:24 2020 Return-Path: Delivered-To: freebsd-dtrace@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4ACE147F767; Wed, 2 Dec 2020 16:52:24 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CmQ4R33TYz3H4g; Wed, 2 Dec 2020 16:52:23 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qk1-x72e.google.com with SMTP id q5so1820574qkc.12; Wed, 02 Dec 2020 08:52:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=/ey9IsP2jhlZrGu+miMXWzQ9VlY8AMNwww1Ms26HG/k=; b=Yvq7W3X9FH1cacBqeLVVUhFJXrBoLOu9cpG3kYb/7rXaIlDevB7EJn1MttjXZiJN2W AAQMCTMsH2/wtodWQmEMp+NiKhtI6N4oJVDIYJz7iHvr5DvLVgwJxISBBAdMxkeDPfli sz82ekc5RxnOvoILWYV+FyGG0dCDhRHS7ajPS6n6NaV9Hnwo2LniPH5LdLxcY6ABcV50 w/2CxYptWDjvBvLYdHefrcTbowV5Qg7cVWYRwlI9cgiiJSVjSysyVv5hq7wv4Iwa847H /05IqhZHgrJ01iBWBsmvXZ08vxtxBkBJC66FvWvviiSBlgjwJNLG2zCeAX0eVjEzYySW bMmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to; bh=/ey9IsP2jhlZrGu+miMXWzQ9VlY8AMNwww1Ms26HG/k=; b=WMTADfVZkvB449qx8L+qQ8ufVBDPDTcKbwI7HPs2eMVJHcS5/pC6OPVUMGUIwjhQ7K 8fEqJxU5BG4fdR+7c256h0+uWOfzXG6ZRrn95j5VhY3ebkei5pkbaaUnzOHlBbzOWH15 bAvTvo+q8a5jtoSz43nYjjee7Jv9uFwCr2vS1gApuEI4rhHjFsS2lOtfYVu0vUVY1Yy3 2Fhk/O41yt0ddnSCzS4fZQbABs4OFiOId2QjDYs4XepaXreTDlQqMtRnq9/1sq5zJfL5 0sPKWhq7vhNRY+FW3LWqoUayVQd4xQPU7fZAPohNGQI/htymizbMuAOM/i6ZgmkWaY+3 7Hdw== X-Gm-Message-State: AOAM531G8A4W6qAzzi8AYnTw/7vFNRWnMhonuOfNKYmZnQ6Cf1rc6rvU 6SfDmijqxhaO0BTiQECRq8+Ye0gZEtU= X-Google-Smtp-Source: ABdhPJwWa4r1TCqlfCnrxc78MoyJqIEoGLGYvI0O/rghRkPjilAiGBJRChhGAwvP7dK5F3YrnWN9Dw== X-Received: by 2002:a37:ac02:: with SMTP id e2mr3527539qkm.243.1606927941594; Wed, 02 Dec 2020 08:52:21 -0800 (PST) Received: from raichu ([142.126.164.150]) by smtp.gmail.com with ESMTPSA id r5sm2314343qti.28.2020.12.02.08.52.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Dec 2020 08:52:20 -0800 (PST) Sender: Mark Johnston Date: Wed, 2 Dec 2020 11:52:18 -0500 From: Mark Johnston To: Andriy Gapon Cc: FreeBSD Current , freebsd-dtrace@freebsd.org Subject: Re: dtrace: give %'d a chance? Message-ID: References: <5b87b1af-2c19-7f41-60f0-1e578c72e17d@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5b87b1af-2c19-7f41-60f0-1e578c72e17d@FreeBSD.org> X-Rspamd-Queue-Id: 4CmQ4R33TYz3H4g X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Yvq7W3X9; dmarc=none; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::72e as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-1.70 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::72e:from]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; SUBJECT_ENDS_QUESTION(1.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::72e:from:127.0.2.255]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::72e:from]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-current,freebsd-dtrace] X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Dec 2020 16:52:24 -0000 On Mon, Nov 30, 2020 at 03:50:53PM +0200, Andriy Gapon wrote: > On 19/11/2020 16:57, Mark Johnston wrote: > > On Thu, Nov 19, 2020 at 01:28:56PM +0200, Andriy Gapon wrote: > >> > >> what do people think about adding > >> setlocale(LC_NUMERIC, ""); > >> to dtrace's main function? > > > > That seems reasonable to me. > > > >> My primary interest is to (pretty-)print some numbers with a thousands separator. > >> > >> Not sure if any other LC_ types are worth bothering. > > > > Maybe LC_TIME? libdtrace a couple of date formatters, %T and %Y. A > > locale-aware formatter might be worth having. > > FWIW, I've just discovered that despite what > http://dtrace.org/guide/chp-fmt.html says about %Y its output is not dependent > on locale settings. > A quick look at the code confirms that -- pfprint_time uses ctime_r. > But %T (undocumented at the above link) indeed depends on LC_TIME as > pfprint_time822 uses strftime("%a, %d %b %G %T %Z"). > > Sample output in C locale: > 10000000 > Mon, 30 Nov 2020 13:47:24 UTC > 2020 Nov 30 13:47:24 > > The same formats (%'d, %T, %Y) in uk_UA locale: > 10 000 000 > Пн, 30 лист. 2020 13:43:11 UTC > 2020 Nov 30 13:43:11 So to be clear, there is nothing that needs to be done for time locales? In any case, I'm fine with adding the %'d formatter. From owner-freebsd-dtrace@freebsd.org Wed Dec 2 21:20:27 2020 Return-Path: Delivered-To: freebsd-dtrace@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD02B4A686E; Wed, 2 Dec 2020 21:20:27 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4CmX1l24fsz3pxZ; Wed, 2 Dec 2020 21:20:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) X-Originating-IP: 93.72.151.96 Received: from [192.168.0.88] (east.meadow.volia.net [93.72.151.96]) (Authenticated sender: andriy.gapon@uabsd.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id E4C2F1C0004; Wed, 2 Dec 2020 21:20:24 +0000 (UTC) Subject: Re: dtrace: give %'d a chance? To: Mark Johnston Cc: FreeBSD Current , freebsd-dtrace@freebsd.org References: <5b87b1af-2c19-7f41-60f0-1e578c72e17d@FreeBSD.org> From: Andriy Gapon Openpgp: preference=signencrypt Autocrypt: addr=avg@FreeBSD.org; keydata= mDMEX1iFDhYJKwYBBAHaRw8BAQdAiu8JG/oLFkVkOAJqJc7Dx5KI/Q6C3SBI20EQm+DXnAu0 HkFuZHJpeSBHYXBvbiA8YXZnQEZyZWVCU0Qub3JnPoiWBBMWCAA+FiEEyCHHZM09l0OE3Ir/ 1A1+Gq8+L1EFAl9YhQ4CGwMFCQeEzgAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ1A1+ Gq8+L1Fc0wD/ZjmhHfbCJywZU3aOxXIPjcz73FYEGMvqMCCLAWyLbSABALFL+1ZNrjV3BGjq 889cOYFuboA/Yn3eWezS+tfqYBsGuDgEX1iFDhIKKwYBBAGXVQEFAQEHQL6B20Xi600TrkpG P9fWjl7JtHNxqrHKhX6Kg7kgb4ILAwEIB4h+BBgWCAAmFiEEyCHHZM09l0OE3Ir/1A1+Gq8+ L1EFAl9YhQ4CGwwFCQeEzgAACgkQ1A1+Gq8+L1F3cgEAktp4h+IJUJxL1vn6zMOt//znni/J TanKfQuA8wGXcGkBAKpZJhqMkg+pKk7MGvJhgJ6nCpTZ+rMK6vZVZLUWc3QF Message-ID: Date: Wed, 2 Dec 2020 23:20:23 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Firefox/60.0 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4CmX1l24fsz3pxZ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Dec 2020 21:20:27 -0000 On 02/12/2020 18:52, Mark Johnston wrote: > On Mon, Nov 30, 2020 at 03:50:53PM +0200, Andriy Gapon wrote: >> On 19/11/2020 16:57, Mark Johnston wrote: >>> On Thu, Nov 19, 2020 at 01:28:56PM +0200, Andriy Gapon wrote: >>>> >>>> what do people think about adding >>>> setlocale(LC_NUMERIC, ""); >>>> to dtrace's main function? >>> >>> That seems reasonable to me. >>> >>>> My primary interest is to (pretty-)print some numbers with a thousands separator. >>>> >>>> Not sure if any other LC_ types are worth bothering. >>> >>> Maybe LC_TIME? libdtrace a couple of date formatters, %T and %Y. A >>> locale-aware formatter might be worth having. >> >> FWIW, I've just discovered that despite what >> http://dtrace.org/guide/chp-fmt.html says about %Y its output is not dependent >> on locale settings. >> A quick look at the code confirms that -- pfprint_time uses ctime_r. >> But %T (undocumented at the above link) indeed depends on LC_TIME as >> pfprint_time822 uses strftime("%a, %d %b %G %T %Z"). >> >> Sample output in C locale: >> 10000000 >> Mon, 30 Nov 2020 13:47:24 UTC >> 2020 Nov 30 13:47:24 >> >> The same formats (%'d, %T, %Y) in uk_UA locale: >> 10 000 000 >> Пн, 30 лист. 2020 13:43:11 UTC >> 2020 Nov 30 13:43:11 > > So to be clear, there is nothing that needs to be done for time locales? Sorry, it was I who was not clear. The above output is after adding setlocale() calls. Stock dtrace always operates in C locale. > In any case, I'm fine with adding the %'d formatter. It's already there and it delegates the work to the C printf. Hence the need for setlocale. -- Andriy Gapon