fix incorrect prometheus metrics

fix left incorrect metrics
pull/564/head
andyzhangx 2019-05-09 08:54:19 +00:00
parent 46d8155f3d
commit 59a898670f
2 changed files with 37 additions and 67 deletions

View File

@ -193,12 +193,11 @@ func (az *azVirtualMachinesClient) CreateOrUpdate(ctx context.Context, resourceG
mc := newMetricContext("vm", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, VMName, parameters)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azVirtualMachinesClient) Get(ctx context.Context, resourceGroupName string, VMName string, expand compute.InstanceViewTypes) (result compute.VirtualMachine, err error) {
@ -288,13 +287,11 @@ func (az *azInterfacesClient) CreateOrUpdate(ctx context.Context, resourceGroupN
mc := newMetricContext("interfaces", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, networkInterfaceName, parameters)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azInterfacesClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result network.Interface, err error) {
@ -370,14 +367,12 @@ func (az *azLoadBalancersClient) CreateOrUpdate(ctx context.Context, resourceGro
mc := newMetricContext("load_balancers", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, loadBalancerName, parameters)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azLoadBalancersClient) Delete(ctx context.Context, resourceGroupName string, loadBalancerName string) (resp *http.Response, err error) {
@ -394,14 +389,12 @@ func (az *azLoadBalancersClient) Delete(ctx context.Context, resourceGroupName s
mc := newMetricContext("load_balancers", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, loadBalancerName)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azLoadBalancersClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result network.LoadBalancer, err error) {
@ -490,14 +483,12 @@ func (az *azPublicIPAddressesClient) CreateOrUpdate(ctx context.Context, resourc
mc := newMetricContext("public_ip_addresses", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, publicIPAddressName, parameters)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azPublicIPAddressesClient) Delete(ctx context.Context, resourceGroupName string, publicIPAddressName string) (resp *http.Response, err error) {
@ -514,14 +505,12 @@ func (az *azPublicIPAddressesClient) Delete(ctx context.Context, resourceGroupNa
mc := newMetricContext("public_ip_addresses", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, publicIPAddressName)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azPublicIPAddressesClient) Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (result network.PublicIPAddress, err error) {
@ -610,13 +599,11 @@ func (az *azSubnetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName
mc := newMetricContext("subnets", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, virtualNetworkName, subnetName, subnetParameters)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azSubnetsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (resp *http.Response, err error) {
@ -634,13 +621,11 @@ func (az *azSubnetsClient) Delete(ctx context.Context, resourceGroupName string,
mc := newMetricContext("subnets", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, virtualNetworkName, subnetName)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azSubnetsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result network.Subnet, err error) {
@ -672,8 +657,8 @@ func (az *azSubnetsClient) List(ctx context.Context, resourceGroupName string, v
mc := newMetricContext("subnets", "list", resourceGroupName, az.client.SubscriptionID)
iterator, err := az.client.ListComplete(ctx, resourceGroupName, virtualNetworkName)
mc.Observe(err)
if err != nil {
mc.Observe(err)
return nil, err
}
@ -729,13 +714,11 @@ func (az *azSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceGr
mc := newMetricContext("security_groups", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, networkSecurityGroupName, parameters)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azSecurityGroupsClient) Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (resp *http.Response, err error) {
@ -753,13 +736,11 @@ func (az *azSecurityGroupsClient) Delete(ctx context.Context, resourceGroupName
mc := newMetricContext("security_groups", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, networkSecurityGroupName)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azSecurityGroupsClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (result network.SecurityGroup, err error) {
@ -982,14 +963,12 @@ func (az *azVirtualMachineScaleSetVMsClient) Update(ctx context.Context, resourc
mc := newMetricContext("vmssvm", "update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Update(ctx, resourceGroupName, VMScaleSetName, instanceID, parameters)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
// azRoutesClient implements RoutesClient.
@ -1032,13 +1011,11 @@ func (az *azRoutesClient) CreateOrUpdate(ctx context.Context, resourceGroupName
mc := newMetricContext("routes", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, routeTableName, routeName, routeParameters)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azRoutesClient) Delete(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (resp *http.Response, err error) {
@ -1056,13 +1033,11 @@ func (az *azRoutesClient) Delete(ctx context.Context, resourceGroupName string,
mc := newMetricContext("routes", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, routeTableName, routeName)
if err != nil {
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
// azRouteTablesClient implements RouteTablesClient.
@ -1104,14 +1079,12 @@ func (az *azRouteTablesClient) CreateOrUpdate(ctx context.Context, resourceGroup
mc := newMetricContext("route_tables", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, routeTableName, parameters)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azRouteTablesClient) Get(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (result network.RouteTable, err error) {
@ -1174,8 +1147,7 @@ func (az *azStorageAccountClient) Create(ctx context.Context, resourceGroupName
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azStorageAccountClient) Delete(ctx context.Context, resourceGroupName string, accountName string) (result autorest.Response, err error) {
@ -1284,14 +1256,12 @@ func (az *azDisksClient) CreateOrUpdate(ctx context.Context, resourceGroupName s
mc := newMetricContext("disks", "create_or_update", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, diskName, diskParameter)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azDisksClient) Delete(ctx context.Context, resourceGroupName string, diskName string) (resp *http.Response, err error) {
@ -1308,14 +1278,12 @@ func (az *azDisksClient) Delete(ctx context.Context, resourceGroupName string, d
mc := newMetricContext("disks", "delete", resourceGroupName, az.client.SubscriptionID)
future, err := az.client.Delete(ctx, resourceGroupName, diskName)
mc.Observe(err)
if err != nil {
return future.Response(), err
return future.Response(), mc.Observe(err)
}
err = future.WaitForCompletionRef(ctx, az.client.Client)
mc.Observe(err)
return future.Response(), err
return future.Response(), mc.Observe(err)
}
func (az *azDisksClient) Get(ctx context.Context, resourceGroupName string, diskName string) (result compute.Disk, err error) {

View File

@ -50,12 +50,14 @@ func newMetricContext(prefix, request, resourceGroup, subscriptionID string) *me
}
}
func (mc *metricContext) Observe(err error) {
func (mc *metricContext) Observe(err error) error {
apiMetrics.latency.WithLabelValues(mc.attributes...).Observe(
time.Since(mc.start).Seconds())
if err != nil {
apiMetrics.errors.WithLabelValues(mc.attributes...).Inc()
}
return err
}
func registerAPIMetrics(attributes ...string) *apiCallMetrics {