【无标题】

package com.ping;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ping.pojo.*;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestClient {
    @Test
    void sendGetUtil(){
        HeadBean headBean =  HeadBean.getHeadBean("5e6e83881aca4888a70dff6a0282509f","mingtu","yanglin1997","mingtu");
        //HeadBean headBean = new HeadBean("5e6e83881aca4888a70dff6a0282509f","mingtu","yanglin1997","mingtu");
        String str = JSONObject.toJSONString(headBean);
        System.out.println(str);

        //获取token
        String getTokenUrl = "https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens";
        String token = HttpClientUtils.sendPostString(getTokenUrl, str);
        //System.out.println(token);

        //获取所有的指标
        String project_id = "5e6e83881aca4888a70dff6a0282509f";
        String getMetricsUrl = "https://ces.cn-north-1.myhuaweicloud.com/V1.0/"+project_id+"/metrics";
        String jsonStr = HttpClientUtils.sendGet(token, getMetricsUrl, null);
        //System.out.println(jsonStr);

        //获取指定的名称的指标
        /* String namespace = "SYS.DCS";
        List<String> metricsList = new ArrayList<>();
        metricsList.add("used_memory_rss");
        metricsList.add("used_memory_lua");

        for (String metric_name:metricsList) {
            Map<String,String> map = new HashMap<>();
            map.put("namespace",namespace);
            map.put("metric_name",metric_name);
            String jsonStr2 = HttpClientUtils.sendGet(token, getMetricsUrl, map);
            System.out.println(jsonStr2);

            JSONObject jsonObject = JSON.parseObject(jsonStr2);
            System.out.println(jsonObject);
        }*/

//        List<Metrics> metricsList = JSON.parseArray(JSON.parseObject(jsonStr).getString("metrics"), Metrics.class);
//        System.out.println(metricsList.size());
//        System.out.println(metricsList.toString());
//        for (Metrics metrics: metricsList) {
//            metrics.setUnit(null);
//
//            Map<String,String> map = new HashMap<>();
//            map.put("namespace",metrics.getNamespace());
//            map.put("metric_name",metrics.getMetric_name());
//
//            System.out.println(metrics.getMetric_name());
//            System.out.println(metrics.getDimensionsList().size());
//
//            List<Dimensions> dimensionsList = metrics.getDimensionsList();
//            for (Dimensions dimensions : dimensionsList){
//                String dim = dimensions.getName() + "," + dimensions.getValue();
//                map.put("dim.0",dim);
//            }
//            map.put("from","1636367858296");
//            map.put("to","1636368858296");
//            map.put("period","1");
//            map.put("filter","average");
//
//            String getMetricsUrlDate = "https://ces.cn-north-1.myhuaweicloud.com/V1.0/5e6e83881aca4888a70dff6a0282509f/metric-data";
//            String getMetricsList = HttpClientUtils.sendGet(token, getMetricsUrlDate, map);
//            System.out.println(getMetricsList);
//        }
//        System.out.println("================");

        String getMetricsUrlDate = "https://ces.cn-north-1.myhuaweicloud.com/V1.0/5e6e83881aca4888a70dff6a0282509f/metric-data";
        Map<String,String> map = new HashMap<>();
        map.put("namespace","SYS.DCS");
        map.put("metric_name","used_memory_peak");
        map.put("dim.0","dcs_instance_id,6bbe0978-ba76-4658-8b19-a0c6d6aecc76");
        map.put("from","1636367858296");
        map.put("to","1636368858296");
        map.put("period","1");
        map.put("filter","average");
        String getMetricsList = HttpClientUtils.sendGet(token, getMetricsUrlDate, map);
        System.out.println(getMetricsList);
    }
}
public class Auth {

    private Identity identity;
    private Scope scope;
    public void setIdentity(Identity identity) {
        this.identity = identity;
    }
    public Identity getIdentity() {
        return identity;
    }

    public void setScope(Scope scope) {
        this.scope = scope;
    }
    public Scope getScope() {
        return scope;
    }

}
public class Dimensions {
    private String name;
    private String value;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
public class Domain {

    private String name;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }

}
public class HeadBean {
    private Auth auth;
    public void setAuth(Auth auth) {
        this.auth = auth;
    }
    public Auth getAuth() {
        return auth;
    }

    public static HeadBean getHeadBean(String projectId,String userName,String userPassword,String domainName){
        HeadBean headBean = new HeadBean();
        Project project = new Project();
        project.setId(projectId);
        Scope scope = new Scope();
        scope.setProject(project);

        Domain domain = new Domain();
        domain.setName(domainName);

        User user = new User();
        user.setName(userName);
        user.setPassword(userPassword);
        user.setDomain(domain);

        Password password = new Password();
        password.setUser(user);

        ArrayList<String> list = new ArrayList<String>();
        list.add("password");

        Identity identity = new Identity();
        identity.setMethods(list);
        identity.setPassword(password);

        Auth auth = new Auth();
        auth.setIdentity(identity);
        auth.setScope(scope);

        headBean.setAuth(auth);
        return headBean;
    }
}
public class Identity {

    private List<String> methods;
    private Password password;
    public void setMethods(List<String> methods) {
        this.methods = methods;
    }
    public List<String> getMethods() {
        return methods;
    }

    public void setPassword(Password password) {
        this.password = password;
    }
    public Password getPassword() {
        return password;
    }

}
public class Metrics {
    private String unit;
    private String metric_name;
    private String namespace;
    private List<Dimensions> dimensionsList;

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getMetric_name() {
        return metric_name;
    }

    public void setMetric_name(String metric_name) {
        this.metric_name = metric_name;
    }

    public String getNamespace() {
        return namespace;
    }

    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }

    public List<Dimensions> getDimensionsList() {
        return dimensionsList;
    }

    public void setDimensionsList(List<Dimensions> dimensionsList) {
        this.dimensionsList = dimensionsList;
    }
}
public class Password {

    private User user;
    public void setUser(User user) {
        this.user = user;
    }
    public User getUser() {
        return user;
    }

}
public class Project {

    private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}
public class Scope {

    private Project project;
    public void setProject(Project project) {
        this.project = project;
    }
    public Project getProject() {
        return project;
    }
}
public class User {

    private String name;
    private String password;
    private Domain domain;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    public String getPassword() {
        return password;
    }

    public void setDomain(Domain domain) {
        this.domain = domain;
    }
    public Domain getDomain() {
        return domain;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值