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:
Sai Sindhur Malleni 2016-11-21 12:39:53 +11:00 committed by akrzos
parent dbe0f15477
commit 1995e44ac3
8 changed files with 143 additions and 0 deletions

View 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.

View File

@ -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

View File

@ -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}}"

View File

@ -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\":[]}"
}
}

View File

@ -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

View File

@ -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"

View File

@ -0,0 +1,4 @@
# This .gitignore is included to ensure this directory exists
*
# Ignores everything, except this file
!.gitignore

View File

@ -0,0 +1,4 @@
# This .gitignore is included to ensure this directory exists
*
# Ignores everything, except this file
!.gitignore