From: | Lukas Fittl <lukas(at)fittl(dot)com> |
---|---|
To: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
Subject: | Procedure calls are not tracked in pg_stat_user_functions / track_functions |
Date: | 2018-10-04 19:15:28 |
Message-ID: | CAP53Pkx1JxGeXHAd3bV=EU7D2s7kAto3v4gqrDrR4as60k77Tw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi all,
It seems that currently procedures do not get tracked when track_functions
is enabled, which means one needs to resort to other workarounds in order
to monitor procedure calls/runtime.
To illustrate:
=# SHOW track_functions;
┌─────────────────┐
│ track_functions │
├─────────────────┤
│ all │
└─────────────────┘
(1 row)
=# CALL abc();
CALL
=# SELECT def();
┌─────┐
│ def │
├─────┤
│ │
└─────┘
(1 row)
=# SELECT * FROM pg_stat_user_functions;
┌─[ RECORD 1 ]────────────────────┐
│ funcid │ 75223 │
│ schemaname │ public │
│ funcname │ def │
│ calls │ 1 │
│ total_time │ 3.222 │
│ self_time │ 3.222 │
└────────────┴────────────────────┘
Was this intentional, or an oversight?
If welcome, I would be happy to work on a patch. Whilst slightly confusing
in terms of naming, we could just track this together with functions, since
one can always join with pg_proc to determine whether something is a
function or a procedure.
Thanks,
Lukas
--
Lukas Fittl
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-10-04 19:27:59 | Re: executor relation handling |
Previous Message | Andres Freund | 2018-10-04 19:12:27 | Re: executor relation handling |