Class: Google::Api::Quota

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/api/quota.rb

Overview

Quota configuration helps to achieve fairness and budgeting in service usage.

The metric based quota configuration works this way:

  • The service configuration defines a set of metrics.
  • For API calls, the quota.metric_rules maps methods to metrics with corresponding costs.
  • The quota.limits defines limits on the metrics, which will be used for quota checks at runtime.

An example quota configuration in yaml format:

quota: limits:

 - name: apiWriteQpsPerProject
   metric: library.googleapis.com/write_calls
   unit: "1/min/\\{project}"  # rate limit for consumer projects
   values:
     STANDARD: 10000


 (The metric rules bind all methods to the read_calls metric,
  except for the UpdateBook and DeleteBook methods. These two methods
  are mapped to the write_calls metric, with the UpdateBook method
  consuming at twice rate as the DeleteBook method.)
 metric_rules:
 - selector: "*"
   metric_costs:
     library.googleapis.com/read_calls: 1
 - selector: google.example.library.v1.LibraryService.UpdateBook
   metric_costs:
     library.googleapis.com/write_calls: 2
 - selector: google.example.library.v1.LibraryService.DeleteBook
   metric_costs:
     library.googleapis.com/write_calls: 1

Corresponding Metric definition:

 metrics:
 - name: library.googleapis.com/read_calls
   display_name: Read requests
   metric_kind: DELTA
   value_type: INT64

 - name: library.googleapis.com/write_calls
   display_name: Write requests
   metric_kind: DELTA
   value_type: INT64

Instance Attribute Summary collapse

Instance Attribute Details

#limits::Array<::Google::Api::QuotaLimit>

Returns List of QuotaLimit definitions for the service.

Returns:



78
79
80
81
# File 'proto_docs/google/api/quota.rb', line 78

class Quota
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods
end

#metric_rules::Array<::Google::Api::MetricRule>

Returns List of MetricRule definitions, each one mapping a selected method to one or more metrics.

Returns:

  • (::Array<::Google::Api::MetricRule>)

    List of MetricRule definitions, each one mapping a selected method to one or more metrics.



78
79
80
81
# File 'proto_docs/google/api/quota.rb', line 78

class Quota
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods
end