This is an automated email from the ASF dual-hosted git repository.

djwang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit ce1199aa87d51bfa72472e72215cf595ab1dbcbe
Author: Maxim Smyatkin <[email protected]>
AuthorDate: Thu Apr 6 13:24:25 2023 +0300

    [yagp_hooks_collector] Apply llvm code style
---
 Makefile              |   1 -
 src/EventSender.cpp   | 367 +++++++++++++++++++++++---------------------------
 src/EventSender.h     |  13 +-
 src/GrpcConnector.cpp |  68 +++++-----
 src/GrpcConnector.h   |  13 +-
 src/ProcStats.cpp     | 183 ++++++++++++-------------
 src/hook_wrappers.cpp |  83 +++++-------
 7 files changed, 338 insertions(+), 390 deletions(-)

diff --git a/Makefile b/Makefile
index 0a21cf136ff..91be52c4468 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,6 @@
 # to "Makefile" if it exists. PostgreSQL is shipped with a
 # "GNUmakefile". If the user hasn't run the configure script yet, the
 # GNUmakefile won't exist yet, so we catch that case as well.
-
 # AIX make defaults to building *every* target of the first rule.  Start with
 # a single-target, empty rule to make the other targets non-default.
 
diff --git a/src/EventSender.cpp b/src/EventSender.cpp
index d8145b811a4..b7c3cd70b85 100644
--- a/src/EventSender.cpp
+++ b/src/EventSender.cpp
@@ -4,8 +4,7 @@
 #include "protos/yagpcc_set_service.pb.h"
 #include <ctime>
 
-extern "C"
-{
+extern "C" {
 #include "postgres.h"
 #include "access/hash.h"
 #include "utils/metrics_utils.h"
@@ -21,202 +20,178 @@ extern "C"
 #include "tcop/utility.h"
 #include "pg_stat_statements_ya_parser.h"
 
-void get_spill_info(int ssid, int ccid, int32_t* file_count, int64_t* 
total_bytes);
-}
-
-namespace
-{
-
-std::string* get_user_name()
-{
-    const char *username = GetConfigOption("session_authorization", false, 
false);
-    return username ? new std::string(username) : nullptr;
-}
-
-std::string* get_db_name()
-{
-    char *dbname = get_database_name(MyDatabaseId);
-    std::string* result = dbname ? new std::string(dbname) : nullptr;
-    pfree(dbname);
-    return result;
-}
-
-int get_cur_slice_id(QueryDesc *desc)
-{
-    if (!desc->estate)
-    {
-        return 0;
-    }
-    return LocallyExecutingSliceIndex(desc->estate);
-}
-
-google::protobuf::Timestamp current_ts()
-{
-    google::protobuf::Timestamp current_ts;
-    struct timeval tv;
-    gettimeofday(&tv, nullptr);
-    current_ts.set_seconds(tv.tv_sec);
-    current_ts.set_nanos(static_cast<int32_t>(tv.tv_usec * 1000));
-    return current_ts;
-}
-
-void set_query_key(yagpcc::QueryKey *key, QueryDesc *query_desc)
-{
-    key->set_ccnt(gp_command_count);
-    key->set_ssid(gp_session_id);
-    int32 tmid = 0;
-    gpmon_gettmid(&tmid);
-    key->set_tmid(tmid);
-}
-
-void set_segment_key(yagpcc::SegmentKey *key, QueryDesc *query_desc)
-{
-    key->set_dbid(GpIdentity.dbid);
-    key->set_segindex(GpIdentity.segindex);
-}
-
-ExplainState get_explain_state(QueryDesc *query_desc, bool costs)
-{
-    ExplainState es;
-    ExplainInitState(&es);
-    es.costs = costs;
-    es.verbose = true;
-    es.format = EXPLAIN_FORMAT_TEXT;
-    ExplainBeginOutput(&es);
-    ExplainPrintPlan(&es, query_desc);
-    ExplainEndOutput(&es);
-    return es;
-}
-
-void set_plan_text(std::string *plan_text, QueryDesc *query_desc)
-{
-    auto es = get_explain_state(query_desc, true);
-    *plan_text = std::string(es.str->data, es.str->len);
-}
-
-void set_query_plan(yagpcc::QueryInfo *qi, QueryDesc *query_desc)
-{
-    qi->set_generator(query_desc->plannedstmt->planGen == PLANGEN_OPTIMIZER
-                                ? 
yagpcc::PlanGenerator::PLAN_GENERATOR_OPTIMIZER
-                                : 
yagpcc::PlanGenerator::PLAN_GENERATOR_PLANNER);
-    set_plan_text(qi->mutable_plan_text(), query_desc);
-    StringInfo norm_plan = gen_normplan(qi->plan_text().c_str());
-    *qi->mutable_temlate_plan_text() = std::string(norm_plan->data);
-    qi->set_plan_id(hash_any((unsigned char *)norm_plan->data, 
norm_plan->len));
-    //TODO: free stringinfo?
-}
-
-void set_query_text(yagpcc::QueryInfo *qi, QueryDesc *query_desc)
-{
-    *qi->mutable_query_text() = query_desc->sourceText;
-    char* norm_query = gen_normquery(query_desc->sourceText);
-    *qi->mutable_temlate_query_text() = std::string(norm_query);
-    pfree(norm_query);
-}
-
-void set_query_info(yagpcc::QueryInfo *qi, QueryDesc *query_desc)
-{
-    if (query_desc->sourceText)
-        set_query_text(qi, query_desc);
-    if (query_desc->plannedstmt)
-    {
-        set_query_plan(qi, query_desc);
-        qi->set_query_id(query_desc->plannedstmt->queryId);
-    }
-    qi->set_allocated_username(get_user_name());
-    qi->set_allocated_databasename(get_db_name());
-}
-
-void set_metric_instrumentation(yagpcc::MetricInstrumentation *metrics, 
QueryDesc *query_desc)
-{
-    auto instrument = query_desc->planstate->instrument;
-    metrics->set_ntuples(instrument->ntuples);
-    metrics->set_nloops(instrument->nloops);
-    metrics->set_tuplecount(instrument->tuplecount);
-    metrics->set_firsttuple(instrument->firsttuple);
-    metrics->set_startup(instrument->startup);
-    metrics->set_total(instrument->total);
-    auto &buffusage = instrument->bufusage;
-    metrics->set_shared_blks_hit(buffusage.shared_blks_hit);
-    metrics->set_shared_blks_read(buffusage.shared_blks_read);
-    metrics->set_shared_blks_dirtied(buffusage.shared_blks_dirtied);
-    metrics->set_shared_blks_written(buffusage.shared_blks_written);
-    metrics->set_local_blks_hit(buffusage.local_blks_hit);
-    metrics->set_local_blks_read(buffusage.local_blks_read);
-    metrics->set_local_blks_dirtied(buffusage.local_blks_dirtied);
-    metrics->set_local_blks_written(buffusage.local_blks_written);
-    metrics->set_temp_blks_read(buffusage.temp_blks_read);
-    metrics->set_temp_blks_written(buffusage.temp_blks_written);
-    metrics->set_blk_read_time(INSTR_TIME_GET_DOUBLE(buffusage.blk_read_time));
-    
metrics->set_blk_write_time(INSTR_TIME_GET_DOUBLE(buffusage.blk_write_time));
-}
-
-void set_gp_metrics(yagpcc::GPMetrics *metrics, QueryDesc *query_desc)
-{
-    int32_t n_spill_files = 0;
-    int64_t n_spill_bytes = 0;
-    get_spill_info(gp_session_id, gp_command_count, &n_spill_files, 
&n_spill_bytes);
-    metrics->mutable_spill()->set_filecount(n_spill_files);
-    metrics->mutable_spill()->set_totalbytes(n_spill_bytes);
-    if (query_desc->planstate->instrument)
-        set_metric_instrumentation(metrics->mutable_instrumentation(), 
query_desc);
-    fill_self_stats(metrics->mutable_systemstat());
+void get_spill_info(int ssid, int ccid, int32_t *file_count,
+                    int64_t *total_bytes);
 }
 
+namespace {
+
+std::string *get_user_name() {
+  const char *username = GetConfigOption("session_authorization", false, 
false);
+  return username ? new std::string(username) : nullptr;
+}
+
+std::string *get_db_name() {
+  char *dbname = get_database_name(MyDatabaseId);
+  std::string *result = dbname ? new std::string(dbname) : nullptr;
+  pfree(dbname);
+  return result;
+}
+
+int get_cur_slice_id(QueryDesc *desc) {
+  if (!desc->estate) {
+    return 0;
+  }
+  return LocallyExecutingSliceIndex(desc->estate);
+}
+
+google::protobuf::Timestamp current_ts() {
+  google::protobuf::Timestamp current_ts;
+  struct timeval tv;
+  gettimeofday(&tv, nullptr);
+  current_ts.set_seconds(tv.tv_sec);
+  current_ts.set_nanos(static_cast<int32_t>(tv.tv_usec * 1000));
+  return current_ts;
+}
+
+void set_query_key(yagpcc::QueryKey *key, QueryDesc *query_desc) {
+  key->set_ccnt(gp_command_count);
+  key->set_ssid(gp_session_id);
+  int32 tmid = 0;
+  gpmon_gettmid(&tmid);
+  key->set_tmid(tmid);
+}
+
+void set_segment_key(yagpcc::SegmentKey *key, QueryDesc *query_desc) {
+  key->set_dbid(GpIdentity.dbid);
+  key->set_segindex(GpIdentity.segindex);
+}
+
+ExplainState get_explain_state(QueryDesc *query_desc, bool costs) {
+  ExplainState es;
+  ExplainInitState(&es);
+  es.costs = costs;
+  es.verbose = true;
+  es.format = EXPLAIN_FORMAT_TEXT;
+  ExplainBeginOutput(&es);
+  ExplainPrintPlan(&es, query_desc);
+  ExplainEndOutput(&es);
+  return es;
+}
+
+void set_plan_text(std::string *plan_text, QueryDesc *query_desc) {
+  auto es = get_explain_state(query_desc, true);
+  *plan_text = std::string(es.str->data, es.str->len);
+}
+
+void set_query_plan(yagpcc::QueryInfo *qi, QueryDesc *query_desc) {
+  qi->set_generator(query_desc->plannedstmt->planGen == PLANGEN_OPTIMIZER
+                        ? yagpcc::PlanGenerator::PLAN_GENERATOR_OPTIMIZER
+                        : yagpcc::PlanGenerator::PLAN_GENERATOR_PLANNER);
+  set_plan_text(qi->mutable_plan_text(), query_desc);
+  StringInfo norm_plan = gen_normplan(qi->plan_text().c_str());
+  *qi->mutable_temlate_plan_text() = std::string(norm_plan->data);
+  qi->set_plan_id(hash_any((unsigned char *)norm_plan->data, norm_plan->len));
+  // TODO: free stringinfo?
+}
+
+void set_query_text(yagpcc::QueryInfo *qi, QueryDesc *query_desc) {
+  *qi->mutable_query_text() = query_desc->sourceText;
+  char *norm_query = gen_normquery(query_desc->sourceText);
+  *qi->mutable_temlate_query_text() = std::string(norm_query);
+  pfree(norm_query);
+}
+
+void set_query_info(yagpcc::QueryInfo *qi, QueryDesc *query_desc) {
+  if (query_desc->sourceText) {
+    set_query_text(qi, query_desc);
+  }
+  if (query_desc->plannedstmt) {
+    set_query_plan(qi, query_desc);
+    qi->set_query_id(query_desc->plannedstmt->queryId);
+  }
+  qi->set_allocated_username(get_user_name());
+  qi->set_allocated_databasename(get_db_name());
+}
+
+void set_metric_instrumentation(yagpcc::MetricInstrumentation *metrics,
+                                QueryDesc *query_desc) {
+  auto instrument = query_desc->planstate->instrument;
+  metrics->set_ntuples(instrument->ntuples);
+  metrics->set_nloops(instrument->nloops);
+  metrics->set_tuplecount(instrument->tuplecount);
+  metrics->set_firsttuple(instrument->firsttuple);
+  metrics->set_startup(instrument->startup);
+  metrics->set_total(instrument->total);
+  auto &buffusage = instrument->bufusage;
+  metrics->set_shared_blks_hit(buffusage.shared_blks_hit);
+  metrics->set_shared_blks_read(buffusage.shared_blks_read);
+  metrics->set_shared_blks_dirtied(buffusage.shared_blks_dirtied);
+  metrics->set_shared_blks_written(buffusage.shared_blks_written);
+  metrics->set_local_blks_hit(buffusage.local_blks_hit);
+  metrics->set_local_blks_read(buffusage.local_blks_read);
+  metrics->set_local_blks_dirtied(buffusage.local_blks_dirtied);
+  metrics->set_local_blks_written(buffusage.local_blks_written);
+  metrics->set_temp_blks_read(buffusage.temp_blks_read);
+  metrics->set_temp_blks_written(buffusage.temp_blks_written);
+  metrics->set_blk_read_time(INSTR_TIME_GET_DOUBLE(buffusage.blk_read_time));
+  metrics->set_blk_write_time(INSTR_TIME_GET_DOUBLE(buffusage.blk_write_time));
+}
+
+void set_gp_metrics(yagpcc::GPMetrics *metrics, QueryDesc *query_desc) {
+  int32_t n_spill_files = 0;
+  int64_t n_spill_bytes = 0;
+  get_spill_info(gp_session_id, gp_command_count, &n_spill_files,
+                 &n_spill_bytes);
+  metrics->mutable_spill()->set_filecount(n_spill_files);
+  metrics->mutable_spill()->set_totalbytes(n_spill_bytes);
+  if (query_desc->planstate->instrument) {
+    set_metric_instrumentation(metrics->mutable_instrumentation(), query_desc);
+  }
+  fill_self_stats(metrics->mutable_systemstat());
+}
 
 } // namespace
 
-void EventSender::ExecutorStart(QueryDesc *query_desc, int /* eflags*/)
-{
-    query_desc->instrument_options |= INSTRUMENT_BUFFERS;
-    query_desc->instrument_options |= INSTRUMENT_ROWS;
-    query_desc->instrument_options |= INSTRUMENT_TIMER;
-
-    elog(DEBUG1, "Query %s start recording", query_desc->sourceText);
-    yagpcc::SetQueryReq req;
-    req.set_query_status(yagpcc::QueryStatus::QUERY_STATUS_START);
-    *req.mutable_datetime() = current_ts();
-    set_query_key(req.mutable_query_key(), query_desc);
-    auto result = connector->set_metric_query(req);
-    if (result.error_code() == yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR)
-    {
-        elog(WARNING, "Query %s start reporting failed with an error %s",
-             query_desc->sourceText, result.error_text().c_str());
-    }
-    else
-    {
-        elog(DEBUG1, "Query %s start successful", query_desc->sourceText);
-    }
-}
-
-void EventSender::ExecutorFinish(QueryDesc *query_desc)
-{
-    elog(DEBUG1, "Query %s finish recording", query_desc->sourceText);
-    yagpcc::SetQueryReq req;
-    req.set_query_status(yagpcc::QueryStatus::QUERY_STATUS_DONE);
-    *req.mutable_datetime() = current_ts();
-    set_query_key(req.mutable_query_key(), query_desc);
-    set_query_info(req.mutable_query_info(), query_desc);
-    set_gp_metrics(req.mutable_query_metrics(), query_desc);
-    auto result = connector->set_metric_query(req);
-    if (result.error_code() == yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR)
-    {
-        elog(WARNING, "Query %s finish reporting failed with an error %s",
-             query_desc->sourceText, result.error_text().c_str());
-    }
-    else
-    {
-        elog(DEBUG1, "Query %s finish successful", query_desc->sourceText);
-    }
-}
-
-EventSender *EventSender::instance()
-{
-    static EventSender sender;
-    return &sender;
-}
-
-EventSender::EventSender()
-{
-    connector = std::make_unique<GrpcConnector>();
-}
\ No newline at end of file
+void EventSender::ExecutorStart(QueryDesc *query_desc, int /* eflags*/) {
+  query_desc->instrument_options |= INSTRUMENT_BUFFERS;
+  query_desc->instrument_options |= INSTRUMENT_ROWS;
+  query_desc->instrument_options |= INSTRUMENT_TIMER;
+
+  elog(DEBUG1, "Query %s start recording", query_desc->sourceText);
+  yagpcc::SetQueryReq req;
+  req.set_query_status(yagpcc::QueryStatus::QUERY_STATUS_START);
+  *req.mutable_datetime() = current_ts();
+  set_query_key(req.mutable_query_key(), query_desc);
+  auto result = connector->set_metric_query(req);
+  if (result.error_code() == yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR) {
+    elog(WARNING, "Query %s start reporting failed with an error %s",
+         query_desc->sourceText, result.error_text().c_str());
+  } else {
+    elog(DEBUG1, "Query %s start successful", query_desc->sourceText);
+  }
+}
+
+void EventSender::ExecutorFinish(QueryDesc *query_desc) {
+  elog(DEBUG1, "Query %s finish recording", query_desc->sourceText);
+  yagpcc::SetQueryReq req;
+  req.set_query_status(yagpcc::QueryStatus::QUERY_STATUS_DONE);
+  *req.mutable_datetime() = current_ts();
+  set_query_key(req.mutable_query_key(), query_desc);
+  set_query_info(req.mutable_query_info(), query_desc);
+  set_gp_metrics(req.mutable_query_metrics(), query_desc);
+  auto result = connector->set_metric_query(req);
+  if (result.error_code() == yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR) {
+    elog(WARNING, "Query %s finish reporting failed with an error %s",
+         query_desc->sourceText, result.error_text().c_str());
+  } else {
+    elog(DEBUG1, "Query %s finish successful", query_desc->sourceText);
+  }
+}
+
+EventSender *EventSender::instance() {
+  static EventSender sender;
+  return &sender;
+}
+
+EventSender::EventSender() { connector = std::make_unique<GrpcConnector>(); }
\ No newline at end of file
diff --git a/src/EventSender.h b/src/EventSender.h
index bd02455ca7e..d69958db9b0 100644
--- a/src/EventSender.h
+++ b/src/EventSender.h
@@ -6,14 +6,13 @@ class GrpcConnector;
 
 struct QueryDesc;
 
-class EventSender
-{
+class EventSender {
 public:
-    void ExecutorStart(QueryDesc *query_desc, int eflags);
-    void ExecutorFinish(QueryDesc *query_desc);
-    static EventSender *instance();
+  void ExecutorStart(QueryDesc *query_desc, int eflags);
+  void ExecutorFinish(QueryDesc *query_desc);
+  static EventSender *instance();
 
 private:
-    EventSender();
-    std::unique_ptr<GrpcConnector> connector;
+  EventSender();
+  std::unique_ptr<GrpcConnector> connector;
 };
\ No newline at end of file
diff --git a/src/GrpcConnector.cpp b/src/GrpcConnector.cpp
index 7329f392010..1a820404428 100644
--- a/src/GrpcConnector.cpp
+++ b/src/GrpcConnector.cpp
@@ -5,51 +5,43 @@
 #include <grpcpp/channel.h>
 #include <string>
 
-class GrpcConnector::Impl
-{
+class GrpcConnector::Impl {
 public:
-    Impl()
-    {
-        GOOGLE_PROTOBUF_VERIFY_VERSION;
-        this->stub = yagpcc::SetQueryInfo::NewStub(grpc::CreateChannel(
-            SOCKET_FILE, grpc::InsecureChannelCredentials()));
+  Impl() {
+    GOOGLE_PROTOBUF_VERIFY_VERSION;
+    this->stub = yagpcc::SetQueryInfo::NewStub(
+        grpc::CreateChannel(SOCKET_FILE, grpc::InsecureChannelCredentials()));
+  }
+
+  yagpcc::MetricResponse set_metric_query(yagpcc::SetQueryReq req) {
+    yagpcc::MetricResponse response;
+    grpc::ClientContext context;
+    auto deadline =
+        std::chrono::system_clock::now() + std::chrono::milliseconds(50);
+    context.set_deadline(deadline);
+
+    grpc::Status status = (stub->SetMetricQuery)(&context, req, &response);
+
+    if (!status.ok()) {
+      response.set_error_text("Connection lost: " + status.error_message() +
+                              "; " + status.error_details());
+      response.set_error_code(yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR);
     }
 
-    yagpcc::MetricResponse set_metric_query(yagpcc::SetQueryReq req)
-    {
-        yagpcc::MetricResponse response;
-        grpc::ClientContext context;
-        auto deadline = std::chrono::system_clock::now() + 
std::chrono::milliseconds(50);
-        context.set_deadline(deadline);
-
-        grpc::Status status = (stub->SetMetricQuery)(&context, req, &response);
-
-        if (!status.ok())
-        {
-            response.set_error_text("Connection lost: " + 
status.error_message() + "; " + status.error_details());
-            response.set_error_code(yagpcc::METRIC_RESPONSE_STATUS_CODE_ERROR);
-        }
-
-        return response;
-    }
+    return response;
+  }
 
 private:
-    const std::string SOCKET_FILE = "unix:///tmp/yagpcc_agent.sock";
-    const std::string TCP_ADDRESS = "127.0.0.1:1432";
-    std::unique_ptr<yagpcc::SetQueryInfo::Stub> stub;
+  const std::string SOCKET_FILE = "unix:///tmp/yagpcc_agent.sock";
+  const std::string TCP_ADDRESS = "127.0.0.1:1432";
+  std::unique_ptr<yagpcc::SetQueryInfo::Stub> stub;
 };
 
-GrpcConnector::GrpcConnector()
-{
-    impl = new Impl();
-}
+GrpcConnector::GrpcConnector() { impl = new Impl(); }
 
-GrpcConnector::~GrpcConnector()
-{
-    delete impl;
-}
+GrpcConnector::~GrpcConnector() { delete impl; }
 
-yagpcc::MetricResponse GrpcConnector::set_metric_query(yagpcc::SetQueryReq req)
-{
-    return impl->set_metric_query(req);
+yagpcc::MetricResponse
+GrpcConnector::set_metric_query(yagpcc::SetQueryReq req) {
+  return impl->set_metric_query(req);
 }
\ No newline at end of file
diff --git a/src/GrpcConnector.h b/src/GrpcConnector.h
index dc0f21706a3..810c0bd3e15 100644
--- a/src/GrpcConnector.h
+++ b/src/GrpcConnector.h
@@ -2,14 +2,13 @@
 
 #include "yagpcc_set_service.pb.h"
 
-class GrpcConnector
-{
+class GrpcConnector {
 public:
-    GrpcConnector();
-    ~GrpcConnector();
-    yagpcc::MetricResponse set_metric_query(yagpcc::SetQueryReq req);
+  GrpcConnector();
+  ~GrpcConnector();
+  yagpcc::MetricResponse set_metric_query(yagpcc::SetQueryReq req);
 
 private:
-    class Impl;
-    Impl *impl;
+  class Impl;
+  Impl *impl;
 };
\ No newline at end of file
diff --git a/src/ProcStats.cpp b/src/ProcStats.cpp
index 34c5d05719e..5c64f25ec09 100644
--- a/src/ProcStats.cpp
+++ b/src/ProcStats.cpp
@@ -4,116 +4,109 @@
 #include <fstream>
 #include <unistd.h>
 
-extern "C"
-{
+extern "C" {
 #include "postgres.h"
 #include "utils/elog.h"
 }
 
 namespace {
-#define FILL_IO_STAT(stat_name)             \
-    uint64_t stat_name;                     \
-    proc_stat >> tmp >> stat_name;          \
-    stats->set_##stat_name(stat_name);
+#define FILL_IO_STAT(stat_name)                                                
\
+  uint64_t stat_name;                                                          
\
+  proc_stat >> tmp >> stat_name;                                               
\
+  stats->set_##stat_name(stat_name);
 
-void fill_io_stats(yagpcc::SystemStat *stats)
-{
-    std::ifstream proc_stat("/proc/self/io");
-    std::string tmp;
-    FILL_IO_STAT(rchar);
-    FILL_IO_STAT(wchar);
-    FILL_IO_STAT(syscr);
-    FILL_IO_STAT(syscw);
-    FILL_IO_STAT(read_bytes);
-    FILL_IO_STAT(write_bytes);
-    FILL_IO_STAT(cancelled_write_bytes);
+void fill_io_stats(yagpcc::SystemStat *stats) {
+  std::ifstream proc_stat("/proc/self/io");
+  std::string tmp;
+  FILL_IO_STAT(rchar);
+  FILL_IO_STAT(wchar);
+  FILL_IO_STAT(syscr);
+  FILL_IO_STAT(syscw);
+  FILL_IO_STAT(read_bytes);
+  FILL_IO_STAT(write_bytes);
+  FILL_IO_STAT(cancelled_write_bytes);
 }
 
-void fill_cpu_stats(yagpcc::SystemStat *stats)
-{
-    static const int UTIME_ID = 13;
-    static const int STIME_ID = 14;
-    static const int STARTTIME_ID = 21;
-    static const int VSIZE_ID = 22;
-    static const int RSS_ID = 23;
-    static const double tps = sysconf(_SC_CLK_TCK);
+void fill_cpu_stats(yagpcc::SystemStat *stats) {
+  static const int UTIME_ID = 13;
+  static const int STIME_ID = 14;
+  static const int STARTTIME_ID = 21;
+  static const int VSIZE_ID = 22;
+  static const int RSS_ID = 23;
+  static const double tps = sysconf(_SC_CLK_TCK);
 
-    double uptime;
-    {
-        std::ifstream proc_stat("/proc/uptime");
-        proc_stat >> uptime;
-    }
+  double uptime;
+  {
+    std::ifstream proc_stat("/proc/uptime");
+    proc_stat >> uptime;
+  }
 
-    std::ifstream proc_stat("/proc/self/stat");
-    std::string trash;
-    double start_time = 0;
-    for (int i = 0; i <= RSS_ID; ++i)
-    {
-        switch (i)
-        {
-        case UTIME_ID:
-            double utime;
-            proc_stat >> utime;
-            stats->set_usertimeseconds(utime / tps);
-            break;
-        case STIME_ID:
-            double stime;
-            proc_stat >> stime;
-            stats->set_kerneltimeseconds(stime / tps);
-            break;
-        case STARTTIME_ID:
-            uint64_t starttime;
-            proc_stat >> starttime;
-            start_time = static_cast<double>(starttime) / tps;
-            break;
-        case VSIZE_ID:
-            uint64_t vsize;
-            proc_stat >> vsize;
-            stats->set_vsize(vsize);
-            break;
-        case RSS_ID:
-            uint64_t rss;
-            proc_stat >> rss;
-            // NOTE: this is a double AFAIU, need to double-check
-            stats->set_rss(rss);
-            break;
-        default:
-            proc_stat >> trash;
-        }
-        stats->set_runningtimeseconds(uptime - start_time);
+  std::ifstream proc_stat("/proc/self/stat");
+  std::string trash;
+  double start_time = 0;
+  for (int i = 0; i <= RSS_ID; ++i) {
+    switch (i) {
+    case UTIME_ID:
+      double utime;
+      proc_stat >> utime;
+      stats->set_usertimeseconds(utime / tps);
+      break;
+    case STIME_ID:
+      double stime;
+      proc_stat >> stime;
+      stats->set_kerneltimeseconds(stime / tps);
+      break;
+    case STARTTIME_ID:
+      uint64_t starttime;
+      proc_stat >> starttime;
+      start_time = static_cast<double>(starttime) / tps;
+      break;
+    case VSIZE_ID:
+      uint64_t vsize;
+      proc_stat >> vsize;
+      stats->set_vsize(vsize);
+      break;
+    case RSS_ID:
+      uint64_t rss;
+      proc_stat >> rss;
+      // NOTE: this is a double AFAIU, need to double-check
+      stats->set_rss(rss);
+      break;
+    default:
+      proc_stat >> trash;
     }
+    stats->set_runningtimeseconds(uptime - start_time);
+  }
 }
 
-void fill_status_stats(yagpcc::SystemStat *stats)
-{
-    std::ifstream proc_stat("/proc/self/status");
-    std::string key, measure;
-    while (proc_stat >> key)
-    {
-        if (key == "VmPeak:")
-        {
-            uint64_t value;
-            proc_stat >> value;
-            stats->set_vmpeakkb(value);
-            proc_stat >> measure;
-            if (measure != "kB")
-                elog(FATAL, "Expected memory sizes in kB, but got in %s", 
measure.c_str());
-        }
-        else if (key == "VmSize:")
-        {
-            uint64_t value;
-            proc_stat >> value;
-            stats->set_vmsizekb(value);
-            if (measure != "kB")
-                elog(FATAL, "Expected memory sizes in kB, but got in %s", 
measure.c_str());
-        }
+void fill_status_stats(yagpcc::SystemStat *stats) {
+  std::ifstream proc_stat("/proc/self/status");
+  std::string key, measure;
+  while (proc_stat >> key) {
+    if (key == "VmPeak:") {
+      uint64_t value;
+      proc_stat >> value;
+      stats->set_vmpeakkb(value);
+      proc_stat >> measure;
+      if (measure != "kB") {
+        elog(FATAL, "Expected memory sizes in kB, but got in %s",
+             measure.c_str());
+      }
+    } else if (key == "VmSize:") {
+      uint64_t value;
+      proc_stat >> value;
+      stats->set_vmsizekb(value);
+      if (measure != "kB") {
+        elog(FATAL, "Expected memory sizes in kB, but got in %s",
+             measure.c_str());
+      }
     }
+  }
 }
 } // namespace
 
-void fill_self_stats(yagpcc::SystemStat *stats)
-{
-    fill_io_stats(stats);
-    fill_cpu_stats(stats);
-    fill_status_stats(stats);
+void fill_self_stats(yagpcc::SystemStat *stats) {
+  fill_io_stats(stats);
+  fill_cpu_stats(stats);
+  fill_status_stats(stats);
 }
\ No newline at end of file
diff --git a/src/hook_wrappers.cpp b/src/hook_wrappers.cpp
index 1dabb59ab3f..739cca80f01 100644
--- a/src/hook_wrappers.cpp
+++ b/src/hook_wrappers.cpp
@@ -1,8 +1,7 @@
 #include "hook_wrappers.h"
 #include "EventSender.h"
 
-extern "C"
-{
+extern "C" {
 #include "postgres.h"
 #include "utils/metrics_utils.h"
 #include "utils/elog.h"
@@ -22,56 +21,48 @@ static ExecutorFinish_hook_type 
previous_ExecutorFinish_hook = nullptr;
 static void ya_ExecutorStart_hook(QueryDesc *query_desc, int eflags);
 static void ya_ExecutorFinish_hook(QueryDesc *query_desc);
 
-#define REPLACE_HOOK(hookName)      \
-    previous_##hookName = hookName; \
-    hookName = ya_##hookName;
+#define REPLACE_HOOK(hookName)                                                 
\
+  previous_##hookName = hookName;                                              
\
+  hookName = ya_##hookName;
 
-void hooks_init()
-{
-    REPLACE_HOOK(ExecutorStart_hook);
-    REPLACE_HOOK(ExecutorFinish_hook);
-    stat_statements_parser_init();
+void hooks_init() {
+  REPLACE_HOOK(ExecutorStart_hook);
+  REPLACE_HOOK(ExecutorFinish_hook);
+  stat_statements_parser_init();
 }
 
-void hooks_deinit()
-{
-    ExecutorStart_hook = previous_ExecutorStart_hook;
-    ExecutorFinish_hook = ExecutorFinish_hook;
-    stat_statements_parser_deinit();
+void hooks_deinit() {
+  ExecutorStart_hook = previous_ExecutorStart_hook;
+  ExecutorFinish_hook = previous_ExecutorFinish_hook;
+  stat_statements_parser_deinit();
 }
 
-#define CREATE_HOOK_WRAPPER(hookName, ...)                                 \
-    PG_TRY();                                                              \
-    {                                                                      \
-        EventSender::instance()->hookName(__VA_ARGS__);                    \
-    }                                                                      \
-    PG_CATCH();                                                            \
-    {                                                                      \
-        ereport(WARNING, (errmsg("EventSender failed in %s", #hookName))); \
-        PG_RE_THROW();                                                     \
-    }                                                                      \
-    PG_END_TRY();                                                          \
-    if (previous_##hookName##_hook)                                        \
-        (*previous_##hookName##_hook)(__VA_ARGS__);                        \
-    else                                                                   \
-        standard_##hookName(__VA_ARGS__);
+#define CREATE_HOOK_WRAPPER(hookName, ...)                                     
\
+  PG_TRY();                                                                    
\
+  { EventSender::instance()->hookName(__VA_ARGS__); }                          
\
+  PG_CATCH();                                                                  
\
+  {                                                                            
\
+    ereport(WARNING, (errmsg("EventSender failed in %s", #hookName)));         
\
+    PG_RE_THROW();                                                             
\
+  }                                                                            
\
+  PG_END_TRY();                                                                
\
+  if (previous_##hookName##_hook)                                              
\
+    (*previous_##hookName##_hook)(__VA_ARGS__);                                
\
+  else                                                                         
\
+    standard_##hookName(__VA_ARGS__);
 
-void ya_ExecutorStart_hook(QueryDesc *query_desc, int eflags)
-{
-    CREATE_HOOK_WRAPPER(ExecutorStart, query_desc, eflags);
-    PG_TRY();
-    {
-        EventSender::instance()->ExecutorStart(query_desc, eflags);
-    }
-    PG_CATCH();
-    {
-        ereport(WARNING, (errmsg("EventSender failed in ExecutorStart 
afterhook")));
-        PG_RE_THROW();
-    }
-    PG_END_TRY();
+void ya_ExecutorStart_hook(QueryDesc *query_desc, int eflags) {
+  CREATE_HOOK_WRAPPER(ExecutorStart, query_desc, eflags);
+  PG_TRY();
+  { EventSender::instance()->ExecutorStart(query_desc, eflags); }
+  PG_CATCH();
+  {
+    ereport(WARNING, (errmsg("EventSender failed in ExecutorStart 
afterhook")));
+    PG_RE_THROW();
+  }
+  PG_END_TRY();
 }
 
-void ya_ExecutorFinish_hook(QueryDesc *query_desc)
-{
-    CREATE_HOOK_WRAPPER(ExecutorFinish, query_desc);
+void ya_ExecutorFinish_hook(QueryDesc *query_desc) {
+  CREATE_HOOK_WRAPPER(ExecutorFinish, query_desc);
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to