0002-Measure-row-filter-overhead.patch
text/x-patch
Filename: 0002-Measure-row-filter-overhead.patch
Type: text/x-patch
Part: 1
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0002
Subject: Measure row filter overhead
| File | + | − |
|---|---|---|
| src/backend/replication/pgoutput/pgoutput.c | 9 | 0 |
From 0ff56520b40129c1fc1fbb1379214a1b94413a9f Mon Sep 17 00:00:00 2001 From: Euler Taveira <euler.taveira@enterprisedb.com> Date: Sun, 31 Jan 2021 20:48:43 -0300 Subject: [PATCH 2/3] Measure row filter overhead --- src/backend/replication/pgoutput/pgoutput.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index 10f85365fc..4677d21b62 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -618,6 +618,8 @@ pgoutput_row_filter(Relation relation, HeapTuple oldtuple, HeapTuple newtuple, L MemoryContext oldcxt; ListCell *lc; bool result = true; + instr_time start_time; + instr_time end_time; /* Bail out if there is no row filter */ if (rowfilter == NIL) @@ -627,6 +629,8 @@ pgoutput_row_filter(Relation relation, HeapTuple oldtuple, HeapTuple newtuple, L get_namespace_name(get_rel_namespace(RelationGetRelid(relation))), get_rel_name(relation->rd_id)); + INSTR_TIME_SET_CURRENT(start_time); + tupdesc = RelationGetDescr(relation); PushActiveSnapshot(GetTransactionSnapshot()); @@ -673,6 +677,11 @@ pgoutput_row_filter(Relation relation, HeapTuple oldtuple, HeapTuple newtuple, L FreeExecutorState(estate); PopActiveSnapshot(); + INSTR_TIME_SET_CURRENT(end_time); + INSTR_TIME_SUBTRACT(end_time, start_time); + + elog(DEBUG2, "row filter time: %0.3f us", INSTR_TIME_GET_DOUBLE(end_time) * 1e6); + return result; } -- 2.20.1