Commit Graph

137 Commits

Author SHA1 Message Date
Amnon Heiman
db30a588b2 API: Break the async repair into two operations
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>
2015-08-25 15:45:30 +03:00
Tomasz Grabiec
4c030bb597 api: Fix return type for /lsa/compact 2015-08-25 15:29:10 +03:00
Amnon Heiman
34e60faaca API: Adding the storage service metrics definition
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>
2015-08-18 11:19:51 +03:00
Amnon Heiman
cae3de162c API: Remove empty line from empty parameters list in
storage_service.json

Just for styling, empty parameters list will not include an empty line.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-08-18 11:19:51 +03:00
Avi Kivity
7a14bcd66e Merge "API: add get estimated row size histogram to column family" from Amnon
"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."
2015-08-16 17:31:23 +03:00
Amnon Heiman
0ca7189664 API: Adding the estimated_histogram to the utils definition file
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>
2015-08-12 13:10:18 +03:00
Amnon Heiman
3ef36681cc API: Adding read, write latency histogram to column_family
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>
2015-08-11 10:21:22 +03:00
Tomasz Grabiec
9a1ee1b96a api: Introduce RESTful API for LSA
To force compaction, invoke:

  $ curl -X POST http://localhost:10000/lsa/compact
2015-08-06 16:50:15 +02:00
Amnon Heiman
8356b493a3 API: Adding read and write counters to column_family definition
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>
2015-08-03 11:36:33 +03:00
Amnon Heiman
429f7d2b20 API: Adding the histogram stats definition to storage_proxy
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>
2015-07-26 11:03:30 +03:00
Amnon Heiman
4908222d6a Adding utils.json Swagger definition file
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>
2015-07-26 10:58:45 +03:00
Amnon Heiman
c82b89a8b0 Adding the metrics definition to the storage_proxy
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>
2015-07-12 14:05:05 +03:00
Amnon Heiman
240c7b0572 API: Adding the commit log metrics definitions
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>
2015-07-06 12:37:45 +03:00
Avi Kivity
3aebcfe6b7 Merge "Adding the column family metrics API" from Amnon
"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."
2015-07-05 17:36:58 +03:00
Avi Kivity
8fa053c7c6 Merge "Adding the hinted_handoff API" from Amnon
"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
2015-07-05 17:33:25 +03:00
Avi Kivity
b8f8f66e81 Merge "Adding the endpoint_snitch_api" from Amnon
"This series adds the endpoint snitch api. It is based on the
EndpointSnitchInfoMBean definition."

Conflicts:
	api/api.cc
	configure.py
2015-07-05 17:31:23 +03:00
Avi Kivity
dedb9e8434 Merge "Adding the cache service metrics API" from Amnon
"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."
2015-07-05 16:45:43 +03:00
Amnon Heiman
a162528227 API: Adding metrics to hinted_handoff
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>
2015-07-05 16:30:30 +03:00
Amnon Heiman
389430b3da API: Adding the hinted_handoff swagger definition
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>
2015-07-05 16:30:24 +03:00
Amnon Heiman
3a43a61203 Adding the Swagger definition of the endpoint_snitch_info
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>
2015-07-02 17:44:05 +03:00
Amnon Heiman
acb56ab133 API: Adding the metrics to the compaction_manager
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>
2015-07-02 09:53:34 +03:00
Amnon Heiman
771f818ed0 Adding the compaction_manager Swagger definition file
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>
2015-07-02 09:33:57 +03:00
Amnon Heiman
1054d95c25 Adding the cache service metrics Swgger definition
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>
2015-07-01 10:03:13 +03:00
Amnon Heiman
600c4020a7 Adding the column family metrics API definition
This adds the metrics definition in the column family API, the API is
based on the ColumnFamilyMetrics mbean.

The following operation where added:
get_memtable_columns_count
get_all_memtable_columns_count
get_memtable_on_heap_size
get_all_memtable_on_heap_size
get_memtable_off_heap_size
get_all_memtable_off_heap_size
get_memtable_live_data_size
get_all_memtable_live_data_size
get_all_memtables_on_heap_size
get_all_all_memtables_on_heap_size
get_all_memtables_off_heap_size
get_all_all_memtables_off_heap_size
get_all_memtables_live_data_size
get_all_all_memtables_live_data_size
get_memtable_switch_count
get_all_memtable_switch_count
get_estimated_row_size_histogram
get_estimated_column_count_histogram
get_compression_ratio
get_all_compression_ratio
get_read_latency
get_all_read_latency
get_range_latency
get_all_range_latency
get_write_latency
get_all_write_latency
get_pending_flushes
get_all_pending_flushes
get_pending_compactions
get_all_pending_compactions
get_live_ss_table_count
get_all_live_ss_table_count
get_live_disk_space_used
get_all_live_disk_space_used
get_total_disk_space_used
get_all_total_disk_space_used
get_min_row_size
get_all_min_row_size
get_max_row_size
get_all_max_row_size
get_mean_row_size
get_all_mean_row_size
get_bloom_filter_false_positives
get_all_bloom_filter_false_positives
get_recent_bloom_filter_false_positives
get_all_recent_bloom_filter_false_positives
get_bloom_filter_false_ratio
get_all_bloom_filter_false_ratio
get_recent_bloom_filter_false_ratio
get_all_recent_bloom_filter_false_ratio
get_bloom_filter_disk_space_used
get_all_bloom_filter_disk_space_used
get_bloom_filter_off_heap_memory_used
get_all_bloom_filter_off_heap_memory_used
get_index_summary_off_heap_memory_used
get_all_index_summary_off_heap_memory_used
get_compression_metadata_off_heap_memory_used
get_all_compression_metadata_off_heap_memory_used
get_speculative_retries
get_all_speculative_retries
get_key_cache_hit_rate
get_true_snapshots_size
get_all_true_snapshots_size
get_row_cache_hit_out_of_range
get_all_row_cache_hit_out_of_range
get_row_cache_hit
get_all_row_cache_hit
get_row_cache_miss
get_all_row_cache_miss
get_cas_prepare
get_cas_propose
get_cas_commit
get_sstables_per_read_histogram
get_tombstone_scanned_histogram
get_live_scanned_histogram
get_col_update_time_delta_histogram

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-30 15:46:14 +03:00
Amnon Heiman
afa6eb8d94 Adding the collectd swagger definition API
The collectd API has method for listting the available collectd register
objects and to retrieve the values.
2015-06-28 17:14:12 +03:00
Amnon Heiman
d4b5e65b7c API Adding the cache_service definition file
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>
2015-06-24 14:29:22 +03:00
Avi Kivity
9faf46f047 Merge "Complete the storage service definition" from Amnon
"This series complete the definition of the storage service API. It is based on
the StorageServiceMBean definition."
2015-06-24 11:55:23 +03:00
Amnon Heiman
c41ccb4ce4 API Adding the storage_proxy definition file
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>
2015-06-18 11:30:30 +03:00
Amnon Heiman
04de4382f3 API Doc: Adding the messaging_service swagger definition
This adds the messaging_service API definition it will expose the
messaging_service metrics.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-16 14:39:51 +03:00
Amnon Heiman
d067b9b111 API: Complete defition of the storage service
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>
2015-06-16 14:30:09 +03:00
Amnon Heiman
bde58c9607 Add the Column Family Swagger definition
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>
2015-06-11 09:50:52 +03:00
Amnon Heiman
71bfd07d69 API Adding the failure detector swagger definition
This adds the failure detector definition that is based on the
FailureDetectorMBean

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-03 19:12:57 +03:00
Amnon Heiman
bdb2a7ff47 api: Remove empty parameter from storage_service.json
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>
2015-05-31 18:17:29 +03:00
Amnon Heiman
a28b90bfd3 Adding definitions to the storage_service
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>
2015-05-27 15:28:20 +03:00
Amnon Heiman
313074c980 API: Add the gossiper API
This holds the swagger definition equivelent to the GossiperMBean API.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-05-25 18:28:47 +03:00
Amnon Heiman
8f5c2a3143 API: Add the commitlog API
This contains the commitlog API that is the equivalent of the
CommitLogMbean API.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-05-19 15:27:59 +03:00
Amnon Heiman
aeb66fa409 API: Adding the stroage service stub
The storage service API will hold the equivelent information of the
StorageServiceMBean.

This adds the API with one stubed method the get local hostid.

After the patch the storage_service doc will be available at:
http://localhost:10000/api-doc/storage_service/

And the stubed local host id will be under:
http://localhost:10000/storage_service/local_hostid

and will return an empty string

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-04-13 18:57:14 +03:00