Issue-id: OCS-9
[msb/apigateway.git] / msb-core / apiroute / apiroute-service / src / main / java / org / openo / msb / api / MetricsInfo.java
1 /**
2  * Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.openo.msb.api;
17
18
19
20 import lombok.AllArgsConstructor;
21 import lombok.Data;
22 import lombok.NoArgsConstructor;
23
24 import com.fasterxml.jackson.annotation.JsonProperty;
25
26 @Data
27 @NoArgsConstructor
28 @AllArgsConstructor
29 public class MetricsInfo{
30         private Gauges gauges;
31         private Timers timers;
32 }
33
34 @Data
35 @NoArgsConstructor
36 @AllArgsConstructor
37 class Gauges {
38         
39         @JsonProperty("jvm.attribute.uptime") 
40         private JVMMetrics jvm_attribute_uptime;
41         
42         @JsonProperty("jvm.memory.pools.Eden-Space.usage") 
43         private JVMMetrics jvm_memory_pools_Eden_Space_usage;
44         
45         @JsonProperty("jvm.memory.pools.PS-Eden-Space.usage") 
46         private JVMMetrics jvm_memory_pools_PS_Eden_Space_usage;
47         
48         @JsonProperty("jvm.memory.pools.Perm-Gen.usage") 
49         private JVMMetrics jvm_memory_pools_Perm_Gen_usage;
50         
51         @JsonProperty("jvm.memory.pools.PS-Perm-Gen.usage")
52         private JVMMetrics jvm_memory_pools_PS_Perm_Gen_usage;
53         
54         @JsonProperty("jvm.memory.pools.Survivor-Space.usage")
55         private JVMMetrics jvm_memory_pools_Survivor_Space_usage;
56         
57         @JsonProperty("jvm.memory.pools.PS-Survivor-Space.usage")
58         private JVMMetrics jvm_memory_pools_PS_Survivor_Space_usage;
59         
60         @JsonProperty("jvm.memory.pools.Tenured-Gen.usage")
61         private JVMMetrics jvm_memory_pools_Tenured_Gen_usage;
62         
63         @JsonProperty("jvm.memory.pools.PS-Old-Gen.usage")
64         private JVMMetrics jvm_memory_pools_PS_Old_Gen_usage;
65         
66         @JsonProperty("jvm.memory.pools.Code-Cache.usage")
67         private JVMMetrics jvm_memory_pools_Code_Cache_usage;
68         
69         @JsonProperty("jvm.memory.heap.init")
70         private JVMMetrics jvm_memory_heap_init;
71         
72         @JsonProperty("jvm.memory.non-heap.init")
73         private JVMMetrics jvm_memory_non_heap_init;
74         
75         @JsonProperty("jvm.memory.heap.used")
76         private JVMMetrics jvm_memory_heap_used;
77         
78         @JsonProperty("jvm.memory.non-heap.used")
79         private JVMMetrics jvm_memory_non_heap_used;
80         
81         @JsonProperty("jvm.memory.heap.max")
82         private JVMMetrics jvm_memory_heap_max;
83         
84         @JsonProperty("jvm.threads.runnable.count")
85         private JVMMetrics jvm_threads_runnable_count;  
86         
87         @JsonProperty("jvm.threads.timed_waiting.count")
88         private JVMMetrics jvm_threads_timed_waiting_count;
89         
90         @JsonProperty("jvm.threads.waiting.count")
91         private JVMMetrics jvm_threads_waiting_count;
92         
93         @JsonProperty("jvm.threads.blocked.count")
94         private JVMMetrics jvm_threads_blocked_count;
95         
96         @JsonProperty("jvm.threads.count")
97         private JVMMetrics jvm_threads_count;
98         
99         
100         
101 }
102
103 @Data
104 @NoArgsConstructor
105 @AllArgsConstructor
106 class Timers{
107         
108         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.addApiRoute")
109         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_addApiRoute;
110         
111         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.deleteApiRoute")
112         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_deleteApiRoute;
113         
114         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.getApiDocs")
115         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_getApiDocs;
116         
117         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.getApiRoute")
118         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_getApiRoute;
119         
120         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.getApiRoutes")
121         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_getApiRoutes;
122         
123         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.getServerIP")
124         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_getServerIP;
125         
126         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.ApiRouteResource.updateApiRoute")
127         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_ApiRouteResource_updateApiRoute;
128         
129         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.IuiRouteResource.addIuiRoute")
130         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_IuiRouteResource_addIuiRoute;
131         
132         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.IuiRouteResource.deleteIuiRoute")
133         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_IuiRouteResource_deleteIuiRoute;
134         
135         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.IuiRouteResource.getIuiRoute")
136         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_IuiRouteResource_getIuiRoute;
137         
138         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.IuiRouteResource.getIuiRoutes")
139         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_IuiRouteResource_getIuiRoutes;
140         
141         @JsonProperty("com.zte.ums.nfv.eco.hsif.msb.resources.IuiRouteResource.updateIuiRoute")
142         private HttpMetrics com_zte_ums_nfv_eco_hsif_msb_resources_IuiRouteResource_updateIuiRoute;
143         
144         @JsonProperty("io.dropwizard.jetty.MutableServletContextHandler.get-requests")
145         private HttpMetrics io_dropwizard_jetty_MutableServletContextHandler_get_requests;
146         
147         @JsonProperty("io.dropwizard.jetty.MutableServletContextHandler.post-requests")
148         private HttpMetrics io_dropwizard_jetty_MutableServletContextHandler_post_requests;
149         
150         @JsonProperty("io.dropwizard.jetty.MutableServletContextHandler.put-requests")
151         private HttpMetrics io_dropwizard_jetty_MutableServletContextHandler_put_requests;
152         
153         @JsonProperty("io.dropwizard.jetty.MutableServletContextHandler.delete-requests")
154         private HttpMetrics io_dropwizard_jetty_MutableServletContextHandler_delete_requests;
155         
156         @JsonProperty("io.dropwizard.jetty.MutableServletContextHandler.other-requests")
157         private HttpMetrics io_dropwizard_jetty_MutableServletContextHandler_other_requests;
158         
159 }
160
161 @Data
162 @NoArgsConstructor
163 @AllArgsConstructor
164 class JVMMetrics{
165         private double value;
166 }
167
168 @Data
169 @NoArgsConstructor
170 @AllArgsConstructor
171 class HttpMetrics{
172         private int count;
173         private double max;
174         private double mean;
175         private double min;
176         private double p50;
177         private double p75;
178         private double p95;
179         private double p98;
180         private double p99;
181         private double p999;
182         private double stddev;
183         private double m15_rate;
184         private double m1_rate;
185         private double m5_rate;
186         private double mean_rate;
187         private String duration_units;
188         private String rate_units;
189 }
190
191