It seems like bugday was removed from the navbar in all other places
on status.openstack.org so this commit removes it from the menu.
It also seems like there is no backend configured for "/bugday"
Change-Id: I67e9271450ee7c98887759d0224cd26f72adabba
Motivation for this change:
By adding the run time graph to the job's page it will raise
awareness to users of changes in run times among jobs.
By adding the scatter graph to the job's page it can raise awareness
of the run time deviation.
New behavior:
A linear and scatter chart called Job Run Time is available in the jobs
view. It gathers run_time data from the job_data objects provided by
the timedelta in the response of /runs/key/<key>/<value> limited
by the values in the resolution dropdown.
The original response of this API call is wrapped in a 'data' property
and the additional information to support drawing the scatter chart on
the canvas is added to a new dict property called 'numeric'.
NOTE:
* The methods in run_aggregator were derived from [1] and [2]
* An experiment was done to see which implementation would
result in the lowest load time and the results for the job
'tempest-full' for 2 weeks and 1 month periods are as follows:
- latest patch with 1 db call
2.21s - 2 weeks
3.40s - 1 month
- older patch with 2 db calls
7.86s - 2 weeks
10.16s - 1 month
completes queens priority "Job duration graph in o-h" from:
https://etherpad.openstack.org/p/qa-queens-priorities
[1] https://review.openstack.org/#/c/370913/4
[2] 4db9a61471/openstack_health/test_run_aggregator.py (L70-L90)
Change-Id: Ib5196d86b6b5efa0083d4aa4dd28f1fac3493560
This commit fixes job name value to use 'job_name' value of the first
failed. As the previous patch[1] says, the job name in the url doesn't
always match the job name in the database in the zuul v3 world.
[1] Ic1ba76c853ffd9ebb87683e56c82fea711b6139b
Change-Id: Ida70e2704d9e7a038fe5747bd53c816155435325
This commit makes resource the URLs in health-api.js for various
environments such as in local development environments, downstream
environments. The URLs should be trusted because the apiRoot value comes
from the config.
If you'd like to know more details of $scedelegateprovider, you can
see the documents at angularjs site[1].
[1] https://docs.angularjs.org/api/ng/provider/$sceDelegateProvider
Change-Id: Iec67c1a5236c9c8febfc83188db71754f895bff6
This commit replaces the openstack logo to new one. The new logo is
simple and clean. Let's use it.
Change-Id: I324c4063ee9c036ef1cf932e62650a3a94fb62e7
This commit changes default period of all graphs to 1 week except
grouped-runs which is already set as 2 weeks. We already changed it in
the home page[1] and it seems good. So let's make it the others.
[1] Ia8cdf52d191453c9bab59669550c0d7dc8faa6e2
Change-Id: Idaec6617032c48c64aa7e860bc95a7556e43f1c9
This commit fixes the ratio values to percent on failure rate graphs. We
already use percents in many graphs and users are familiar with percents
rather than ratio.
Change-Id: I056b62b215230b4666401eabace42cac7e68201d
Closes-Bug: #1674066
This commit changes the home page default period to 7 days to reduce the
loading time. So users don't want to stand for it.
Change-Id: Ia8cdf52d191453c9bab59669550c0d7dc8faa6e2
This commit fixes the failure ratio formats in some charts. Failure
ratios are between 0 and 0.2 in most of the case. So the float numbers
should have more accuracy to know exact values.
Change-Id: I26350bf8b7ff586242f99ec7ab171472f16a188c
Angular 1.6 set the hashPrefix to '!', breaking all old URLs. This
reverts it to the previous Angular 1.5 behavior.
Change-Id: I431ebbe820c764e017870ae4c156275740341bc4
This commit fixes the duplicate graph rendering when data change with
just adding clearRect() in rednerBase function to clear an old graph.
Change-Id: Ib198580a325493006e04ef2e7372cc9cdc94a028
Closes-Bug: #1644704
This commit adds a canvas-based scatter chart using the new canvas
directives, replacing the nvd3 scatter/line multi-chart on the test
page.
Note that this chart also replaces the scatter chart as well as the
multi-chart as all canvas charts are implicitly multi-charts: we can
draw as many charts on top of one another as we'd like.
Change-Id: I3c560f1e04631c1e72aecac4bf0af656a04a3d6f
This commit adds a canvas-based line chart using the new canvas
charting directives, replacing the nvd3 line charts on the home,
grouped run, and job pages.
Change-Id: Ifd937196e7f9f1f3176ddf82fa54cdab49df4461
This commit adds support for our own custom canvas-based charts.
By avoiding SVG and rendering directly to a 2D canvas context, these
charts should greatly reduce memory usage and improve page
performance, particularly when scrolling or on browsers and platforms
without good hardware acceleration. Lag while scrolling or hovering
over data points should be almost entirely eliminated, especially on
data-heavy pages like the home page with large periods or certain test
pages.
This commit adds only the components shared between all charts. New
implementations of each specific chart type will be added in follow-up
patches.
Change-Id: I5aff9c647095d879982c9b4d6080eafc497368d6
This commit changes the run time graph type on the test page from
scatterChart to multiChart. The average graph should be a line graph but
the raw data should be plotted as a scatter graph.
Closes-Bug: #1611106
Change-Id: I3b447a058fd0b525938e57921740920a26133b59
This commit changes the pass-fail graph on test page to multi bar chart
graph. I think this is better than the historical bar chart. But the
header of the tooltip is not correct when the flag of
chart.useInteractiveGudeline(true) due to this issue[1]. So I just set
it false as a workaround. We may need to set it true if we want to see
in one tooltip for each data.
[1] https://github.com/novus/nvd3/pull/1722
Closes-Bug: #1611105
Change-Id: I9e418b77eb03956be16de45df701ae94ea762cde
This commit adds page title updates to the job and test pages using
the pageTitleService. Currently these pages only show "Job" or "Test"
in the title bar, but this sets the title to "Job: current-job" or
"Test: current-test" depending on the current page.
Change-Id: I8bae8d6e47cdcfbdef18314d20b4d313f7e2e5ca
Closes-Bug: #1614076
This commit adds a link to the grouped run page for the node providers
on the list of recent runs at the bottom of the per run page. Before it
was just the text, but since we do have a view for node_providers we
should link to it.
Change-Id: I318a393c7488df9a0b5fcab91ce998d71535372f
This commit adds a new table to the per test page which shows all the
runs which have failed in the current view. This is useful for
debugging spikes in failures on the pass fail graph.
Change-Id: Idc8c5d41467ac0302a4e8a256e64af1bb73cae24
This commit adds a table to the bottom of the per test page that
details the total counts and percentages by status for a particular
test over the selected time window. While the area plot is good to
visualize this overtime, it's not good for figuring out aggregate
data, which is where the table is useful.
Change-Id: I58b0d834fb8e7d74ce1aa7a8020f54a238995ba4
It's been almost a year since we started openstack-health, and most of
the bugs and/or missing features from nvd3 have been addressed. This
commit moves us onto the nvd3 releases and packages instead of using
a random git snapshot from Oct. 2015.
Change-Id: Ibfefe310fbad1d80f4c7ec96bda083d97a09824e
This commit replaces the loading bar to the nprogress. It is fancier
than the original one. And this new loading bar have the ability to
inform users about the true progress. So we might be able to implement
a better progress bar mechanism in the future.
Change-Id: If3b4ef66759e96c6807bd6aea150c21ffb3f95d1
This commit add regex filters to the job page graphs. The graph's regex
filter was introduced in the home/group page. However, I forgot to care
about the job page at that time.
Change-Id: If4bcebda66d83a26b9ef16429e1fca17ffedd918
Closes-Bug: #1590059
Currently, the crumb menu's parent page detection is broken on the
tests detail page following the split of the original tests page into
'tests' and 'testsDetail', causing it to mistakenly show 'Overview'
instead of 'Tests'. This updates the crumb menu's view code to
additionally check for the 'testsDetail' state.
A new filter, 'anyState', is also added to provide the necessary
functionality, since angular's own conditionals don't work in this
context.
Change-Id: I758f8230442607150c59be3b83ac7586679047ec
This commit add regex filters to the group page graphs. The graph's
regex filter was introduced in the home page. However, we didn't care
about the group page at that time.
Change-Id: Id16e745ff3eff256be06829f65bd711041d20fe2
Closes-Bug: #1590059
This redesigns the failed tests panel, replacing the panel/accordion
group/table combination with a flat table that should be much easier
to extend. This also adds a new 'nest' directive to better support
dynamic hiding/showing of content. The directive is able to insert
nested content as a sibling of any normal data row, allowing for
more consistent layouts.
Change-Id: Ic0ad498049ca0f008fbcecb1dbbac3c48ab9cb41
This commit adds css classes for the feedback link to emphasize when it
is on graphs. And this also fixes the issue that the fixed navbar class
absorbs click events at the bottom of the screen.
Change-Id: If39e0cc52a31f67590a459af4db007e3b8888511
Currently, page state parameters like 'end', 'resolutionKey', and
'groupKey' are sync'd to the page URL on every page change
unconditionally. This results in a lot of unnecessary information that
we can assume by default until a user actually requests a different
value.
This patch modifies the current parameter sync implementation so that
it only maintains page parameters after their initial values have been
explicitly set by a user, and assumes default values otherwise. In
most cases, this should significantly shorten shared URL length.
Change-Id: Ife271444817bdfa8d19c0b69ca6039c5c7c290db
Closes-Bug: #1572766