Re: Report bytes and transactions actually sent downtream
От | Ashutosh Sharma |
---|---|
Тема | Re: Report bytes and transactions actually sent downtream |
Дата | |
Msg-id | CAE9k0Pmgnab8ASstv5VBHXkZFqfS-r=QQi6V7fabv6n2_5Hbzg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Report bytes and transactions actually sent downtream (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>) |
Ответы |
Re: Report bytes and transactions actually sent downtream
|
Список | pgsql-hackers |
> 0001 is the previous patch > 0002 changes addressing your and Bertrand's comments. > @@ -1573,6 +1573,13 @@ WalSndWriteData(LogicalDecodingContext *ctx, XLogRecPtr lsn, TransactionId xid, /* output previously gathered data in a CopyData packet */ pq_putmessage_noblock(PqMsg_CopyData, ctx->out->data, ctx->out->len); + /* + * If output plugin maintains statistics, update the amount of data sent + * downstream. + */ + if (ctx->stats) + ctx->stats->sentBytes += ctx->out->len + 1; /* +1 for the 'd' */ + Just a small observation: I think it’s actually pq_flush_if_writable() that writes the buffered data to the socket, not pq_putmessage_noblock (which is actually gathering data in the buffer and not sending). So it might make more sense to increment the sent pointer after the call to pq_flush_if_writable(). Should we also consider - pg_hton32((uint32) (len + 4)); -- the additional 4 bytes of data added to the send buffer. -- With Regards, Ashutosh Sharma.
В списке pgsql-hackers по дате отправления: