Files
scylladb/api/cache_service.cc
Amnon Heiman a64c4da4ea Adding stub implementation for the chace service metrics
This adds a stub implementation for the cache service metrics for key,
row and counters.

A call to the API would return the correct type but with a stub value.
After this patch the following url will be available:
/cache_service/metrics/key/capacity
/cache_service/metrics/key/hits
/cache_service/metrics/key/requests
/cache_service/metrics/key/hit_rate
/cache_service/metrics/key/size
/cache_service/metrics/key/entries
/cache_service/metrics/row/capacity
/cache_service/metrics/row/hits
/cache_service/metrics/row/requests
/cache_service/metrics/row/hit_rate
/cache_service/metrics/row/size
/cache_service/metrics/row/entries
/cache_service/metrics/counter/capacity
/cache_service/metrics/counter/hits
/cache_service/metrics/counter/requests
/cache_service/metrics/counter/hit_rate
/cache_service/metrics/counter/size
/cache_service/metrics/counter/entries

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-01 10:03:44 +03:00

205 lines
6.3 KiB
C++

/*
* Copyright 2015 Cloudius Systems
*/
#include "cache_service.hh"
#include "api/api-doc/cache_service.json.hh"
namespace api {
namespace cs = httpd::cache_service_json;
void set_cache_service(http_context& ctx, routes& r) {
cs::get_row_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_row_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
auto period = req->get_query_param("period");
return make_ready_future<json::json_return_type>("");
});
cs::get_key_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_key_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
auto period = req->get_query_param("period");
return make_ready_future<json::json_return_type>("");
});
cs::get_counter_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_counter_cache_save_period_in_seconds.set(r, [](std::unique_ptr<request> req) {
// TBD
auto ccspis = req->get_query_param("ccspis");
return make_ready_future<json::json_return_type>("");
});
cs::get_row_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_row_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
auto rckts = req->get_query_param("rckts");
return make_ready_future<json::json_return_type>("");
});
cs::get_key_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_key_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
auto kckts = req->get_query_param("kckts");
return make_ready_future<json::json_return_type>("");
});
cs::get_counter_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::set_counter_cache_keys_to_save.set(r, [](std::unique_ptr<request> req) {
// TBD
auto cckts = req->get_query_param("cckts");
return make_ready_future<json::json_return_type>("");
});
cs::invalidate_key_cache.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>("");
});
cs::invalidate_counter_cache.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>("");
});
cs::set_row_cache_capacity_in_mb.set(r, [](std::unique_ptr<request> req) {
// TBD
auto capacity = req->get_query_param("capacity");
return make_ready_future<json::json_return_type>("");
});
cs::set_key_cache_capacity_in_mb.set(r, [](std::unique_ptr<request> req) {
// TBD
auto period = req->get_query_param("period");
return make_ready_future<json::json_return_type>("");
});
cs::set_counter_cache_capacity_in_mb.set(r, [](std::unique_ptr<request> req) {
// TBD
auto capacity = req->get_query_param("capacity");
return make_ready_future<json::json_return_type>("");
});
cs::save_caches.set(r, [](std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>("");
});
cs::get_key_capacity.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_key_hits.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_key_requests.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_key_hit_rate.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_key_size.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_key_entries.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_capacity.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_hits.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_requests.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_hit_rate.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_size.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_row_entries.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_capacity.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_hits.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_requests.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_hit_rate.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_size.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
cs::get_counter_entries.set(r, [] (std::unique_ptr<request> req) {
// TBD
return make_ready_future<json::json_return_type>(0);
});
}
}