aboutsummaryrefslogtreecommitdiff
path: root/src/include/commands/explain_dr.h
blob: 55da63d66bdf6fa35a1acbf6a7cafd44b728cbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*-------------------------------------------------------------------------
 *
 * explain_dr.h
 *	  prototypes for explain_dr.c
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994-5, Regents of the University of California
 *
 * src/include/commands/explain_dr.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef EXPLAIN_DR_H
#define EXPLAIN_DR_H

#include "executor/instrument.h"
#include "tcop/dest.h"

struct ExplainState;			/* avoid including explain.h here */

/* Instrumentation data for EXPLAIN's SERIALIZE option */
typedef struct SerializeMetrics
{
	uint64		bytesSent;		/* # of bytes serialized */
	instr_time	timeSpent;		/* time spent serializing */
	BufferUsage bufferUsage;	/* buffers accessed during serialization */
} SerializeMetrics;

extern DestReceiver *CreateExplainSerializeDestReceiver(struct ExplainState *es);
extern SerializeMetrics GetSerializationMetrics(DestReceiver *dest);

#endif