Commit Graph

56 Commits

Author SHA1 Message Date
Amnon Heiman
fd7e0e512a Adding the commit log metric stub implementation
This adds a stub implementation to the commit log metrics.
The calls return the currect value type with a stub value.

After this patch the following url will be available:
/commitlog/metrics/completed_tasks
/commitlog/metrics/pending_tasks
/commitlog/metrics/total_commit_log_size

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-06 12:38:22 +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
3b4ce5a219 API: Adding a stub implementation for hinted_handoff metrics
This adds a stub implementation for the hinted handoff metrics.
The stubbed methods return the correct type, but with a stub value.
After this patch the following path will be available:
/hinted_handoff/metrics/create_hint/{addr}
/hinted_handoff/metrics/not_stored_hints/{addr}

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-05 16:42:54 +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
daceaec74c Adding a stub implementation for the hinted_handoff
This adds a stub implementation for the hinted handoff.
The API returns the currect type but with stubed values.

After applying this patch the api-doc will be available at:
/api-doc/hinted_handoff/

The following url will be available:
/hinted_handoff/hints
/hinted_handoff/schedule
/hinted_handoff/pause

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
ff4da7fcdc Adding the endpoint_snitch API implementation
This adds the implementation for the API endpoint_snitch
After this patch the API doc can be found at:
/api-doc/endpoint_snitch_info/

The following url are available:
/snitch/datacenter
/snitch/rack

The get name is stubed
/snitch/name

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-02 17:45:23 +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
477d06aa96 API: Adding the metrics stub to the compaction_manager
This adds a stub implementation to the compaction_manager.
The API would return the currect type but with stub values.
After this patch the following url will be available:
/compaction_manager/metrics/pending_tasks
/compaction_manager/metrics/completed_tasks
/compaction_manager/metrics/total_compactions_completed
/compaction_manager/metrics/bytes_compacted

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-02 09:55:37 +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
2d04668de5 API: Adding the compaction_manager API stub implementation
This adds a stub implementation for the compaction_manager API.

The methods return the right types but with a stub value.
After this patch the following url will be available:
/compaction_manager/compactions
/compaction_manager/compaction_summary
/compaction_manager/force_user_defined_compaction
/compaction_manager/stop_compaction

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-07-02 09:46:19 +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
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
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
338c1c20b7 Adding a stub implementation for the column_familiy matrics API
This adds a stub implemtation for the column_familiy matrics API.
It return the correct type with a stub value.

Column family specific API are mark with a comment
After this patch the following API will be available:

/column_family/metrics/memtable_columns_count/{name}
/column_family/metrics/memtable_columns_count/
/column_family/metrics/memtable_on_heap_size/{name}
/column_family/metrics/memtable_on_heap_size
/column_family/metrics/memtable_off_heap_size/{name}
/column_family/metrics/memtable_off_heap_size
/column_family/metrics/memtable_live_data_size/{name}
/column_family/metrics/memtable_live_data_size
/column_family/metrics/all_memtables_on_heap_size/{name}
/column_family/metrics/all_memtables_on_heap_size
/column_family/metrics/all_memtables_off_heap_size/{name}
/column_family/metrics/all_memtables_off_heap_size
/column_family/metrics/all_memtables_live_data_size/{name}
/column_family/metrics/all_memtables_live_data_size
/column_family/metrics/memtable_switch_count/{name}
/column_family/metrics/memtable_switch_count
/column_family/metrics/estimated_row_size_histogram/{name}
/column_family/metrics/estimated_column_count_histogram/{name}
/column_family/metrics/compression_ratio/{name}
/column_family/metrics/compression_ratio
/column_family/metrics/read_latency/{name}
/column_family/metrics/read_latency
/column_family/metrics/range_latency/{name}
/column_family/metrics/range_latency
/column_family/metrics/write_latency/{name}
/column_family/metrics/write_latency
/column_family/metrics/pending_flushes/{name}
/column_family/metrics/pending_flushes
/column_family/metrics/pending_compactions/{name}
/column_family/metrics/pending_compactions
/column_family/metrics/live_ss_table_count/{name}
/column_family/metrics/live_ss_table_count
/column_family/metrics/live_disk_space_used/{name}
/column_family/metrics/live_disk_space_used
/column_family/metrics/total_disk_space_used/{name}
/column_family/metrics/total_disk_space_used
/column_family/metrics/min_row_size/{name}
/column_family/metrics/min_row_size
/column_family/metrics/max_row_size/{name}
/column_family/metrics/max_row_size
/column_family/metrics/mean_row_size/{name}
/column_family/metrics/mean_row_size
/column_family/metrics/bloom_filter_false_positives/{name}
/column_family/metrics/bloom_filter_false_positives
/column_family/metrics/recent_bloom_filter_false_positives/{name}
/column_family/metrics/recent_bloom_filter_false_positives
/column_family/metrics/bloom_filter_false_ratio/{name}
/column_family/metrics/bloom_filter_false_ratio
/column_family/metrics/recent_bloom_filter_false_ratio/{name}
/column_family/metrics/recent_bloom_filter_false_ratio
/column_family/metrics/bloom_filter_disk_space_used/{name}
/column_family/metrics/bloom_filter_disk_space_used
/column_family/metrics/bloom_filter_off_heap_memory_used/{name}
/column_family/metrics/bloom_filter_off_heap_memory_used
/column_family/metrics/index_summary_off_heap_memory_used/{name}
/column_family/metrics/index_summary_off_heap_memory_used
/column_family/metrics/compression_metadata_off_heap_memory_used/{name}
/column_family/metrics/compression_metadata_off_heap_memory_used
/column_family/metrics/speculative_retries/{name}
/column_family/metrics/speculative_retries
/column_family/metrics/key_cache_hit_rate/{name}
/column_family/metrics/true_snapshots_size/{name}
/column_family/metrics/true_snapshots_size
/column_family/metrics/row_cache_hit_out_of_range/{name}
/column_family/metrics/row_cache_hit_out_of_range
/column_family/metrics/row_cache_hit/{name}
/column_family/metrics/row_cache_hit
/column_family/metrics/row_cache_miss/{name}
/column_family/metrics/row_cache_miss
/column_family/metrics/cas_prepare/{name}
/column_family/metrics/cas_propose/{name}
/column_family/metrics/cas_commit/{name}
/column_family/metrics/sstables_per_read_histogram/{name}
/column_family/metrics/tombstone_scanned_histogram/{name}
/column_family/metrics/live_scanned_histogram/{name}
/column_family/metrics/col_update_time_delta_histogram/{name}

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-30 15:51:08 +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
Avi Kivity
b27f93af97 Merge "Adding implementation to the storage_service" from Amnon
"The storage_service API contains many function, the actuall implementation will
be added gradually."
2015-06-29 14:57:45 +03:00
Amnon Heiman
aa73311289 adding the collectd implementation
This adds the implementation for:
get_collectd - return a single collectd value
get_collectd_items - list the registerred collectd
2015-06-28 17:37:59 +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
72c034abe1 Http API: Add Swagger-UI support
This patch adds support to the Swagger-UI. It does so by adding
reference to the Swagger-UI target directory, after applying this patch
/ui/ will display the Swagger-UI page with the available APIs.

From the Swagger-UI page it is possible to run the different APIs.

The target directory of the ui can be override from the command line.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-25 16:41:38 +03:00
Amnon Heiman
a6dac55f8b Adding implementation to the storage_service API
This adds the following implementation to the storage_service API:
get_leaving_nodes
get_moving_nodes
get_joining_nodes
get_all_data_file_locations
get_saved_caches_location
get_host_id_map
get_current_generation_number
get_keyspaces
force_keyspace_flush
force_keyspace_compaction

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-25 14:41:48 +03:00
Amnon Heiman
2956ec641d API: Add helper function to the API
This adds a general map_to_key_value method that can work with any map
like object. This method gets the target vector in a parameter to help
the compiler inference the parameters type.

map_keys is a helper function that gets a map like objects and returns a
vector with its keys (i.e. the call to it's iterator first)

split is a wraper around the boost split and split_cf is a specific
split that is aligned with how column family are passed in the API
parameters.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-25 14:41:39 +03:00
Amnon Heiman
4258b005db API: Adding stub implementation for the cache service
This adds a stub implementation for the cache_service. It also register
the API doc.
The cache_service doc will be available at:
http://localhost:10000/api-doc/cache_service/

The stub implementation returns the correct value type with stubbed
values.

After this patch the following path will be available:
/cache_service/row_cache_save_period
/cache_service/key_cache_save_period
/cache_service/counter_cache_save_period
/cache_service/row_cache_keys_to_save
/cache_service/key_cache_keys_to_save
/cache_service/counter_cache_keys_to_save
/cache_service/invalidate_key_cache
/cache_service/invalidate_counter_cache
/cache_service/row_cache_capacity
/cache_service/key_cache_capacity
/cache_service/counter_cache_capacity
/cache_service/save_caches

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-24 14:30:08 +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
c787fa557e API adding a stub implementation for the storage_proxy
This adds a stub implementation for the storage_proxy.

To simplify future implementation, it takes the passed parameter and
return the correct types with fixed values.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-18 11:32:09 +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
a928c7422d Add the messaging_service API implementation
This API gother information about messages passing in the system, in
this patch the following API will be supported:

/messaging_service/messages/replied
/messaging_service/messages/sent
/messaging_service/messages/pending
/messaging_service/messages/exception
/messaging_service/messages/respond_pending
/messaging_service/messages/dropped

The swagger defintion can be retrieved from:
/api-doc/messaging_service
2015-06-16 14:40:08 +03:00
Amnon Heiman
25188ed28e API: Adding a helper function to sum a map
In a typical scenario the API collect values from multiple distributed
instances. Sometimes it is needed to reduce multiple maps by merging
their keys and accumulating their values.

This is a helper function that can be used in map_reduce to perform maps
sum.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-16 14:40:08 +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
9027c4bd33 Adding stub implementation for storage_service
This adds a stub implementation of the storage service, to simplify
future implementation, variables that should be used in the
implementation are taken and stored.

Implementation return the currect type, but with stub values.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-16 14:30:23 +03:00
Amnon Heiman
c9fe14c0ff Cleanning the storage_service.cc
This change how values are added to the result array and use std::string
for lexical cast.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-16 14:30:23 +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
2be20ff295 API: Add the column familiy implementation
This adds the API implementation to the column family API.

After this patch the following API will be supported:
/column_family/name
/column_family
/column_family/name/keyspace
2015-06-11 10:12:38 +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
ba8365d95a Adding the Failure detector API implementation
This series adds the implementation for teh Failure detector API.
After this patch the following APIs will be supported:
/failure_detector/endpoints
/failure_detector/count/endpoint/up
/failure_detector/count/endpoint/down
/failure_detector/phi
POST:/failure_detector/phi
/failure_detector/simple_states
/failure_detector/endpoints/states

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-03 19:13:03 +03:00
Amnon Heiman
a75376e8e3 API: Add a helper function from map to key value list
When using swagger definition file, returning a map, needs to be in a
key, value list. To handle this common case in the API, a helper
function was added that gets an unorder_map and return a vector of key,
value mapping.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-03 19:13:03 +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
57a2777da9 api: fix string containing space cause boost execption
When the container_to_vec helper function has a string that contains
space, a boost exection is thrown.

This fixes it by using std::string for the conversion that the boost
recognize as a string type.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-03 19:00:32 +03:00
Amnon Heiman
b0b494ad7a api: clean up the gossiper API impl
This patch clean up the gossiper implementation by using the new square
bracket operator for path param and by using the general function
container_to_vec.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Reviewed-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-06-02 11:13:15 +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
dc4584254b API: Adding storage_service implementation
This adds implementation to the added storage service definitions.
After this patch, the following calls will be supported:
/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:29:49 +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
f0e5d76d85 API: Add helper function to transfer collection to list of sstring
These adds a helper function to transfer a list of object to a list of
string. It will be used by the API implementation.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-05-27 15:28:20 +03:00
Amnon Heiman
f61dcfddc2 Adding the gossiper API implementation
This implement the gossipier API. All actions perform on the local
gossiper.

The following functionality is supported:
/gossiper/downtime/{addr}
/gossiper/generation_number/{addr}
/gossiper/assassinate/{addr}

The following are extened API beyond the MBean definition:
/gossiper/endpoint/down
/gossiper/endpoint/live

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-05-25 18:28:47 +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