cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9699) Metrics: Add a global setting to enable/disable Metrics view
Date Fri, 06 Jan 2017 22:48:58 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15806037#comment-15806037
] 

ASF GitHub Bot commented on CLOUDSTACK-9699:
--------------------------------------------

Github user jburwell commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1884#discussion_r95032496
  
    --- Diff: api/test/org/apache/cloudstack/api/command/test/ListCapabilitiesCmdTest.java
---
    @@ -0,0 +1,80 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.test;
    +
    +
    +import com.cloud.server.ManagementService;
    +import com.cloud.utils.Pair;
    +import junit.framework.Assert;
    +import junit.framework.TestCase;
    +import org.apache.cloudstack.api.ResponseGenerator;
    +import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd;
    +import org.apache.cloudstack.api.command.user.config.ListCapabilitiesCmd;
    +import org.apache.cloudstack.api.response.CapabilitiesResponse;
    +import org.apache.cloudstack.api.response.ConfigurationResponse;
    +import org.apache.cloudstack.api.response.ListResponse;
    +import org.apache.cloudstack.config.Configuration;
    +import org.junit.Before;
    +import org.junit.Test;
    +import org.mockito.Mockito;
    +
    +import java.util.ArrayList;
    +import java.util.HashMap;
    +import java.util.List;
    +import java.util.Map;
    +
    +public class ListCapabilitiesCmdTest extends TestCase {
    +
    +    private ListCapabilitiesCmd listCapabilitiesCmd;
    +    private ManagementService mgr;
    +    private ResponseGenerator responseGenerator;
    +
    +    @Override
    +    @Before
    +    public void setUp() {
    +        responseGenerator = Mockito.mock(ResponseGenerator.class);
    +        mgr = Mockito.mock(ManagementService.class);
    +        listCapabilitiesCmd = new ListCapabilitiesCmd();
    +    }
    +
    +    @Test
    +    public void testCreateSuccess() {
    +
    +        listCapabilitiesCmd._mgr = mgr;
    +        listCapabilitiesCmd._responseGenerator = responseGenerator;
    +
    +        Map<String, Object> result = new HashMap<String, Object>();
    +
    +        try {
    +            Mockito.when(mgr.listCapabilities(listCapabilitiesCmd)).thenReturn(result);
    +        } catch (Exception e) {
    +            Assert.fail("Received exception when success expected " + e.getMessage());
    +        }
    --- End diff --
    
    Why not perform lines 58-67 in in `setUp`?  Not only would this approach focus this method
on the test operations, but remove the need for unnecessary class-level attributes.
    
    Also, catching exceptions is not required because JUnit will automatically fail when exceptions
are thrown.  If there are checked exceptions, add them to the `throws` of the test method
to keep test methods as succinct as possible.


> Metrics: Add a global setting to enable/disable Metrics view
> ------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9699
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9699
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: UI
>    Affects Versions: 4.7.0, 4.8.0, 4.9.0
>            Reporter: Rashmi Dixit
>            Assignee: Rashmi Dixit
>             Fix For: 4.10.0.0
>
>         Attachments: enable-metrics-flag.PNG, metrics-disabled.PNG, metrics-enabled.PNG
>
>
> 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 this 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message