Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tDLAo-0000zL-3R for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Nov 2024 10:09:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tDLAl-00CA9I-D8 for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Nov 2024 10:09:27 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tDLAk-00CA9A-Ui for pgsql-hackers@lists.postgresql.org; Tue, 19 Nov 2024 10:09:27 +0000 Received: from forward501b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:d501]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tDLAh-002fdQ-7o for pgsql-hackers@postgresql.org; Tue, 19 Nov 2024 10:09:26 +0000 Received: from mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net [IPv6:2a02:6b8:c07:179a:0:640:3367:0]) by forward501b.mail.yandex.net (Yandex) with ESMTPS id 4D6F160E12 for ; Tue, 19 Nov 2024 13:09:19 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id H9Ojk5pOda60-Xm0ReaWC; Tue, 19 Nov 2024 13:09:18 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tantorlabs.com; s=mail; t=1732010958; bh=7g8w3VIz3Cka807Z8VPWAUXhuPnJ0b/GoZRfXT2UkX0=; h=In-Reply-To:References:To:Subject:Message-ID:Date:From; b=CVvbw9YGVqsl728O1eTh3W6J8GkZ10F/mbd5bCEYhCjIJRdkno4rm+gAxiM6ApSa1 eFSANNSFtc4lhx8N+dKjiwFa5oELzxjMzQa6VJBUeonAHrhuTgA2zVUNu/GRANzaeN 1gPoCoLHOQiB5+7zvobL3mFgW181PY/0sJ9w0rqk= Authentication-Results: mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net; dkim=pass header.i=@tantorlabs.com Content-Type: multipart/mixed; boundary="------------JR1Y6cKVR1MtjFwWUEQxxoH8" Message-ID: Date: Tue, 19 Nov 2024 13:09:16 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Sample rate added to pg_stat_statements From: Ilia Evdokimov To: pgsql-hackers References: Content-Language: en-US In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------JR1Y6cKVR1MtjFwWUEQxxoH8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi everyone, I believe we should also include this check in theĀ pgss_ExecutorEnd() function because sampling in pgss_ExecutorEnd() ensures that a query not initially sampled in pgss_ExecutorStart() can still be logged if it meets the pg_stat_statements.sample_rate criteria. This approach adds flexibility by allowing critical queries to be captured while maintaining efficient sampling. I attached new version of patch. -- Best regards, Ilia Evdokimov, Tantor Labs LLC. --------------JR1Y6cKVR1MtjFwWUEQxxoH8 Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Allow-setting-sample-ratio-for-pg_stat_statements.patch" Content-Disposition: attachment; filename*0="v2-0001-Allow-setting-sample-ratio-for-pg_stat_statements.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjMzNlMWFlMDdlOGViNGY3OTdiNDdlN2RlYjA3ZTYzMjJiMTM3NWEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZA dGFudG9ybGFicy5ydT4KRGF0ZTogVHVlLCAxOSBOb3YgMjAyNCAxMjo1Mzo1MiArMDMwMApT dWJqZWN0OiBbUEFUQ0hdIEFsbG93IHNldHRpbmcgc2FtcGxlIHJhdGlvIGZvciBwZ19zdGF0 X3N0YXRlbWVudHMKCk5ldyBjb25maWd1cmF0aW9uIHBhcmFtZXRlciBwZ19zdGF0X3N0YXRl bWVudHMuc2FtcGxlX3JhdGlvIG1ha2VzIGl0CnBvc3NpYmxlIHRvIGNvbnRyb2wganVzdCBh IGZyYWN0aW9uIG9mIHRoZSBxdWVyaWVzIG1lZXRpbmcgdGhlIGNvbmZpZ3VyZWQKdGhyZXNo b2xkLCB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiBjb250cm9sbGluZy4KLS0tCiAuLi4vcGdf c3RhdF9zdGF0ZW1lbnRzL3BnX3N0YXRfc3RhdGVtZW50cy5jICAgfCAyNSArKysrKysrKysr KysrKysrLS0tCiBkb2Mvc3JjL3NnbWwvcGdzdGF0c3RhdGVtZW50cy5zZ21sICAgICAgICAg ICAgfCAxNyArKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19zdGF0X3N0YXRl bWVudHMvcGdfc3RhdF9zdGF0ZW1lbnRzLmMgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50 cy9wZ19zdGF0X3N0YXRlbWVudHMuYwppbmRleCA0OWM2NTdiM2UwLi40MmIzZmVlODE1IDEw MDY0NAotLS0gYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVu dHMuYworKysgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVu dHMuYwpAQCAtNDksNiArNDksNyBAQAogCiAjaW5jbHVkZSAiYWNjZXNzL3BhcmFsbGVsLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdXRoaWQuaCIKKyNpbmNsdWRlICJjb21tb24vcGdf cHJuZy5oIgogI2luY2x1ZGUgImNvbW1vbi9pbnQuaCIKICNpbmNsdWRlICJleGVjdXRvci9p bnN0cnVtZW50LmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgpAQCAtMjk0LDcgKzI5NSwxMCBA QCBzdGF0aWMgYm9vbCBwZ3NzX3RyYWNrX3V0aWxpdHkgPSB0cnVlOwkvKiB3aGV0aGVyIHRv IHRyYWNrIHV0aWxpdHkgY29tbWFuZHMgKi8KIHN0YXRpYyBib29sIHBnc3NfdHJhY2tfcGxh bm5pbmcgPSBmYWxzZTsJLyogd2hldGhlciB0byB0cmFjayBwbGFubmluZwogCQkJCQkJCQkJ CQkgKiBkdXJhdGlvbiAqLwogc3RhdGljIGJvb2wgcGdzc19zYXZlID0gdHJ1ZTsJLyogd2hl dGhlciB0byBzYXZlIHN0YXRzIGFjcm9zcyBzaHV0ZG93biAqLworc3RhdGljIGRvdWJsZSBw Z3NzX3NhbXBsZV9yYXRlID0gMTsKIAorLyogSXMgdGhlIGN1cnJlbnQgdG9wLWxldmVsIHF1 ZXJ5IHRvIGJlIHNhbXBsZWQ/ICovCitzdGF0aWMgYm9vbCBjdXJyZW50X3F1ZXJ5X3NhbXBs ZWQgPSBmYWxzZTsKIAogI2RlZmluZSBwZ3NzX2VuYWJsZWQobGV2ZWwpIFwKIAkoIUlzUGFy YWxsZWxXb3JrZXIoKSAmJiBcCkBAIC00MTQsNiArNDE4LDE5IEBAIF9QR19pbml0KHZvaWQp CiAJCQkJCQkJTlVMTCwKIAkJCQkJCQlOVUxMKTsKIAorCURlZmluZUN1c3RvbVJlYWxWYXJp YWJsZSgicGdfc3RhdF9zdGF0ZW1lbnRzLnNhbXBsZV9yYXRlIiwKKwkJCQkJCQkgIkZyYWN0 aW9uIG9mIHF1ZXJpZXMgdG8gcHJvY2Vzcy4iLAorCQkJCQkJCSBOVUxMLAorCQkJCQkJCSAm cGdzc19zYW1wbGVfcmF0ZSwKKwkJCQkJCQkgMS4wLAorCQkJCQkJCSAwLjAsCisJCQkJCQkJ IDEuMCwKKwkJCQkJCQkgUEdDX1NVU0VULAorCQkJCQkJCSAwLAorCQkJCQkJCSBOVUxMLAor CQkJCQkJCSBOVUxMLAorCQkJCQkJCSBOVUxMKTsKKwogCURlZmluZUN1c3RvbUVudW1WYXJp YWJsZSgicGdfc3RhdF9zdGF0ZW1lbnRzLnRyYWNrIiwKIAkJCQkJCQkgIlNlbGVjdHMgd2hp Y2ggc3RhdGVtZW50cyBhcmUgdHJhY2tlZCBieSBwZ19zdGF0X3N0YXRlbWVudHMuIiwKIAkJ CQkJCQkgTlVMTCwKQEAgLTk4OSw2ICsxMDA2LDggQEAgcGdzc19wbGFubmVyKFF1ZXJ5ICpw YXJzZSwKIHN0YXRpYyB2b2lkCiBwZ3NzX0V4ZWN1dG9yU3RhcnQoUXVlcnlEZXNjICpxdWVy eURlc2MsIGludCBlZmxhZ3MpCiB7CisJY3VycmVudF9xdWVyeV9zYW1wbGVkID0gKHBnX3By bmdfZG91YmxlKCZwZ19nbG9iYWxfcHJuZ19zdGF0ZSkgPCBwZ3NzX3NhbXBsZV9yYXRlKTsK KwogCWlmIChwcmV2X0V4ZWN1dG9yU3RhcnQpCiAJCXByZXZfRXhlY3V0b3JTdGFydChxdWVy eURlc2MsIGVmbGFncyk7CiAJZWxzZQpAQCAtOTk5LDcgKzEwMTgsNyBAQCBwZ3NzX0V4ZWN1 dG9yU3RhcnQoUXVlcnlEZXNjICpxdWVyeURlc2MsIGludCBlZmxhZ3MpCiAJICogY291bnRp bmcgb2Ygb3B0aW1pemFibGUgc3RhdGVtZW50cyB0aGF0IGFyZSBkaXJlY3RseSBjb250YWlu ZWQgaW4KIAkgKiB1dGlsaXR5IHN0YXRlbWVudHMuCiAJICovCi0JaWYgKHBnc3NfZW5hYmxl ZChuZXN0aW5nX2xldmVsKSAmJiBxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5xdWVyeUlkICE9 IFVJTlQ2NENPTlNUKDApKQorCWlmIChjdXJyZW50X3F1ZXJ5X3NhbXBsZWQgJiYgcGdzc19l bmFibGVkKG5lc3RpbmdfbGV2ZWwpICYmIHF1ZXJ5RGVzYy0+cGxhbm5lZHN0bXQtPnF1ZXJ5 SWQgIT0gVUlOVDY0Q09OU1QoMCkpCiAJewogCQkvKgogCQkgKiBTZXQgdXAgdG8gdHJhY2sg dG90YWwgZWxhcHNlZCB0aW1lIGluIEV4ZWN1dG9yUnVuLiAgTWFrZSBzdXJlIHRoZQpAQCAt MTA2OCw4ICsxMDg3LDggQEAgcGdzc19FeGVjdXRvckVuZChRdWVyeURlc2MgKnF1ZXJ5RGVz YykKIHsKIAl1aW50NjQJCXF1ZXJ5SWQgPSBxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5xdWVy eUlkOwogCi0JaWYgKHF1ZXJ5SWQgIT0gVUlOVDY0Q09OU1QoMCkgJiYgcXVlcnlEZXNjLT50 b3RhbHRpbWUgJiYKLQkJcGdzc19lbmFibGVkKG5lc3RpbmdfbGV2ZWwpKQorCWlmIChjdXJy ZW50X3F1ZXJ5X3NhbXBsZWQgJiYgcXVlcnlJZCAhPSBVSU5UNjRDT05TVCgwKSAmJgorCQlx dWVyeURlc2MtPnRvdGFsdGltZSAmJiBwZ3NzX2VuYWJsZWQobmVzdGluZ19sZXZlbCkpCiAJ ewogCQkvKgogCQkgKiBNYWtlIHN1cmUgc3RhdHMgYWNjdW11bGF0aW9uIGlzIGRvbmUuICAo Tm90ZTogaXQncyBva2F5IGlmIHNldmVyYWwKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9w Z3N0YXRzdGF0ZW1lbnRzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGdzdGF0c3RhdGVtZW50cy5z Z21sCmluZGV4IDUwMWI0NjhlOWEuLjFlMjUzM2E4MDIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9wZ3N0YXRzdGF0ZW1lbnRzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Bnc3RhdHN0 YXRlbWVudHMuc2dtbApAQCAtOTM2LDYgKzkzNiwyMyBAQAogICAgIDwvbGlzdGl0ZW0+CiAg ICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT4KKyAg ICAgPHZhcm5hbWU+cGdfc3RhdF9zdGF0ZW1lbnRzLnNhbXBsZV9yYXRlPC92YXJuYW1lPiAo PHR5cGU+cmVhbDwvdHlwZT4pCisgICAgIDxpbmRleHRlcm0+CisgICAgICA8cHJpbWFyeT48 dmFybmFtZT5wZ19zdGF0X3N0YXRlbWVudHMuc2FtcGxlX3JhdGU8L3Zhcm5hbWU+IGNvbmZp Z3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5PgorICAgICA8L2luZGV4dGVybT4KKyAgICA8 L3Rlcm0+CisKKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgPHZhcm5hbWU+ cGdfc3RhdF9zdGF0ZW1lbnRzLnNhbXBsZV9yYXRlPC92YXJuYW1lPiBjYXVzZXMgcGdfc3Rh dF9zdGF0ZW1lbnRzIHRvIG9ubHkKKyAgICAgIGNvbnRyb2wgYSBmcmFjdGlvbiBvZiB0aGUg c3RhdGVtZW50cyBpbiBlYWNoIHNlc3Npb24uICBUaGUgZGVmYXVsdCBpcyAxLAorICAgICAg bWVhbmluZyBjb250cm9sIGFsbCB0aGUgcXVlcmllcy4gT25seSBzdXBlcnVzZXJzIGNhbiBj aGFuZ2UgdGhpcyBzZXR0aW5nLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAg IDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5PgogICAgIDx0ZXJtPgogICAg ICA8dmFybmFtZT5wZ19zdGF0X3N0YXRlbWVudHMuc2F2ZTwvdmFybmFtZT4gKDx0eXBlPmJv b2xlYW48L3R5cGU+KQotLSAKMi4zNC4xCgo= --------------JR1Y6cKVR1MtjFwWUEQxxoH8--