Skip to content

Commit

Permalink
Format sources
Browse files Browse the repository at this point in the history
  • Loading branch information
artemgavrilov committed Jul 18, 2024
1 parent a945857 commit 34061e1
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 82 deletions.
2 changes: 1 addition & 1 deletion guc.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ static bool check_overflow_targer(int *newval, void **extra, GucSource source);
void
init_guc(void)
{
pgsm_track = PGSM_TRACK_TOP;
pgsm_track = PGSM_TRACK_TOP;

DefineCustomIntVariable("pg_stat_monitor.pgsm_max", /* name */
"Sets the maximum size of shared memory in (MB) used for statement's metadata tracked by pg_stat_monitor.", /* short_desc */
Expand Down
23 changes: 12 additions & 11 deletions hash_query.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
#include "pg_stat_monitor.h"

static pgsmLocalState pgsmStateLocal;
static PGSM_HASH_TABLE_HANDLE pgsm_create_bucket_hash(pgsmSharedState * pgsm, dsa_area *dsa);
static PGSM_HASH_TABLE_HANDLE pgsm_create_bucket_hash(pgsmSharedState *pgsm, dsa_area *dsa);
static Size pgsm_get_shared_area_size(void);
static void InitializeSharedState(pgsmSharedState * pgsm);
static void InitializeSharedState(pgsmSharedState *pgsm);

#define PGSM_BUCKET_INFO_SIZE (sizeof(TimestampTz) * pgsm_max_buckets)
#define PGSM_SHARED_STATE_SIZE (sizeof(pgsmSharedState) + PGSM_BUCKET_INFO_SIZE)
Expand Down Expand Up @@ -142,9 +142,9 @@ pgsm_startup(void)
*/
dsa_detach(dsa);

pgsmStateLocal.pgsm_mem_cxt = AllocSetContextCreate(TopMemoryContext,
"pg_stat_monitor local store",
ALLOCSET_DEFAULT_SIZES);
pgsmStateLocal.pgsm_mem_cxt = AllocSetContextCreate(TopMemoryContext,
"pg_stat_monitor local store",
ALLOCSET_DEFAULT_SIZES);
}

#ifdef BENCHMARK
Expand All @@ -161,7 +161,7 @@ pgsm_startup(void)
}

static void
InitializeSharedState(pgsmSharedState * pgsm)
InitializeSharedState(pgsmSharedState *pgsm)
{
pg_atomic_init_u64(&pgsm->current_wbucket, 0);
pg_atomic_init_u64(&pgsm->prev_bucket_sec, 0);
Expand All @@ -172,7 +172,7 @@ InitializeSharedState(pgsmSharedState * pgsm)
* Create the classic or dshahs hash table for storing the query statistics.
*/
static PGSM_HASH_TABLE_HANDLE
pgsm_create_bucket_hash(pgsmSharedState * pgsm, dsa_area *dsa)
pgsm_create_bucket_hash(pgsmSharedState *pgsm, dsa_area *dsa)
{
PGSM_HASH_TABLE_HANDLE bucket_hash;

Expand Down Expand Up @@ -238,7 +238,8 @@ pgsm_attach_shmem(void)
MemoryContextSwitchTo(oldcontext);
}

MemoryContext GetPgsmMemoryContext(void)
MemoryContext
GetPgsmMemoryContext(void)
{
return pgsmStateLocal.pgsm_mem_cxt;
}
Expand Down Expand Up @@ -287,7 +288,7 @@ pgsm_shmem_shutdown(int code, Datum arg)
}

pgsmEntry *
hash_entry_alloc(pgsmSharedState * pgsm, pgsmHashKey * key, int encoding)
hash_entry_alloc(pgsmSharedState *pgsm, pgsmHashKey *key, int encoding)
{
pgsmEntry *entry = NULL;
bool found = false;
Expand Down Expand Up @@ -393,7 +394,7 @@ IsSystemOOM(void)
*/

void *
pgsm_hash_find_or_insert(PGSM_HASH_TABLE * shared_hash, pgsmHashKey * key, bool *found)
pgsm_hash_find_or_insert(PGSM_HASH_TABLE * shared_hash, pgsmHashKey *key, bool *found)
{
#if USE_DYNAMIC_HASH
void *entry;
Expand All @@ -406,7 +407,7 @@ pgsm_hash_find_or_insert(PGSM_HASH_TABLE * shared_hash, pgsmHashKey * key, bool
}

void *
pgsm_hash_find(PGSM_HASH_TABLE * shared_hash, pgsmHashKey * key, bool *found)
pgsm_hash_find(PGSM_HASH_TABLE * shared_hash, pgsmHashKey *key, bool *found)
{
#if USE_DYNAMIC_HASH
return dshash_find(shared_hash, key, false);
Expand Down
59 changes: 31 additions & 28 deletions pg_stat_monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ typedef enum pgsmVersion
PGSM_V1_0 = 0,
PGSM_V2_0,
PGSM_V2_1
} pgsmVersion;
} pgsmVersion;

PG_MODULE_MAGIC;

Expand Down Expand Up @@ -201,9 +201,9 @@ DECLARE_HOOK(void pgsm_ProcessUtility, PlannedStmt *pstmt, const char *queryStri
static uint64 pgsm_hash_string(const char *str, int len);
char *unpack_sql_state(int sql_state);

static pgsmEntry * pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo * plan_info);
static void pgsm_add_to_list(pgsmEntry * entry, char *query_text, int query_len);
static pgsmEntry * pgsm_get_entry_for_query(uint64 queryid, PlanInfo * plan_info, const char *query_text, int query_len, bool create);
static pgsmEntry *pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo *plan_info);
static void pgsm_add_to_list(pgsmEntry *entry, char *query_text, int query_len);
static pgsmEntry *pgsm_get_entry_for_query(uint64 queryid, PlanInfo *plan_info, const char *query_text, int query_len, bool create);
static uint64 get_pgsm_query_id_hash(const char *norm_query, int len);

static void pgsm_cleanup_callback(void *arg);
Expand All @@ -217,13 +217,13 @@ MemoryContextCallback mem_cxt_reset_callback =
};
volatile bool callback_setup = false;

static void pgsm_update_entry(pgsmEntry * entry,
static void pgsm_update_entry(pgsmEntry *entry,
const char *query,
char *comments,
int comments_len,
PlanInfo * plan_info,
SysInfo * sys_info,
ErrorInfo * error_info,
PlanInfo *plan_info,
SysInfo *sys_info,
ErrorInfo *error_info,
double plan_total_time,
double exec_total_time,
uint64 rows,
Expand All @@ -232,7 +232,7 @@ static void pgsm_update_entry(pgsmEntry * entry,
const struct JitInstrumentation *jitusage,
bool reset,
pgsmStoreKind kind);
static void pgsm_store(pgsmEntry * entry);
static void pgsm_store(pgsmEntry *entry);

static void pg_stat_monitor_internal(FunctionCallInfo fcinfo,
pgsmVersion api_version,
Expand All @@ -259,7 +259,7 @@ static char *generate_normalized_query(JumbleState *jstate, const char *query,
static void fill_in_constant_lengths(JumbleState *jstate, const char *query, int query_loc);
static int comp_location(const void *a, const void *b);

static uint64 get_next_wbucket(pgsmSharedState * pgsm);
static uint64 get_next_wbucket(pgsmSharedState *pgsm);

/*
* Module load callback
Expand Down Expand Up @@ -696,7 +696,7 @@ pgsm_ExecutorEnd(QueryDesc *queryDesc)
/* Extract the plan information in case of SELECT statement */
if (queryDesc->operation == CMD_SELECT && pgsm_enable_query_plan)
{
int rv;
int rv;
MemoryContext oldctx;

/*
Expand Down Expand Up @@ -806,9 +806,9 @@ pgsm_ExecutorCheckPerms(List *rt, List *rp, bool abort)

if (rte->rtekind != RTE_RELATION
#if PG_VERSION_NUM >= 160000
&& (rte->rtekind != RTE_SUBQUERY && rte->relkind != 'v')
&& (rte->rtekind != RTE_SUBQUERY && rte->relkind != 'v')
#endif
)
)
continue;

if (i < REL_LST)
Expand Down Expand Up @@ -1412,13 +1412,13 @@ pg_get_client_addr(bool *ok)
}

static void
pgsm_update_entry(pgsmEntry * entry,
pgsm_update_entry(pgsmEntry *entry,
const char *query,
char *comments,
int comments_len,
PlanInfo * plan_info,
SysInfo * sys_info,
ErrorInfo * error_info,
PlanInfo *plan_info,
SysInfo *sys_info,
ErrorInfo *error_info,
double plan_total_time,
double exec_total_time,
uint64 rows,
Expand All @@ -1434,7 +1434,10 @@ pgsm_update_entry(pgsmEntry * entry,
int sqlcode_len = error_info ? strlen(error_info->sqlcode) : 0;
int plan_text_len = plan_info ? plan_info->plan_len : 0;

/* Start collecting data for next bucket and reset all counters and timestamps */
/*
* Start collecting data for next bucket and reset all counters and
* timestamps
*/
if (reset)
{
memset(&entry->counters, 0, sizeof(Counters));
Expand All @@ -1444,7 +1447,7 @@ pgsm_update_entry(pgsmEntry * entry,

/* volatile block */
{
volatile pgsmEntry *e = (volatile pgsmEntry *) entry;
volatile pgsmEntry *e = (volatile pgsmEntry *) entry;

if (kind == PGSM_STORE)
SpinLockAcquire(&e->mutex);
Expand Down Expand Up @@ -1713,7 +1716,7 @@ pgsm_store_error(const char *query, ErrorData *edata)
}

static void
pgsm_add_to_list(pgsmEntry * entry, char *query_text, int query_len)
pgsm_add_to_list(pgsmEntry *entry, char *query_text, int query_len)
{
/* Switch to pgsm memory context */
MemoryContext oldctx = MemoryContextSwitchTo(GetPgsmMemoryContext());
Expand All @@ -1724,7 +1727,7 @@ pgsm_add_to_list(pgsmEntry * entry, char *query_text, int query_len)
}

static pgsmEntry *
pgsm_get_entry_for_query(uint64 queryid, PlanInfo * plan_info, const char *query_text, int query_len, bool create)
pgsm_get_entry_for_query(uint64 queryid, PlanInfo *plan_info, const char *query_text, int query_len, bool create)
{
pgsmEntry *entry = NULL;
ListCell *lc = NULL;
Expand Down Expand Up @@ -1782,7 +1785,7 @@ pgsm_cleanup_callback(void *arg)
* The bucket_id may not be known at this stage. So pass any value that you may wish.
*/
static pgsmEntry *
pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo * plan_info)
pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo *plan_info)
{
pgsmEntry *entry;
int sec_ctx;
Expand Down Expand Up @@ -1865,7 +1868,7 @@ pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo * plan_info)
* query string. total_time, rows, bufusage are ignored in this case.
*/
static void
pgsm_store(pgsmEntry * entry)
pgsm_store(pgsmEntry *entry)
{
pgsmEntry *shared_hash_entry;
pgsmSharedState *pgsm;
Expand Down Expand Up @@ -2017,9 +2020,9 @@ pgsm_store(pgsmEntry * entry)
{
ereport(WARNING,
(errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("[pg_stat_monitor] pgsm_store: Hash table is out of memory and can no longer store queries!"),
errdetail("You may reset the view or when the buckets are deallocated, pg_stat_monitor will resume saving " \
"queries. Alternatively, try increasing the value of pg_stat_monitor.pgsm_max.")));
errmsg("[pg_stat_monitor] pgsm_store: Hash table is out of memory and can no longer store queries!"),
errdetail("You may reset the view or when the buckets are deallocated, pg_stat_monitor will resume saving " \
"queries. Alternatively, try increasing the value of pg_stat_monitor.pgsm_max.")));
} PGSM_END_DISABLE_ERROR_CAPTURE();
}

Expand Down Expand Up @@ -2258,7 +2261,7 @@ pg_stat_monitor_internal(FunctionCallInfo fcinfo,

/* copy counters to a local variable to keep locking time short */
{
volatile pgsmEntry *e = (volatile pgsmEntry *) entry;
volatile pgsmEntry *e = (volatile pgsmEntry *) entry;

SpinLockAcquire(&e->mutex);
tmp = e->counters;
Expand Down Expand Up @@ -2584,7 +2587,7 @@ pg_stat_monitor_internal(FunctionCallInfo fcinfo,
}

static uint64
get_next_wbucket(pgsmSharedState * pgsm)
get_next_wbucket(pgsmSharedState *pgsm)
{
struct timeval tv;
uint64 current_bucket_sec;
Expand Down
Loading

0 comments on commit 34061e1

Please sign in to comment.