GitHub user rashmidixit opened a pull request:
https://github.com/apache/cloudstack/pull/1884
Add global setting for enable/disable Metrics feature
The Metrics view for each type of entity basically fires APIs and
calculates required values on the client end. For e.g. to display memory usage
etc at the zone level, it will fetch all zones. For each zone it will fetch
pods->cluster->host->VMs
For a very large Cloudstack installation this will have a major impact on
the performance.
Ideally, there should be an API which calculates all metrics in the backend
and the UI should simply show the values. However, for the time, introduce a
global setting called enable.metrics which will be set to false. This will
cause the metrics button not to be shown on any of the pages.
If the Admin changes this to true, then the button will be visible and
Metrics functionality will work as usual.
In this pull request, have also added JUnit test case for listCapabilities
API.
Additionally added a test case in marvin called test_global_settings as
part of the smoke tests which test the output of the listCapabilities API and
checks if this setting is present or not.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Accelerite/cloudstack CLOUDSTACK-9699
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1884.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1884
----
commit 9be96c2454553ed2f85cc8097837caed0fe3756e
Author: Rashmi Dixit <[email protected]>
Date: 2016-05-26T04:31:37Z
CLOUDSTACK-9699: Add new setting to enable/disable metrics for console
Reviewed-By: Radhika Grover & Koushik Das
Added a new global setting called enable.metrics.ui (default false) which
allows the metrics button to be enabled/disabled in the UI. Note that
when false, the metrics button is not visible at all. This feature
has been introduced because metrics feature is not optimized and
will cause performance issues in large deployments.
Conflicts:
api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
server/src/com/cloud/server/ManagementServerImpl.java
ui/scripts/cloudStack.js
ui/scripts/instances.js
ui/scripts/sharedFunctions.js
ui/scripts/storage.js
ui/scripts/system.js
commit c0cc5d6e3b0a79ae68d1e85d2ef5b4f4a4836c2a
Author: Rashmi Dixit <[email protected]>
Date: 2016-05-27T10:18:21Z
CLOUDSTACK-9699: Added test case for checking output of ListCapabilities API
and whether it includes enableMetrics parameter.
Reviewed-By Koushik Das, Sanjeev N
Added junit test case and marvin test case for testing updated
listCapabilities
API. The junit test case changes involved updating ResponseGenerator and
ApiResponseHelper to correctly build the response.
Conflicts:
api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
server/src/com/cloud/api/ApiResponseHelper.java
commit f5fb2c45d11a385050531c830a070d6d69006333
Author: Rashmi Dixit <[email protected]>
Date: 2016-05-26T04:31:37Z
CLOUDSTACK-9699: Add new setting to enable/disable metrics for console
Reviewed-By: Radhika Grover & Koushik Das
Added a new global setting called enable.metrics.ui (default false) which
allows the metrics button to be enabled/disabled in the UI. Note that
when false, the metrics button is not visible at all. This feature
has been introduced because metrics feature is not optimized and
will cause performance issues in large deployments.
Conflicts:
api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
server/src/com/cloud/server/ManagementServerImpl.java
ui/scripts/cloudStack.js
ui/scripts/instances.js
ui/scripts/sharedFunctions.js
ui/scripts/storage.js
ui/scripts/system.js
commit 6e13a963d4d9df4a1c7bf7ed47b17f01083db281
Author: rashmidixit <[email protected]>
Date: 2017-01-02T08:58:01Z
CLOUDSTACK-9699: Removed some extra code which was not required.
commit 49a5de8cb63e0676616f8af4d2006133b8edce28
Author: rashmidixit <[email protected]>
Date: 2017-01-02T09:15:12Z
Merge branch 'CLOUDSTACK-9699' of https://github.com/Accelerite/cloudstack
into CLOUDSTACK-9699
Conflicts:
api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
server/src/com/cloud/api/ApiResponseHelper.java
test/integration/smoke/test_global_settings.py
ui/scripts/cloudStack.js
ui/scripts/sharedFunctions.js
commit f6c748547c0846ec816c934e81c85a492c8492db
Author: rashmidixit <[email protected]>
Date: 2017-01-02T09:22:53Z
CLOUDSTACK-9699: Removed an incorrect comment.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---