Martin Peřina has submitted this change and it was merged.
Change subject: core: Monitor action executions with hystrix
......................................................................
core: Monitor action executions with hystrix
Wrap all action executions into synchronous hystrix commands.
This allows easy live monitoring of all actions.
The hystrix event stream servlet is listening on
http://<host>/ovirt-engine/services/hystrix.stream
Hystrix monitoring is disabled by default. It first needs to be enabled with
engine-setup -s HystrixMonitoringEnabled=true
and a restart of the engine is required.
Afterwards it can be controlled with JMX MXBean methods:
HystrixCommandController#monitor*('true')
Also more fine grained control on which commands should be monitored is
possible in the JMX bean.
To get a nice monitoring dashboard use hystrix-dashboard and point it to
the hystrix stream url. The url is protected with basic auth, like the
rest api. Hystrix dashboard requires the basic auth parameters to be
provided in encoded form. If your credentials are admin@internal:engine
you have to provide 'Basic YWRtaW5AaW50ZXJuYWw6ZW5naW5l'
Benefits are:
* Easier verification while implementing features, because failing
commands are immediately visible on the dashboard.
* Easier verification for QA because of the same reason.
* Immediate insights in what is going on inside the application for our
solution architects and support when customers are facing problems.
Bug-Url:
https://bugzilla.redhat.com/1347628
Change-Id: Ie2d70707b6f5d72fdcf8457ea74fad30c75d7170
Signed-off-by: Roman Mohr <rmohr(a)redhat.com>
---
M backend/manager/dependencies/common/pom.xml
A backend/manager/dependencies/common/src/main/modules/com/netflix/config/main/module.xml
A
backend/manager/dependencies/common/src/main/modules/com/netflix/hystrix/contrib/main/module.xml
A
backend/manager/dependencies/common/src/main/modules/com/netflix/hystrix/main/module.xml
A
backend/manager/dependencies/common/src/main/modules/io/reactivex/rxjava/main/module.xml
M backend/manager/modules/bll/pom.xml
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendActionExecutor.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendActionExecutorFactory.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendQueryExecutor.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/CommandControllerMXBean.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/DefaultBackendActionExecutor.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/DefaultBackendQueryExecutor.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixBackendActionExecutor.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixCommandController.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixSettings.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
M
backend/manager/modules/common/src/main/modules/org/ovirt/engine/core/common/main/module.xml
M backend/manager/modules/services/pom.xml
A
backend/manager/modules/services/src/main/java/org/ovirt/engine/core/services/HystrixServlet.java
M backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml
A
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/executor/CommandController.java
M backend/manager/modules/vdsbroker/pom.xml
M ear/src/main/application/META-INF/jboss-deployment-structure.xml
M ovirt-engine.spec.in
M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
M packaging/etc/engine-config/engine-config.properties
M pom.xml
28 files changed, 535 insertions(+), 4 deletions(-)
Approvals:
Roman Mohr: Verified
Jenkins CI: Passed CI tests
Roy Golan: Looks good to me, approved
--
To view, visit
https://gerrit.ovirt.org/46890
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie2d70707b6f5d72fdcf8457ea74fad30c75d7170
Gerrit-PatchSet: 32
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roman Mohr <rmohr(a)redhat.com>
Gerrit-Reviewer: Arik Hadas <ahadas(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Peřina <mperina(a)redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Moti Asayag <masayag(a)redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourfali(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Ravi Nori <rnori(a)redhat.com>
Gerrit-Reviewer: Roman Mohr <rmohr(a)redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan(a)redhat.com>
Gerrit-Reviewer: Sandro Bonazzola <sbonazzo(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>