Reference documentation and code samples for the Google API Common Protos Client class Quota.
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:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google API Common Protos Client - Class Quota (4.12.3)\n\nVersion latestkeyboard_arrow_down\n\n- [4.12.3 (latest)](/php/docs/reference/common-protos/latest/Api.Quota)\n- [4.12.2](/php/docs/reference/common-protos/4.12.2/Api.Quota)\n- [4.11.0](/php/docs/reference/common-protos/4.11.0/Api.Quota)\n- [4.10.0](/php/docs/reference/common-protos/4.10.0/Api.Quota)\n- [4.9.0](/php/docs/reference/common-protos/4.9.0/Api.Quota)\n- [4.8.3](/php/docs/reference/common-protos/4.8.3/Api.Quota) \nReference documentation and code samples for the Google API Common Protos Client class Quota.\n\nQuota configuration helps to achieve fairness and budgeting in service\nusage.\n\nThe metric based quota configuration works this way:\n\n- The service configuration defines a set of metrics.\n- For API calls, the quota.metric_rules maps methods to metrics with corresponding costs.\n- 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:\n - 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:\n - selector: \"\\*\" metric_costs: library.googleapis.com/read_calls: 1\n - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2\n - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics:\n - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64\n - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64\n\nGenerated from protobuf message `google.api.Quota`\n\nNamespace\n---------\n\nGoogle \\\\ Api\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getLimits\n\nList of QuotaLimit definitions for the service.\n\n### setLimits\n\nList of QuotaLimit definitions for the service.\n\n### getMetricRules\n\nList of MetricRule definitions, each one mapping a selected method to one\nor more metrics.\n\n### setMetricRules\n\nList of MetricRule definitions, each one mapping a selected method to one\nor more metrics."]]