Add counters for /v1/{commit,status,version}
This commit is contained in:
@@ -18,6 +18,14 @@ auto requests_counter_family = metric::create_counter(
|
|||||||
thread_local auto metrics_counter =
|
thread_local auto metrics_counter =
|
||||||
requests_counter_family.create({{"path", "/metrics"}});
|
requests_counter_family.create({{"path", "/metrics"}});
|
||||||
|
|
||||||
|
// API endpoint request counters
|
||||||
|
thread_local auto commit_counter =
|
||||||
|
requests_counter_family.create({{"path", "/v1/commit"}});
|
||||||
|
thread_local auto status_counter =
|
||||||
|
requests_counter_family.create({{"path", "/v1/status"}});
|
||||||
|
thread_local auto version_counter =
|
||||||
|
requests_counter_family.create({{"path", "/v1/version"}});
|
||||||
|
|
||||||
// Metric for banned request IDs memory usage
|
// Metric for banned request IDs memory usage
|
||||||
auto banned_request_ids_memory_gauge =
|
auto banned_request_ids_memory_gauge =
|
||||||
metric::create_gauge("weaseldb_banned_request_ids_memory_bytes",
|
metric::create_gauge("weaseldb_banned_request_ids_memory_bytes",
|
||||||
@@ -221,6 +229,7 @@ HttpRoute HttpHandler::parseRoute(std::string_view method,
|
|||||||
// Route handlers (basic implementations)
|
// Route handlers (basic implementations)
|
||||||
void HttpHandler::handleGetVersion(Connection &conn,
|
void HttpHandler::handleGetVersion(Connection &conn,
|
||||||
const HttpConnectionState &state) {
|
const HttpConnectionState &state) {
|
||||||
|
version_counter.inc();
|
||||||
send_json_response(
|
send_json_response(
|
||||||
conn, 200,
|
conn, 200,
|
||||||
format(conn.get_arena(), R"({"version":%ld,"leader":""})",
|
format(conn.get_arena(), R"({"version":%ld,"leader":""})",
|
||||||
@@ -230,6 +239,7 @@ void HttpHandler::handleGetVersion(Connection &conn,
|
|||||||
|
|
||||||
void HttpHandler::handlePostCommit(Connection &conn,
|
void HttpHandler::handlePostCommit(Connection &conn,
|
||||||
const HttpConnectionState &state) {
|
const HttpConnectionState &state) {
|
||||||
|
commit_counter.inc();
|
||||||
// Check if streaming parse was successful
|
// Check if streaming parse was successful
|
||||||
if (!state.commit_request || !state.parsing_commit) {
|
if (!state.commit_request || !state.parsing_commit) {
|
||||||
const char *error = state.commit_parser
|
const char *error = state.commit_parser
|
||||||
@@ -298,6 +308,7 @@ void HttpHandler::handleGetSubscribe(Connection &conn,
|
|||||||
|
|
||||||
void HttpHandler::handleGetStatus(Connection &conn,
|
void HttpHandler::handleGetStatus(Connection &conn,
|
||||||
HttpConnectionState &state) {
|
HttpConnectionState &state) {
|
||||||
|
status_counter.inc();
|
||||||
// Status requests are processed through the pipeline
|
// Status requests are processed through the pipeline
|
||||||
// Response will be generated in the sequence stage
|
// Response will be generated in the sequence stage
|
||||||
// This handler extracts request_id from query parameters and prepares for
|
// This handler extracts request_id from query parameters and prepares for
|
||||||
|
|||||||
Reference in New Issue
Block a user