Auto-tools/Projects/Charts: Difference between revisions

Jump to navigation Jump to search
Line 6: Line 6:
== Architecture ==
== Architecture ==


The application itself is served as a set of static html and javascript files from the Mozilla PAAS Stackato servers.  There are two versions: Production and Staging, the latter will usually have more features, while being slightly more buggy.  
=== Web Server ===
Please us the staging server as much as possible: Like the Nighly Firefox, using staging will help find bugs sooner.
[[image:Auto_tools_Projects_Charts_Architecture.png|right|thumb|200px]]
The application itself is served as a set of static html and javascript files from the Mozilla PAAS Stackato servers.  There are two versions: Production and Staging, the latter will usually have more features, while being slightly more buggy. Please us the staging server as much as possible: Like the Nighly Firefox, using staging will help find bugs sooner.


Code for each version is in a separate branch
Code for each version is in a separate branch
Line 19: Line 20:
|}
|}


Once the application is downloaded it will attempt to contact both the private and public clusters simultaneously; whichever responds will be chosen for all future connections, with preference given to the private cluster.
Really, it does not matter where the application is served from (I have various development versions on my people page).  If both these servers are down, a simple <code>git clone</code> can allow you to "serve" directly from the filesystem.
The queries for the dashboard are sent to the cluster as the dashboard app requires.
 
=== esFrontline ===
esFrontline is a simple python based proxy to limit ES requests to search requests and limit the indexes exposed. Other than these restrictions, ''this proxy is invisible to client application''.  See https://wiki.mozilla.org/BMO/ElasticSearch for more details.
 
=== ElasticSearch Clusters ===
Once the application is downloaded it will attempt to contact both the private and public clusters simultaneously; whichever responds will be chosen for all future connections, with preference given to the private cluster. The queries for the dashboard are then sent to the cluster as the dashboard app requires.
 
The clusters are configured to accept requests from any client.  Hopefully this will promote development of alternative dashboards and charts.
 
=== Development ===
The Development server is responsible for secondary indexes built from the main <code>bug_version</code>.  Currently it maintains the hierarchy index for determining recursive dependencies on bugs.
 
=== Slowness ===
There are some sources of slowness:
 
* esFrontline - being Python, and simple, may be adding about 1/4 second latency to all ES searches
* Virtual Machines - The nodes of the ES clusters are hosted on VMs, and may be contributing to some slowness.
* Code - Nothing is minimized, some pages even pause to load JavaScript dynamically.


== Past Problems ==
== Past Problems ==
Confirmed users
513

edits

Navigation menu