Re: Multiple Wait Events for extensions - Mailing list pgsql-hackers

From legrand legrand
Subject Re: Multiple Wait Events for extensions
Date
Msg-id 1540405093025-0.post@n3.nabble.com
Whole thread Raw
In response to Re: Multiple Wait Events for extensions  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Multiple Wait Events for extensions  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
Would a hard coded solution as described here after possible for mid-term ?

note: 
actual result from 
    pgstat_report_wait_star(PG_WAIT_EXTENSION); 
is preserved.

Regards
PAscal



pgstat.h

/* ----------
 * Wait Events - Extension
 *
 * Use this category when an extension is waiting.
 * ----------
 */
typedef enum
{
    WAIT_EVENT_EXTENSION_EXT = PG_WAIT_EXTENSION,
    WAIT_EVENT_EXTENSION_1,
    WAIT_EVENT_EXTENSION_2,
    WAIT_EVENT_EXTENSION_3,
    WAIT_EVENT_EXTENSION_4,
    WAIT_EVENT_EXTENSION_5,
    WAIT_EVENT_EXTENSION_6,
    WAIT_EVENT_EXTENSION_7,
    WAIT_EVENT_EXTENSION_8,
    WAIT_EVENT_EXTENSION_9,
} WaitEventExtension;



pgstat.c

...
        case PG_WAIT_EXTENSION:
            {
                WaitEventExtension w = (WaitEventExtension) wait_event_info;
                event_name = pgstat_get_wait_extension(w);
            break;
            }    

...

/* ----------
 * pgstat_get_wait_extension() -
 *
 * Convert WaitEventExtension to string.
 * ----------
 */
static const char *
pgstat_get_wait_extension(WaitEventExtension w)
{
    const char *event_name = "unknown wait event";

    switch (w)
    {
        case WAIT_EVENT_EXTENSION_EXT:
            event_name = "Extension";
            break;
        case WAIT_EVENT_EXTENSION_1:
            event_name = "Extension_1";
            break;
        case WAIT_EVENT_EXTENSION_2:
            event_name = "Extension_2";
            break;
        case WAIT_EVENT_EXTENSION_3:
            event_name = "Extension_3";
            break;
        case WAIT_EVENT_EXTENSION_4:
            event_name = "Extension_4";
            break;
        case WAIT_EVENT_EXTENSION_5:
            event_name = "Extension_5";
            break;
        case WAIT_EVENT_EXTENSION_6:
            event_name = "Extension_6";
            break;
        case WAIT_EVENT_EXTENSION_7:
            event_name = "Extension_7";
            break;
        case WAIT_EVENT_EXTENSION_8:
            event_name = "Extension_8";
            break;
        case WAIT_EVENT_EXTENSION_9:
            event_name = "Extension_9";
            break;
            /* no default case, so that compiler will warn */
    }

    return event_name;
}




--
Sent from: http://www.postgresql-archive.org/PostgreSQL-hackers-f1928748.html


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pgbench - add pseudo-random permutation function
Next
From: Robert Haas
Date:
Subject: Re: Side effect of CVE-2017-7484 fix?