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 по дате отправления: