This distinguish between the async repair that starts the repair, that
will now be a POST request and the method that check on the command
progress that will now be a GET command.
After the change each operation would get the parameters that it needs.
The GET will return an enum based on the repair_status.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the storage service metrics that is based on the
StorageServiceMetrics class.
The following command where added:
get_metrics_load
get_exceptions
get_total_hints_in_progress
get_total_hints
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
"This series cleans the streaming_histogram and the estimated histogram that
were importad from origin, it then uses it to get the estimated min and max row
estimation in the API."
This adds the estimated_histogram to the utils definition file.
The estimated_histogram holds a list of buckets and a list of buckets
offsets.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the latency histogram to the column_family swagger
definitions.
The definitions are based on the ColumnFamilyMetrics.
It adds the following commands:
get_read_latency_histogram
get_all_read_latency_histogram
get_write_latency_histogram
get_all_write_latency_histogram
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the read and write counters to the column_family swagger
definitions.
It adds the following commands:
get_read
get_all_read
get_write
get_all_write
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the read, write and range histograms to the storage_proxy
It adds the following commands:
get_read_metrics_latency_histogram
get_range_metrics_latency_histogram
get_write_metrics_latency_histogram
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
The utils file will hold general modules, that need to be used by
multiple modules.
As a start, it holds the histogram definition.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the storage definition to the storage proxy swagger definition
file.
It adds the definitions for the following command:
get_cas_write_metrics_unfinished_commit
get_cas_write_metrics_contention
get_cas_write_metrics_condition_not_met
get_cas_read_metrics_unfinished_commit
get_cas_read_metrics_contention
get_cas_read_metrics_condition_not_met
get_read_metrics_timeouts
get_read_metrics_unavailables
get_range_metrics_timeouts
get_range_metrics_unavailables
get_write_metrics_timeouts
get_write_metrics_unavailables
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the commit log swagger definition to to the commit log
definition file.
The API is based on the CommitLogMetrics.
The following commands were added:
get_completed_tasks
get_pending_tasks
get_total_commit_log_size
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
"The column family matrics is a set of data related to the column family.
This series adds an API based on the ColumnFamilyMetrics mbean.
It has a stub implementation, just so the JMX proxy would get a response."
"This series adds the hinted handoff and hinted handoff metrics API with a stub
implementation. The API definition was based on the HintedHandOffMetricsMBean
and the HintedHandoffMetrics."
Conflicts:
api/api.cc
configure.py
"This series adds the cache service metrics API, It is based on the CacheMetrics
definitions.
There are statistics on per key, row and counters that will be expose in the
API. This series contain a stub implementation, that returns the correct types
but with a stub value."
This adds the metrics to hinted_handoff, the metrics is based on the
HintedHandoffMetrics definition.
The following commands were added:
get_create_hint_count
get_not_stored_hints_count
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the swagger definition file for the hinted_handoff.
The API is based on the HintedHandOffMBean definition.
It adds the following command:
st_endpoints_pending_hints
truncate_all_hints
schedule_hint_delivery
pause_hints_delivery
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the Swagger definition for the endpoint_snitch_info that is
based on the EndpointSnitchInfoMBean.
The following commands where added:
get_datacenter
get_rack
get_snitch_name
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the metrics definition to the compaction_manager, it is based
on the CompactionMetrics definition.
The following command were added:
get_pending_tasks
get_completed_tasks
get_total_compactions_completed
get_bytes_compacted
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the Swagger definition file for the compaction_manager.
It is based on the CompactionManagerMBean and contains the following
command:
get_compactions
get_compaction_summary
force_user_defined_compaction
stop_compaction
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
The cache service holds metrics for key, row and counters, this adds the
Swagger API definitions for the different cache.
The following commands where added:
get_key_capacity
get_key_hits
get_key_requests
get_key_hit_rate
get_key_size
get_key_entries
get_row_capacity
get_row_hits
get_row_requests
get_row_hit_rate
get_row_size
get_row_entries
get_counter_capacity
get_counter_hits
get_counter_requests
get_counter_hit_rate
get_counter_size
get_counter_entries
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the definition file for the cache service, the API is based on
the CacheServiceMBean definition and contain the following command:
get_row_cache_save_period_in_seconds
set_row_cache_save_period_in_seconds
get_key_cache_save_period_in_seconds
set_key_cache_save_period_in_seconds
get_counter_cache_save_period_in_seconds
set_counter_cache_save_period_in_seconds
get_row_cache_keys_to_save
set_row_cache_keys_to_save
get_key_cache_keys_to_save
set_key_cache_keys_to_save
get_counter_cache_keys_to_save
set_counter_cache_keys_to_save
invalidate_key_cache
invalidate_counter_cache
set_row_cache_capacity_in_mb
set_key_cache_capacity_in_mb
set_counter_cache_capacity_in_mb
save_caches
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the swagger definition file for the storage_proxy, it is based
on the StorageProxyMBean definition.
The following command where define:
get_total_hints
get_hinted_handoff_enabled
set_hinted_handoff_enabled
get_hinted_handoff_enabled_by_dc
set_hinted_handoff_enabled_by_dc_list
get_max_hint_window
set_max_hint_window
get_max_hints_in_progress
set_max_hints_in_progress
get_rpc_timeout
set_rpc_timeout
get_read_rpc_timeout
set_read_rpc_timeout
get_write_rpc_timeout
set_write_rpc_timeout
get_counter_write_rpc_timeout
set_counter_write_rpc_timeout
get_cas_contention_timeout
set_cas_contention_timeout
get_range_rpc_timeout
set_range_rpc_timeout
get_truncate_rpc_timeout
set_truncate_rpc_timeout
reload_trigger_classes
get_read_repair_attempted
get_read_repair_repaired_blocking
get_read_repair_repaired_background
get_schema_versions
Matricses are not added yet, the basic integration and naming
get_cas_read_timeouts was added under the URL:
/storage_proxy/metrics/
That will holds the related matricses.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This patch complete the definition of the storage service.
It is a mapping of the StorageServiceMBean. When possible the following
convention where used:
API that does not return value will be POST or DELETE depends on the
context.
When possible, POST, DELETE and GET uses the same path
The following commands where added:
get_leaving_nodes
get_moving_nodes
get_joining_nodes
get_release_version
get_schema_version
get_all_data_file_locations
get_saved_caches_location
get_range_to_endpoint_map
get_pending_range_to_endpoint_map
describe_ring_jmx
get_host_id_map
get_load
get_load_map
get_current_generation_number
get_natural_endpoints
get_snapshot_details
take_snapshot
del_snapshot
true_snapshots_size
force_keyspace_compaction
force_keyspace_cleanup
scrub
upgrade_sstables
force_keyspace_flush
repair_async
force_terminate_all_repair_sessions
decommission
move
remove_node
get_removal_status
force_remove_completion
set_logging_level
get_logging_levels
get_operation_mode
is_starting
get_drain_progress
drain
truncate
get_keyspaces
update_snitch
stop_gossiping
start_gossiping
is_gossip_running
stop_daemon
is_initialized
stop_rpc_server
start_rpc_server
is_rpc_server_running
start_native_transport
stop_native_transport
is_native_transport_running
join_ring
is_joined
set_stream_throughput_mb_per_sec
get_stream_throughput_mb_per_sec
get_compaction_throughput_mb_per_sec
set_compaction_throughput_mb_per_sec
is_incremental_backups_enabled
set_incremental_backups_enabled
rebuild
bulk_load
bulk_load_async
reschedule_failed_deletions
load_new_ss_tables
sample_key_range
reset_local_schema
set_trace_probability
get_trace_probability
enable_auto_compaction
disable_auto_compaction
deliver_hints
get_cluster_name
get_partitioner_name
get_tombstone_warn_threshold
set_tombstone_warn_threshold
get_tombstone_failure_threshold
set_tombstone_failure_threshold
get_batch_size_failure_threshold
set_batch_size_failure_threshold
set_hinted_handoff_throttle_in_kb
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the Column familiy swagger definition file, the API is
equivelent to the ColumnFamilyStoreMBean definition.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Empty parameter definition is not accepted by the swagger UI, instead,
the parameter list itself should be empty.
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the following definitions to the storage_service swagger
definition file:
/storage_service/tokens
/storage_service/tokens/{endpoint}
/storage_service/commitlog
/storage_service/tokens_endpoint
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>