Adding Visualizations and Dashboard for Shaker
+ Added README to explain the dashboard + Changed panel size of markdown visualizations in the dashboard + Added Shaker visualization/dashboard directories Change-Id: I556ac51971cdc521e2cbab01a4139ed5e32d18b0
This commit is contained in:
parent
dbe0f15477
commit
1995e44ac3
18
ansible/README.shaker-viz.rst
Normal file
18
ansible/README.shaker-viz.rst
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Shaker Data Plane Performance Dashboard
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The Shaker dashboard aims to present data plane performance of OpenStack VMs
|
||||||
|
connected in different network topologies in a summarized form. Three distinct
|
||||||
|
visulizations representing L2, L3 E-W and L3 N-S topologies along with the
|
||||||
|
corrensponding markdown to exaplain each visualization make the "Browbeat Shaker
|
||||||
|
Scenarios with Throughput vs Concurrency" dashboard. For each network topology,
|
||||||
|
average throughput for TCP download and upload in Mbps is expressed vs the VM
|
||||||
|
conccurency (number of pairs of VMs firing traffic at any given moment). For
|
||||||
|
example, in the L2 scenario if the average throughput is 4000 Mbps at a
|
||||||
|
concurrency of 2, it means that each pair of VMs involved average at 4000 Mbps
|
||||||
|
for the duration of the test, bringing the total throughput to 8000 Mbps(avg
|
||||||
|
throughput*concurrency).
|
||||||
|
|
||||||
|
You can filter based on browbeat_uuid and shaker_uuid to view results from a
|
||||||
|
specific run only.
|
||||||
|
|
@ -10,8 +10,11 @@
|
|||||||
# Vars for templatized Visualizations:
|
# Vars for templatized Visualizations:
|
||||||
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_osp_version_token_visualizations.yml"
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_osp_version_token_visualizations.yml"
|
||||||
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_processes_threads_visualizations.yml"
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_processes_threads_visualizations.yml"
|
||||||
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/shaker_scenario_throughput_concurrency_visualizations.yml"
|
||||||
# Vars for templatized Dashboards:
|
# Vars for templatized Dashboards:
|
||||||
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_osp_version_token_dashboards.yml"
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_osp_version_token_dashboards.yml"
|
||||||
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_processes_threads_dashboards.yml"
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/keystone_processes_threads_dashboards.yml"
|
||||||
|
- "{{browbeat_path}}/ansible/install/roles/kibana-visualization/vars/shaker_scenario_throughput_concurrency_dashboard.yml"
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- kibana-visualization
|
- kibana-visualization
|
||||||
|
@ -19,6 +19,21 @@
|
|||||||
- "{{keystone_osp_version_token_dashboards}}"
|
- "{{keystone_osp_version_token_dashboards}}"
|
||||||
- "{{keystone_processes_threads_dashboards}}"
|
- "{{keystone_processes_threads_dashboards}}"
|
||||||
|
|
||||||
|
- name: Generate Shaker Visualizations
|
||||||
|
template:
|
||||||
|
src: "{{item.template}}"
|
||||||
|
dest: "{{browbeat_path}}/visualization/Shaker/visualization/{{item.title}}.json"
|
||||||
|
with_flattened:
|
||||||
|
- "{{shaker_scenario_throughput_concurrency_visualizations}}"
|
||||||
|
|
||||||
|
- name: Generate Shaker Dashboard
|
||||||
|
template:
|
||||||
|
src: dashboard.json.j2
|
||||||
|
dest: "{{browbeat_path}}/visualization/Shaker/dashboard/{{item.file_name}}"
|
||||||
|
with_flattened:
|
||||||
|
- "{{shaker_scenario_throughput_concurrency_dashboard}}"
|
||||||
|
|
||||||
|
|
||||||
- name: Remove Searches
|
- name: Remove Searches
|
||||||
uri:
|
uri:
|
||||||
url: http://{{ es_ip }}:{{ es_local_port }}/{{ es_kibana_index }}/search/{{ item | basename | regex_replace('\.json','') }}
|
url: http://{{ es_ip }}:{{ es_local_port }}/{{ es_kibana_index }}/search/{{ item | basename | regex_replace('\.json','') }}
|
||||||
@ -100,3 +115,17 @@
|
|||||||
with_flattened:
|
with_flattened:
|
||||||
- "{{keystone_osp_version_token_dashboards}}"
|
- "{{keystone_osp_version_token_dashboards}}"
|
||||||
- "{{keystone_processes_threads_dashboards}}"
|
- "{{keystone_processes_threads_dashboards}}"
|
||||||
|
|
||||||
|
- name: Cleanup Shaker Visualizations
|
||||||
|
file:
|
||||||
|
path: "{{browbeat_path}}/visualization/Shaker/visualization/{{item.title}}.json"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{shaker_scenario_throughput_concurrency_visualizations}}"
|
||||||
|
|
||||||
|
- name: Cleanup Shaker Dashboards
|
||||||
|
file:
|
||||||
|
path: "{{browbeat_path}}/visualization/Shaker/dashboard/{{item.file_name}}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{shaker_scenario_throughput_concurrency_dashboard}}"
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"title": "{{item.title}}",
|
||||||
|
"visState": "{ \"title\": \"{{item.title}}\", \"type\":\"histogram\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"mode\":\"grouped\",\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"times\":[],\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"result.value\"}},{\"id\":\"2\",\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"result.result_type\",\"size\":2,\"order\":\"desc\",\"orderBy\":\"1\"}},{\"id\":\"3\",\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"record.concurrency\",\"size\":200,\"order\":\"desc\",\"orderBy\":\"1\"}}],\"listeners\":{}}",
|
||||||
|
"description": "",
|
||||||
|
"version": 1,
|
||||||
|
"kibanaSavedObjectMeta": {
|
||||||
|
"searchSourceJSON": "{\"index\":\"[browbeat-shaker-]YYYY.MM.DD\",\"query\":{\"query_string\":{\"query\":\"{{item.query}}\",\"analyze_wildcard\":true}},\"filter\":[]}"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
#
|
||||||
|
# Shaker Scenario Throughput vs Concurrency Dashboard
|
||||||
|
#
|
||||||
|
|
||||||
|
shaker_scenario_throughput_concurrency_dashboard:
|
||||||
|
- file_name: "ShakerScenarioThroughputConcurrency.json"
|
||||||
|
title: "Browbeat Shaker Scenarios with Throughput vs Concurrency"
|
||||||
|
darkTheme: "true"
|
||||||
|
panels:
|
||||||
|
- id: "Shaker-L2"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 1
|
||||||
|
size_x: 12
|
||||||
|
size_y: 2
|
||||||
|
col: 1
|
||||||
|
row: 1
|
||||||
|
- id: "Browbeat-Shaker-L2"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 2
|
||||||
|
size_x: 12
|
||||||
|
size_y: 4
|
||||||
|
col: 1
|
||||||
|
row: 3
|
||||||
|
- id: "Shaker-L3-ES"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 3
|
||||||
|
size_x: 12
|
||||||
|
size_y: 2
|
||||||
|
col: 1
|
||||||
|
row: 7
|
||||||
|
- id: "Browbeat-Shaker-L3-East-West"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 4
|
||||||
|
size_x: 12
|
||||||
|
size_y: 4
|
||||||
|
col: 1
|
||||||
|
row: 9
|
||||||
|
- id: "Shaker-L3-NS"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 5
|
||||||
|
size_x: 12
|
||||||
|
size_y: 2
|
||||||
|
col: 1
|
||||||
|
row: 13
|
||||||
|
- id: "Browbeat-Shaker-L3-North-South"
|
||||||
|
type: "visualization"
|
||||||
|
panelIndex: 6
|
||||||
|
size_x: 12
|
||||||
|
size_y: 4
|
||||||
|
col: 1
|
||||||
|
row: 15
|
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
#
|
||||||
|
# Shaker Scenario-Throughput-Concurrency - Visualizations Variables
|
||||||
|
#
|
||||||
|
|
||||||
|
shaker_scenario_throughput_concurrency_visualizations:
|
||||||
|
- title: "Shaker-L2"
|
||||||
|
template: "markdown.json.j2"
|
||||||
|
markdown: "# Shaker-L2-Avg Throughput vs Concurency\\\\n[Browbeat](https://github.com/openstack/browbeat)\\\\n\\\\n[Shaker-L2](https://github.com/openstack/shaker/blob/master/doc/source/examples/full_l2.rst)"
|
||||||
|
- title: "Browbeat-Shaker-L2"
|
||||||
|
template: "shaker-throughput-concurrency.json.j2"
|
||||||
|
query: "shaker_test_info.deployment.template: l2.hot"
|
||||||
|
- title: "Shaker-L3-ES"
|
||||||
|
template: "markdown.json.j2"
|
||||||
|
markdown: "# Shaker-L3-East-West-Avg Throughput vs Concurency\\\\n[Browbeat](https://github.com/openstack/browbeat)\\\\n\\\\n[Shaker-L3-East-West](https://github.com/openstack/shaker/blob/master/doc/source/examples/full_l3_east_west.rst)"
|
||||||
|
- title: "Browbeat-Shaker-L3-East-West"
|
||||||
|
template: "shaker-throughput-concurrency.json.j2"
|
||||||
|
query: "shaker_test_info.deployment.template: l3_east_west.hot"
|
||||||
|
- title: "Shaker-L3-NS"
|
||||||
|
template: "markdown.json.j2"
|
||||||
|
markdown: "# Shaker-L3-North-South-Avg Throughput vs Concurency\\\\n[Browbeat](https://github.com/openstack/browbeat)\\\\n\\\\n[Shaker-L3-East-West](https://github.com/openstack/shaker/blob/master/doc/source/examples/full_l3_north_south.rst)"
|
||||||
|
- title: "Browbeat-Shaker-L3-North-South"
|
||||||
|
template: "shaker-throughput-concurrency.json.j2"
|
||||||
|
query: "shaker_test_info.deployment.template: l3_north_south.hot"
|
4
visualization/Shaker/dashboard/.gitignore
vendored
Normal file
4
visualization/Shaker/dashboard/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# This .gitignore is included to ensure this directory exists
|
||||||
|
*
|
||||||
|
# Ignores everything, except this file
|
||||||
|
!.gitignore
|
4
visualization/Shaker/visualization/.gitignore
vendored
Normal file
4
visualization/Shaker/visualization/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# This .gitignore is included to ensure this directory exists
|
||||||
|
*
|
||||||
|
# Ignores everything, except this file
|
||||||
|
!.gitignore
|
Loading…
Reference in New Issue
Block a user