From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Process title for autovac |
Date: | 2013-04-06 20:20:51 |
Message-ID: | CAMkU=1yFQ6mCLJuCHUV1NQz7-rH=ZUg2uxvWSpL64ggxo2Q21Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I've often wanted to know what the autovacuum worker was doing. The
process title seems like the best place to get this information, but the
process title tells me what database it is in, but not what table it is
working on.
The attached patch demonstrates the concept of what I want. I put the code
in table_recheck_autovac not because I think that is the best location, but
just because it was the easiest point at which I knew how to get the table
name easily before classTup gets destroyed.
Example output:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16392 jjanes 20 0 229m 19m 6948 S 3.6 1.0 0:06.85 postgres:
autovacuum worker process jjanes.public.pgbench_accounts
I never reset the process title back to the initial state of just having a
database name and no table. Which I can get away with temporarily because
the autovac worker never dilly-dallies between tables, it either goes to
the next one, or exits. A real implementation would probably want to reset
it anyway, though.
Is this functionality something we want? If so should it include explicit
vacuum as well as autovac? Any opinion about where in the code base it
properly belongs (which obviously depends on whether it should cover manual
vacuum as well)? And does the string need to distinguish between an
autovac and an autoanalyze?
Cheers,
Jeff
Attachment | Content-Type | Size |
---|---|---|
autovac_set_ps_display_v1.patch | application/octet-stream | 828 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2013-04-06 21:10:49 | Re: Process title for autovac |
Previous Message | Tomas Vondra | 2013-04-06 19:51:30 | PROPOSAL: tracking aggregated numbers from pg_stat_database |