v13-0002-Measure-row-filter-overhead.patch
text/x-patch
Filename: v13-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 v13-0002
Subject: Measure row filter overhead
| File | + | − |
|---|---|---|
| src/backend/replication/pgoutput/pgoutput.c | 9 | 0 |
From ef685a531a043ace67783c9ffe01e765617cfe15 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 v13 2/2] 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 00ad8f001f..a67459aec6 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -566,6 +566,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) @@ -575,6 +577,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); estate = create_estate_for_relation(relation); @@ -617,6 +621,11 @@ pgoutput_row_filter(Relation relation, HeapTuple oldtuple, HeapTuple newtuple, L ResetExprContext(ecxt); FreeExecutorState(estate); + 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