On Thursday, November 11, 2021 9:47 PM vignesh C <vignes...@gmail.com> wrote:
> Few more comments:
> 1) Here the tuple length is not considered in the calculation, else it will 
> always
> show the fixed size for any size tuple. Ex varchar insert with 1 byte or 
> varchar
> insert with 100's of bytes. So I feel we should include the tuple length in 
> the
> calculation.
> +               case LOGICAL_REP_MSG_INSERT:
> +               case LOGICAL_REP_MSG_UPDATE:
> +               case LOGICAL_REP_MSG_DELETE:
> +                       Assert(extra_data != NULL);
> +
> +                       /*
> +                        * Compute size based on ApplyExecutionData.
> +                        * The size of LogicalRepRelMapEntry can be
> skipped because
> +                        * it is obtained from hash_search in
> logicalrep_rel_open.
> +                        */
> +                       size += sizeof(ApplyExecutionData) + sizeof(EState)
> +
> +                               sizeof(ResultRelInfo) +
> + sizeof(ResultRelInfo);
> +
> +                       /*
> +                        * Add some extra size if the target relation
> is partitioned.
> +                        * PartitionTupleRouting isn't exported.
> Therefore, call the
> +                        * function that returns its size instead.
> +                        */
> +                       if
> (extra_data->relmapentry->localrel->rd_rel->relkind ==
> RELKIND_PARTITIONED_TABLE)
> +                               size += sizeof(ModifyTableState) +
> PartitionTupleRoutingSize();
> +                       break;
Thanks a lot ! Fixed.


> 2) Can this be part of PgStat_StatDBEntry, similar to tables, functions and
> subworkers. It might be more appropriate to have it there instead of having
> another global variable.
> + * Stats of prepared transactions should be displayed
> + * at either commit prepared or rollback prepared time, even when it's
> + * after the server restart. We have the apply worker send those
> +statistics
> + * to the stats collector at prepare time and the startup process
> +restore
> + * those at restart if necessary.
> + */
> +static HTAB *subWorkerPreparedXactSizeHash = NULL;
> +
> +/*
Fixed. Also, its name was too long
when aligned with other PgStat_StatDBEntry memebers.
Thus I renamed it as subworkers_preparedsizes.

This depends on v21 in [1]

[1] - 
https://www.postgresql.org/message-id/CAD21AoAkd4YSoQUUFfpcrYOtkPRbninaw3sD0qc77nLW6Q89gg%40mail.gmail.com

Best Regards,
        Takamichi Osumi

Attachment: v10-0001-Rename-existing-columns-of-pg_stat_subscription_.patch
Description: v10-0001-Rename-existing-columns-of-pg_stat_subscription_.patch

Attachment: v10-0002-Extend-pg_stat_subscription_workers-to-include-g.patch
Description: v10-0002-Extend-pg_stat_subscription_workers-to-include-g.patch

Reply via email to