• Andres Freund's avatar
    Speedup pgstat_report_activity by moving mb-aware truncation to read side. · 54b6cd58
    Andres Freund authored
    Previously multi-byte aware truncation was done on every
    pgstat_report_activity() call - proving to be a bottleneck for
    workloads with long query strings that execute quickly.
    
    Instead move the truncation to the read side, which commonly is
    executed far less frequently. That's possible because all server
    encodings allow to determine the length of a multi-byte string from
    the first byte.
    
    Rename PgBackendStatus.st_activity to st_activity_raw so existing
    extension users of the field break - their code has to be adjusted to
    use pgstat_clip_activity().
    
    Author: Andres Freund
    Tested-By: Khuntal Ghosh
    Reviewed-By: Robert Haas, Tom Lane
    Discussion: https://postgr.es/m/20170912071948.pa7igbpkkkviecpz@alap3.anarazel.de
    54b6cd58
pgstat.h 38 KB