Understanding the monitoring.edgelq.com service APIv4, in proto package ntt.monitoring.v4.

Service monitoring.edgelq.com in version v4, proto package ntt.monitoring.v4

Here is the list of resources supported in Monitoring service APIv4:

Alert Resource

Alert Resource

Name patterns:

  • projects/{project}/regions/{region}/alertingPolicies/{alerting_policy}/alertingConditions/{alerting_condition}/alerts/{alert}

Parent resources:

This section covers the methods and messages to interact with Alert resource.

Alert Methods

Here is the list of Alert resource methods:

GetAlert Method

GetAlert

rpc GetAlert(GetAlertRequest) returns (Alert)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*/alerts/*} 

BatchGetAlerts Method

BatchGetAlerts

rpc BatchGetAlerts(BatchGetAlertsRequest) returns (BatchGetAlertsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.batchGet

The equivalent REST API is:

GET /v4/alerts:batchGet 

ListAlerts Method

ListAlerts

rpc ListAlerts(ListAlertsRequest) returns (ListAlertsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*/alertingPolicies/*/alertingConditions/*}/alerts 

WatchAlert Method

WatchAlert

rpc WatchAlert(WatchAlertRequest) returns (WatchAlertResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*/alerts/*}:watch 

WatchAlerts Method

WatchAlerts

rpc WatchAlerts(WatchAlertsRequest) returns (WatchAlertsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*/alertingConditions/*}/alerts:watch 

UpdateAlert Method

UpdateAlert

rpc UpdateAlert(UpdateAlertRequest) returns (Alert)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.update

The equivalent REST API is:

PUT /v4/{alert.name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*/alerts/*} (BODY: alert)

DeleteAlert Method

DeleteAlert

rpc DeleteAlert(DeleteAlertRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*/alerts/*} 

BulkCreateAlerts Method

BulkCreateAlerts

rpc BulkCreateAlerts(BulkCreateAlertsRequest) returns (BulkCreateAlertsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.bulkCreateAlerts

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*/alertingConditions/*}/alerts:bulkCreateAlerts 

BulkUpdateAlerts Method

BulkUpdateAlerts

rpc BulkUpdateAlerts(BulkUpdateAlertsRequest) returns (BulkUpdateAlertsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alerts.bulkUpdateAlerts

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*/alertingConditions/*}/alerts:bulkUpdateAlerts 

Alert Messages

Here is the list of Alert resource messages:

Alert Message

Name Type Description
name string (name of Alert) Name of Alert When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-zA-Z0-9_.:-]{1,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string
info Alert.Info
state Alert.State State of alert

Alert.Info Message

Name Type Description
time_serie Alert.Info.TimeSerie TimeSerie labels that violated condition. If Alert is for AlertingCondition using combine threshold, metric.type will be equal to primary metric indicated.
observed_values Alert.Info.ObservedValues observed time series values during alert creation

Alert.State Message

Name Type Description
is_firing bool
is_acknowledged bool
is_silenced bool
lifetime TimeRange describes in terms of time series when alert began and ended (resolved). uses Time Series derived timestamps, rather than real-time. use meta.create_time to get creation date.
needs_notification bool This alert needs to be notified
notification_created bool Notification resource is generated for this alert
lifecycle_completed bool Alert has ended and any needed notifications are processed

Alert.Info.TimeSerie Message

Name Type Description
key bytes
metric Metric
monitored_resource MonitoredResource
data repeated string Internal data for filtering…
bin_data repeated bytes

Alert.Info.ObservedValues Message

Name Type Description
example_value double oneof
per_metric map<string, double>

GetAlertRequest Message

A request message of the GetAlert method.

Name Type Description
name string (name of Alert) Name of ntt.monitoring.v4.Alert
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertsRequest Message

A request message of the BatchGetAlerts method.

Name Type Description
names repeated string (name of Alert) Names of Alerts
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertsResponse Message

A response message of the BatchGetAlerts method.

Name Type Description
alerts repeated Alert found Alerts
missing repeated string (name of Alert) list of not found Alerts

ListAlertsRequest Message

A request message of the ListAlerts method.

Name Type Description
parent string (parent name of Alert) Parent name of ntt.monitoring.v4.Alert
page_size int32 Requested page size. Server may return fewer Alerts than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Alert) A token identifying a page of results the server should return. Typically, this is the value of ListAlertsResponse.next_page_token.
order_by string (orderBy of Alert) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Alert) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListAlertsResponse Message

A response message of the ListAlerts method.

Name Type Description
alerts repeated Alert The list of Alerts
prev_page_token string (cursor of Alert) A token to retrieve previous page of results. Pass this value in the ListAlertsRequest.page_token.
next_page_token string (cursor of Alert) A token to retrieve next page of results. Pass this value in the ListAlertsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Alerts across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchAlertRequest Message

A request message of the WatchAlert method.

Name Type Description
name string (name of Alert) Name of ntt.monitoring.v4.Alert
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchAlertResponse Message

A response message of the WatchAlert method.

Name Type Description
change AlertChange

WatchAlertsRequest Message

A request message of the WatchAlerts method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of Alert) Parent name of ntt.monitoring.v4.Alert
page_size int32 Requested page size. Server may return fewer Alerts than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Alert) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Alert) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Alert) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Alert that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Alert that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchAlertsResponse Message

A response message of the WatchAlerts method.

Name Type Description
alert_changes repeated AlertChange Changes of Alerts
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Alerts will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchAlertsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Alerts will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchAlertsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Alert) New token to retrieve previous page of results.
next_page_token string (cursor of Alert) New token to retrieve next page of results.

UpdateAlertRequest Message

A request message of the UpdateAlert method.

Name Type Description
alert Alert Alert resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateAlertRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
response_mask UpdateAlertRequest.ResponseMask Optional masking applied to response object to reduce message response size.

UpdateAlertRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Alert Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateAlertRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteAlertRequest Message

A request message of the DeleteAlert method.

Name Type Description
name string (name of Alert) Name of ntt.monitoring.v4.Alert

BulkCreateAlertsRequest Message

A request message of the BulkCreateAlerts method.

Name Type Description
parent string (parent name of Alert) Parent name of ntt.monitoring.v4.Alert
alerts repeated Alert

BulkCreateAlertsResponse Message

A response message of the BulkCreateAlerts method.

Name Type Description
none none none

BulkUpdateAlertsRequest Message

A request message of the BulkUpdateAlerts method.

Name Type Description
parent string (parent name of Alert) Parent name of ntt.monitoring.v4.Alert
update_mask .google.protobuf.FieldMask
alerts repeated Alert

BulkUpdateAlertsResponse Message

A response message of the BulkUpdateAlerts method.

Name Type Description
none none none

AlertingCondition Resource

AlertingCondition Resource

Name patterns:

  • projects/{project}/regions/{region}/alertingPolicies/{alerting_policy}/alertingConditions/{alerting_condition}

Parent resources:

This section covers the methods and messages to interact with AlertingCondition resource.

AlertingCondition Methods

Here is the list of AlertingCondition resource methods:

GetAlertingCondition Method

GetAlertingCondition

rpc GetAlertingCondition(GetAlertingConditionRequest) returns (AlertingCondition)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*} 

BatchGetAlertingConditions Method

BatchGetAlertingConditions

rpc BatchGetAlertingConditions(BatchGetAlertingConditionsRequest) returns (BatchGetAlertingConditionsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.batchGet

The equivalent REST API is:

GET /v4/alertingConditions:batchGet 

ListAlertingConditions Method

ListAlertingConditions

rpc ListAlertingConditions(ListAlertingConditionsRequest) returns (ListAlertingConditionsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*/alertingPolicies/*}/alertingConditions 

WatchAlertingCondition Method

WatchAlertingCondition

rpc WatchAlertingCondition(WatchAlertingConditionRequest) returns (WatchAlertingConditionResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*}:watch 

WatchAlertingConditions Method

WatchAlertingConditions

rpc WatchAlertingConditions(WatchAlertingConditionsRequest) returns (WatchAlertingConditionsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*}/alertingConditions:watch 

CreateAlertingCondition Method

CreateAlertingCondition

rpc CreateAlertingCondition(CreateAlertingConditionRequest) returns (AlertingCondition)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.create

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*}/alertingConditions (BODY: alerting_condition)

UpdateAlertingCondition Method

UpdateAlertingCondition

rpc UpdateAlertingCondition(UpdateAlertingConditionRequest) returns (AlertingCondition)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.update

The equivalent REST API is:

PUT /v4/{alerting_condition.name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*} (BODY: alerting_condition)

DeleteAlertingCondition Method

DeleteAlertingCondition

rpc DeleteAlertingCondition(DeleteAlertingConditionRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/alertingPolicies/*/alertingConditions/*} 

SearchAlertingConditions Method

SearchAlertingConditions

rpc SearchAlertingConditions(SearchAlertingConditionsRequest) returns (SearchAlertingConditionsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingConditions.search

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*/alertingPolicies/*}/alertingConditions:search 

AlertingCondition Messages

Here is the list of AlertingCondition resource messages:

AlertingCondition Message

Name Type Description
name string (name of AlertingCondition) Name of AlertingCondition When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string Display Name
description string Long description
spec AlertingCondition.Spec
state AlertingCondition.State

AlertingCondition.Spec Message

Name Type Description
time_series AlertingCondition.Spec.TimeSeries
trigger AlertingCondition.Spec.Trigger

AlertingCondition.State Message

Name Type Description
firing_alerts_count int64

AlertingCondition.Spec.TimeSeries Message

Name Type Description
query AlertingCondition.Spec.TimeSeries.Query Time Series Query
threshold AlertingCondition.Spec.TimeSeries.Threshold Either specify single threshold or combine threshold, which allows to pair each metric value to their specific thresholds, e.g. distinguish mean (loss, latency, jitter) in single query. If combine threshold is used, alert will be triggered only when all thresholds are violated. Example use case: * Trigger alert when CPU utilization > … and uptime > … (so we dont alert during startup unnecessarily). Time series sharing same fields except metric.type are merged (originally determined by aggregation.groupByFields).
combine_threshold AlertingCondition.Spec.TimeSeries.CombineThreshold
duration .google.protobuf.Duration Duration describes length of time needed for the condition to trigger a new alert of resolve an existing one

AlertingCondition.Spec.Trigger Message

Name Type Description
type AlertingCondition.Spec.Trigger.Type

AlertingCondition.Spec.TimeSeries.Query Message

Name Type Description
filter string (filter of TimeSerie) Filter used for time-series.
selector TimeSeriesSelector Generated, filter-able selector, extracted from filter value. It will contain all extracted conditions for ‘==’ and ‘IN’ operators. It will exclude conditions for operators ‘!=’ and ‘NOT IN’. This allows filtering AlertingConditions by filter conditions.
aggregation Aggregation Time Series aggregation. In case of combine threshold, it is used by “main” metric.type, and additional metric types if overrides are not specified.
per_metric_aggregations map<string, Aggregation> If metric.type uses CombineThreshold and multiple metrics, it can provide extra per metric aggregation override. This cannot be specified for “main” metric.type. But be aware, AP and GroupByFields must be exactly same as in “aggregation” field.

AlertingCondition.Spec.TimeSeries.Threshold Message

Name Type Description
compare AlertingCondition.Spec.TimeSeries.Threshold.Compare Compare function specifies if observed value must be GreaterThan (GT) or LesserThan (LT) threshold value in order to trigger an alert. Example: for metric latency {compare: GT, value: 150} will trigger if actual latency is above 150ms.
value double threshold value

AlertingCondition.Spec.TimeSeries.CombineThreshold Message

Name Type Description
per_metric map<string, AlertingCondition.Spec.TimeSeries.Threshold> Per Metric threshold. If multiple metrics are selected each metric may specify a different threshold
main_metric_type string Primary metric.type for this condition. Although Alerts generated across multiple metric.type are possible, Alert instance has single “info.time_serie.metric.type” field path value.
per_metric_type_kv map<string, bytes> Internal per metric identifiers in binary key

GetAlertingConditionRequest Message

A request message of the GetAlertingCondition method.

Name Type Description
name string (name of AlertingCondition) Name of ntt.monitoring.v4.AlertingCondition
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertingConditionsRequest Message

A request message of the BatchGetAlertingConditions method.

Name Type Description
names repeated string (name of AlertingCondition) Names of AlertingConditions
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertingConditionsResponse Message

A response message of the BatchGetAlertingConditions method.

Name Type Description
alerting_conditions repeated AlertingCondition found AlertingConditions
missing repeated string (name of AlertingCondition) list of not found AlertingConditions

ListAlertingConditionsRequest Message

A request message of the ListAlertingConditions method.

Name Type Description
parent string (parent name of AlertingCondition) Parent name of ntt.monitoring.v4.AlertingCondition
page_size int32 Requested page size. Server may return fewer AlertingConditions than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of AlertingCondition) A token identifying a page of results the server should return. Typically, this is the value of ListAlertingConditionsResponse.next_page_token.
order_by string (orderBy of AlertingCondition) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of AlertingCondition) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListAlertingConditionsResponse Message

A response message of the ListAlertingConditions method.

Name Type Description
alerting_conditions repeated AlertingCondition The list of AlertingConditions
prev_page_token string (cursor of AlertingCondition) A token to retrieve previous page of results. Pass this value in the ListAlertingConditionsRequest.page_token.
next_page_token string (cursor of AlertingCondition) A token to retrieve next page of results. Pass this value in the ListAlertingConditionsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total AlertingConditions across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchAlertingConditionRequest Message

A request message of the WatchAlertingCondition method.

Name Type Description
name string (name of AlertingCondition) Name of ntt.monitoring.v4.AlertingCondition
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchAlertingConditionResponse Message

A response message of the WatchAlertingCondition method.

Name Type Description
change AlertingConditionChange

WatchAlertingConditionsRequest Message

A request message of the WatchAlertingConditions method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of AlertingCondition) Parent name of ntt.monitoring.v4.AlertingCondition
page_size int32 Requested page size. Server may return fewer AlertingConditions than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of AlertingCondition) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of AlertingCondition) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of AlertingCondition) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to AlertingCondition that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to AlertingCondition that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchAlertingConditionsResponse Message

A response message of the WatchAlertingConditions method.

Name Type Description
alerting_condition_changes repeated AlertingConditionChange Changes of AlertingConditions
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All AlertingConditions will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchAlertingConditionsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (AlertingConditions will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchAlertingConditionsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of AlertingCondition) New token to retrieve previous page of results.
next_page_token string (cursor of AlertingCondition) New token to retrieve next page of results.

CreateAlertingConditionRequest Message

A request message of the CreateAlertingCondition method.

Name Type Description
parent string (parent name of AlertingCondition) Parent name of ntt.monitoring.v4.AlertingCondition
alerting_condition AlertingCondition AlertingCondition resource body
response_mask CreateAlertingConditionRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateAlertingConditionRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateAlertingConditionRequest Message

A request message of the UpdateAlertingCondition method.

Name Type Description
alerting_condition AlertingCondition AlertingCondition resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateAlertingConditionRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateAlertingConditionRequest.ResponseMask reduce message response size.

UpdateAlertingConditionRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state AlertingCondition Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateAlertingConditionRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteAlertingConditionRequest Message

A request message of the DeleteAlertingCondition method.

Name Type Description
name string (name of AlertingCondition) Name of ntt.monitoring.v4.AlertingCondition

SearchAlertingConditionsRequest Message

A request message of the SearchAlertingConditions method.

Name Type Description
parent string (parent name of AlertingCondition) Parent name of ntt.monitoring.v4.AlertingCondition
page_size int32 Requested page size. Server may return fewer AlertingConditions than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of AlertingCondition) A token identifying a page of results the server should return. Typically, this is the value of SearchAlertingConditionsResponse.next_page_token.
order_by string (orderBy of AlertingCondition) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of AlertingCondition) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
phrase string Optional search phrase used to further filter results.

SearchAlertingConditionsResponse Message

A response message of the SearchAlertingConditions method.

Name Type Description
alerting_conditions repeated AlertingCondition The list of AlertingConditions
prev_page_token string (cursor of AlertingCondition) A token to retrieve previous page of results. Pass this value in the SearchAlertingConditionsRequest.page_token.
next_page_token string (cursor of AlertingCondition) A token to retrieve next page of results. Pass this value in the SearchAlertingConditionsRequest.page_token.
current_offset int32 Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request
total_results_count int32 Number of total AlertingConditions across all pages.

AlertingCondition Enumerations

Here is the list of AlertingCondition resource enumerations:

AlertingCondition.Spec.TimeSeries.Threshold.Compare Enumeration

Name Description
COMPARE_UNSPECIFIED
GT
LT

AlertingCondition.Spec.Trigger.Type Enumeration

Name Description
EACH Triggers on each unique TimeSeries label set violation

AlertingPolicy Resource

AlertingPolicy Resource

Name patterns:

  • projects/{project}/regions/{region}/alertingPolicies/{alerting_policy}

Parent resources:

This section covers the methods and messages to interact with AlertingPolicy resource.

AlertingPolicy Methods

Here is the list of AlertingPolicy resource methods:

GetAlertingPolicy Method

GetAlertingPolicy

rpc GetAlertingPolicy(GetAlertingPolicyRequest) returns (AlertingPolicy)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/alertingPolicies/*} 

BatchGetAlertingPolicies Method

BatchGetAlertingPolicies

rpc BatchGetAlertingPolicies(BatchGetAlertingPoliciesRequest) returns (BatchGetAlertingPoliciesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.batchGet

The equivalent REST API is:

GET /v4/alertingPolicies:batchGet 

ListAlertingPolicies Method

ListAlertingPolicies

rpc ListAlertingPolicies(ListAlertingPoliciesRequest) returns (ListAlertingPoliciesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*}/alertingPolicies 

WatchAlertingPolicy Method

WatchAlertingPolicy

rpc WatchAlertingPolicy(WatchAlertingPolicyRequest) returns (WatchAlertingPolicyResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/alertingPolicies/*}:watch 

WatchAlertingPolicies Method

WatchAlertingPolicies

rpc WatchAlertingPolicies(WatchAlertingPoliciesRequest) returns (WatchAlertingPoliciesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/alertingPolicies:watch 

CreateAlertingPolicy Method

CreateAlertingPolicy

rpc CreateAlertingPolicy(CreateAlertingPolicyRequest) returns (AlertingPolicy)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.create

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/alertingPolicies (BODY: alerting_policy)

UpdateAlertingPolicy Method

UpdateAlertingPolicy

rpc UpdateAlertingPolicy(UpdateAlertingPolicyRequest) returns (AlertingPolicy)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.update

The equivalent REST API is:

PUT /v4/{alerting_policy.name=projects/*/regions/*/alertingPolicies/*} (BODY: alerting_policy)

DeleteAlertingPolicy Method

DeleteAlertingPolicy

rpc DeleteAlertingPolicy(DeleteAlertingPolicyRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/alertingPolicies/*} 

SearchAlertingPolicies Method

SearchAlertingPolicies

rpc SearchAlertingPolicies(SearchAlertingPoliciesRequest) returns (SearchAlertingPoliciesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/alertingPolicies.search

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*}/alertingPolicies:search 

AlertingPolicy Messages

Here is the list of AlertingPolicy resource messages:

AlertingPolicy Message

Name Type Description
name string (name of AlertingPolicy) Name of AlertingPolicy When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string display name
description string Long description
documentation AlertingPolicy.Documentation
spec AlertingPolicy.Spec Spec
state AlertingPolicy.State

AlertingPolicy.Documentation Message

Documentation

Name Type Description
content string Documentation content
mime_type string documentation mime type. Only "text/markdown" is supported.

AlertingPolicy.Spec Message

Name Type Description
enabled bool Whether policy is enabled and will evaluate any conditions Note: If any existing fired alerts are present, they will not be resolved automatically TODO: consider if they should?
condition_combiner AlertingPolicy.Spec.ConditionsCombiner Condition Combiner when deciding if ANY (OR) or ALL (AND) conditions for given subset of resource labels must fire in order to trigger an alert TODO: Add support to AND
notification AlertingPolicy.Spec.Notification Notification specification

AlertingPolicy.State Message

Name Type Description
active_alerts_count int64 Number of ongoing alerts (incident has not ended)

AlertingPolicy.Spec.Notification Message

Notification specification for a given Policy

Name Type Description
enabled bool Enabled flag determines whether any notifications will be sent
channels repeated string (reference to NotificationChannel)

GetAlertingPolicyRequest Message

A request message of the GetAlertingPolicy method.

Name Type Description
name string (name of AlertingPolicy) Name of ntt.monitoring.v4.AlertingPolicy
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertingPoliciesRequest Message

A request message of the BatchGetAlertingPolicies method.

Name Type Description
names repeated string (name of AlertingPolicy) Names of AlertingPolicies
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetAlertingPoliciesResponse Message

A response message of the BatchGetAlertingPolicies method.

Name Type Description
alerting_policies repeated AlertingPolicy found AlertingPolicies
missing repeated string (name of AlertingPolicy) list of not found AlertingPolicies

ListAlertingPoliciesRequest Message

A request message of the ListAlertingPolicies method.

Name Type Description
parent string (parent name of AlertingPolicy) Parent name of ntt.monitoring.v4.AlertingPolicy
page_size int32 Requested page size. Server may return fewer AlertingPolicies than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of AlertingPolicy) A token identifying a page of results the server should return. Typically, this is the value of ListAlertingPoliciesResponse.next_page_token.
order_by string (orderBy of AlertingPolicy) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of AlertingPolicy) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListAlertingPoliciesResponse Message

A response message of the ListAlertingPolicies method.

Name Type Description
alerting_policies repeated AlertingPolicy The list of AlertingPolicies
prev_page_token string (cursor of AlertingPolicy) A token to retrieve previous page of results. Pass this value in the ListAlertingPoliciesRequest.page_token.
next_page_token string (cursor of AlertingPolicy) A token to retrieve next page of results. Pass this value in the ListAlertingPoliciesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total AlertingPolicies across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchAlertingPolicyRequest Message

A request message of the WatchAlertingPolicy method.

Name Type Description
name string (name of AlertingPolicy) Name of ntt.monitoring.v4.AlertingPolicy
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchAlertingPolicyResponse Message

A response message of the WatchAlertingPolicy method.

Name Type Description
change AlertingPolicyChange

WatchAlertingPoliciesRequest Message

A request message of the WatchAlertingPolicies method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of AlertingPolicy) Parent name of ntt.monitoring.v4.AlertingPolicy
page_size int32 Requested page size. Server may return fewer AlertingPolicies than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of AlertingPolicy) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of AlertingPolicy) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of AlertingPolicy) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to AlertingPolicy that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to AlertingPolicy that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchAlertingPoliciesResponse Message

A response message of the WatchAlertingPolicies method.

Name Type Description
alerting_policy_changes repeated AlertingPolicyChange Changes of AlertingPolicies
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All AlertingPolicies will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchAlertingPoliciesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (AlertingPolicies will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchAlertingPoliciesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of AlertingPolicy) New token to retrieve previous page of results.
next_page_token string (cursor of AlertingPolicy) New token to retrieve next page of results.

CreateAlertingPolicyRequest Message

A request message of the CreateAlertingPolicy method.

Name Type Description
parent string (parent name of AlertingPolicy) Parent name of ntt.monitoring.v4.AlertingPolicy
alerting_policy AlertingPolicy AlertingPolicy resource body
response_mask CreateAlertingPolicyRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateAlertingPolicyRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateAlertingPolicyRequest Message

A request message of the UpdateAlertingPolicy method.

Name Type Description
alerting_policy AlertingPolicy AlertingPolicy resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateAlertingPolicyRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateAlertingPolicyRequest.ResponseMask reduce message response size.

UpdateAlertingPolicyRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state AlertingPolicy Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateAlertingPolicyRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteAlertingPolicyRequest Message

A request message of the DeleteAlertingPolicy method.

Name Type Description
name string (name of AlertingPolicy) Name of ntt.monitoring.v4.AlertingPolicy

SearchAlertingPoliciesRequest Message

A request message of the SearchAlertingPolicies method.

Name Type Description
parent string (parent name of AlertingPolicy) Parent name of ntt.monitoring.v4.AlertingPolicy
page_size int32 Requested page size. Server may return fewer AlertingPolicies than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of AlertingPolicy) A token identifying a page of results the server should return. Typically, this is the value of SearchAlertingPoliciesResponse.next_page_token.
order_by string (orderBy of AlertingPolicy) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of AlertingPolicy) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
phrase string Optional search phrase used to further filter results.

SearchAlertingPoliciesResponse Message

A response message of the SearchAlertingPolicies method.

Name Type Description
alerting_policies repeated AlertingPolicy The list of AlertingPolicies
prev_page_token string (cursor of AlertingPolicy) A token to retrieve previous page of results. Pass this value in the SearchAlertingPoliciesRequest.page_token.
next_page_token string (cursor of AlertingPolicy) A token to retrieve next page of results. Pass this value in the SearchAlertingPoliciesRequest.page_token.
current_offset int32 Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request
total_results_count int32 Number of total AlertingPolicies across all pages.

AlertingPolicy Enumerations

Here is the list of AlertingPolicy resource enumerations:

AlertingPolicy.Spec.ConditionsCombiner Enumeration

Name Description
OR
AND

Bucket Resource

Bucket Resource restricts create/list time series requests to the specified metric/resource types.

Name patterns:

  • projects/{project}/regions/{region}/buckets/{bucket}

Parent resources:

This section covers the methods and messages to interact with Bucket resource.

Bucket Methods

Here is the list of Bucket resource methods:

GetBucket Method

GetBucket

rpc GetBucket(GetBucketRequest) returns (Bucket)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/buckets/*} 

BatchGetBuckets Method

BatchGetBuckets

rpc BatchGetBuckets(BatchGetBucketsRequest) returns (BatchGetBucketsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.batchGet

The equivalent REST API is:

GET /v4/buckets:batchGet 

ListBuckets Method

ListBuckets

rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*}/buckets 

WatchBucket Method

WatchBucket

rpc WatchBucket(WatchBucketRequest) returns (WatchBucketResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/buckets/*}:watch 

WatchBuckets Method

WatchBuckets

rpc WatchBuckets(WatchBucketsRequest) returns (WatchBucketsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/buckets:watch 

CreateBucket Method

CreateBucket

rpc CreateBucket(CreateBucketRequest) returns (Bucket)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.create

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/buckets (BODY: bucket)

UpdateBucket Method

UpdateBucket

rpc UpdateBucket(UpdateBucketRequest) returns (Bucket)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.update

The equivalent REST API is:

PUT /v4/{bucket.name=projects/*/regions/*/buckets/*} (BODY: bucket)

DeleteBucket Method

DeleteBucket

rpc DeleteBucket(DeleteBucketRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/buckets.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/buckets/*} 

Bucket Messages

Here is the list of Bucket resource messages:

Bucket Message

Name Type Description
name string (name of Bucket) Name of Bucket When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [\w./-]{2,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
metrics repeated Bucket.RequiredTypedLabels Allowed metric combinations (OR). If empty, all metric types are allowed.
resources repeated Bucket.RequiredTypedLabels Allowed resource combinations (OR).If empty, all resource types are allowed.
required_alt_kvs repeated Bucket.ResolvedKeysWithValues All combinations of key-values (in integer forms) - one of them must be passed by every TimeSerie object for given bucket. Its computed by server side and for internal use.

Bucket.ResolvedValues Message

ResolvedValues contains binary representation of types and labels and possible values. Due to limitations in some db backends (looking at firestore), we use int64 instead of uint64.

Name Type Description
key int64
values repeated int64

Bucket.ResolvedKeysWithValues Message

ResolvedKeysWithValues binds multiple keys with possible values.

Name Type Description
resolved_kvs repeated Bucket.ResolvedValues

Bucket.RequiredTypedLabels Message

RequiredTypedLabels describes required label values for specified metric and resource types. All time series in Create operation must contain at least one allowed type and then labels must match all the labels. For list queries, filter must contain at least one type and all labels must be present in condition containing all or subset of allowed label values.

Name Type Description
types repeated string
labels map<string, Bucket.RequiredTypedLabels.Strings>

Bucket.RequiredTypedLabels.Strings Message

Name Type Description
strings repeated string

GetBucketRequest Message

A request message of the GetBucket method.

Name Type Description
name string (name of Bucket) Name of ntt.monitoring.v4.Bucket
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetBucketsRequest Message

A request message of the BatchGetBuckets method.

Name Type Description
names repeated string (name of Bucket) Names of Buckets
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetBucketsResponse Message

A response message of the BatchGetBuckets method.

Name Type Description
buckets repeated Bucket found Buckets
missing repeated string (name of Bucket) list of not found Buckets

ListBucketsRequest Message

A request message of the ListBuckets method.

Name Type Description
parent string (parent name of Bucket) Parent name of ntt.monitoring.v4.Bucket
page_size int32 Requested page size. Server may return fewer Buckets than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Bucket) A token identifying a page of results the server should return. Typically, this is the value of ListBucketsResponse.next_page_token.
order_by string (orderBy of Bucket) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Bucket) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListBucketsResponse Message

A response message of the ListBuckets method.

Name Type Description
buckets repeated Bucket The list of Buckets
prev_page_token string (cursor of Bucket) A token to retrieve previous page of results. Pass this value in the ListBucketsRequest.page_token.
next_page_token string (cursor of Bucket) A token to retrieve next page of results. Pass this value in the ListBucketsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Buckets across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchBucketRequest Message

A request message of the WatchBucket method.

Name Type Description
name string (name of Bucket) Name of ntt.monitoring.v4.Bucket
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchBucketResponse Message

A response message of the WatchBucket method.

Name Type Description
change BucketChange

WatchBucketsRequest Message

A request message of the WatchBuckets method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of Bucket) Parent name of ntt.monitoring.v4.Bucket
page_size int32 Requested page size. Server may return fewer Buckets than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Bucket) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Bucket) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Bucket) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Bucket that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Bucket that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchBucketsResponse Message

A response message of the WatchBuckets method.

Name Type Description
bucket_changes repeated BucketChange Changes of Buckets
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Buckets will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchBucketsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Buckets will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchBucketsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Bucket) New token to retrieve previous page of results.
next_page_token string (cursor of Bucket) New token to retrieve next page of results.

CreateBucketRequest Message

A request message of the CreateBucket method.

Name Type Description
parent string (parent name of Bucket) Parent name of ntt.monitoring.v4.Bucket
bucket Bucket Bucket resource body
response_mask CreateBucketRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateBucketRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateBucketRequest Message

A request message of the UpdateBucket method.

Name Type Description
bucket Bucket Bucket resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateBucketRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateBucketRequest.ResponseMask reduce message response size.

UpdateBucketRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Bucket Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateBucketRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteBucketRequest Message

A request message of the DeleteBucket method.

Name Type Description
name string (name of Bucket) Name of ntt.monitoring.v4.Bucket

MetricDescriptor Resource

Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type’s existing data unusable.

Name patterns:

  • projects/{project}/metricDescriptors/{metric_descriptor}

Parent resources:

This section covers the methods and messages to interact with MetricDescriptor resource.

MetricDescriptor Methods

Here is the list of MetricDescriptor resource methods:

BatchGetMetricDescriptors Method

BatchGetMetricDescriptors

rpc BatchGetMetricDescriptors(BatchGetMetricDescriptorsRequest) returns (BatchGetMetricDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.batchGet

The equivalent REST API is:

GET /v4/metricDescriptors:batchGet 

WatchMetricDescriptor Method

WatchMetricDescriptor

rpc WatchMetricDescriptor(WatchMetricDescriptorRequest) returns (WatchMetricDescriptorResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.watch

The equivalent REST API is:

POST /v4/{name=projects/*/metricDescriptors/*}:watch 

WatchMetricDescriptors Method

WatchMetricDescriptors

rpc WatchMetricDescriptors(WatchMetricDescriptorsRequest) returns (WatchMetricDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.watch

The equivalent REST API is:

POST /v4/{parent=projects/*}/metricDescriptors:watch 

GetMetricDescriptor Method

GetMetricDescriptor

rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (MetricDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.get

The equivalent REST API is:

GET /v4/{name=projects/*/metricDescriptors/*} 

CreateMetricDescriptor Method

CreateMetricDescriptor

rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (MetricDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.create

The equivalent REST API is:

POST /v4/{parent=projects/*}/metricDescriptors (BODY: metric_descriptor)

UpdateMetricDescriptor Method

UpdateMetricDescriptor

rpc UpdateMetricDescriptor(UpdateMetricDescriptorRequest) returns (MetricDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.update

The equivalent REST API is:

PUT /v4/{metric_descriptor.name=projects/*/metricDescriptors/*} (BODY: metric_descriptor)

DeleteMetricDescriptor Method

DeleteMetricDescriptor

rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/metricDescriptors/*} 

ListMetricDescriptors Method

ListMetricDescriptors

rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/metricDescriptors.list

The equivalent REST API is:

GET /v4/{parent=projects/*}/metricDescriptors 

MetricDescriptor Messages

Here is the list of MetricDescriptor resource messages:

MetricDescriptor Message

Name Type Description
name string (name of MetricDescriptor) Name of MetricDescriptor When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [\w./-]{4,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
type string The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example: “custom.googleapis.com/invoice/paid/amount” “external.googleapis.com/prometheus/up” “appengine.googleapis.com/http/server/response_latencies”
resource_types repeated string associated resource_types (also used to infer defaults) examples, devices.edgelq.com/Device, watchdog.edgelq.com/Agent. DEPRECATED, use “indices”.
labels repeated LabelDescriptor The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.
metric_kind MetricDescriptor.MetricKind Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.
value_type MetricDescriptor.ValueType Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.
unit string The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure standard: Basic units (UNIT) * bit bit * By byte * s second * min minute * h hour * d day Prefixes (PREFIX) * k kilo (103) * M mega (106) * G giga (109) * T tera (1012) * P peta (1015) * E exa (1018) * Z zetta (1021) * Y yotta (1024) * m milli (10**-3) * u micro (10**-6) * n nano (10**-9) * p pico (10**-12) * f femto (10**-15) * a atto (10**-18) * z zepto (10**-21) * y yocto (10**-24) * Ki kibi (210) * Mi mebi (220) * Gi gibi (230) * Ti tebi (240) Grammar The grammar also includes these connectors: * / division (as an infix operator, e.g. 1/s). * . multiplication (as an infix operator, e.g. GBy.d) The grammar for a unit is as follows: Expression = Component { “.” Component } { “/” Component } ; Component = ( [ PREFIX ] UNIT
description string A detailed description of the metric, which can be used in documentation.
display_name string A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example “Request count”. This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.
metric_descriptor_metadata MetricDescriptor.MetricDescriptorMetadata Optional. Metadata which can be used to guide usage of the metric.
distribution_bucket_options Distribution.BucketOptions Distribution bucketing options - define only when ValueType is Distribution. Used for validating input.
promoted_label_key_sets repeated LabelKeySet Promoted Label Key Sets allow defining multiple indexing rules for underlying backend enabling query optimizations. Metric promoted label sets are combined with MonitoredResource promoted label sets and result in PromotedKeySet. DEPRECATED, use “indices” instead.
index_spec MetricDescriptor.IndexSpec DEPRECATED: use “indices”. This field must not be used if client migrated to ResourceBindings. Whenever index_spec is set, it will override resource_descriptor_bindings. This is for migration purpose, future indices must be managed by ResourceBindings.
indices MetricDescriptor.Indices Defines indexing rules for underlying backend enabling query optimizations. It’s important consideration for balancing time series query performance and storage cost. Number of non-disabled indices per resource type is 64. Indices are generated from index families. Final index is a combination of metric & resource promoted label set, and pre-aggregation spec (if any). For example, index family with 2 promoted sets for resource, 3 promoted sets for metric, 2 pre-aggregations would create 12 indices. If no pre-aggregations were defined, it would be 6 indices. Metric and resource label sets must never be empty: At least one empty label set must be present.
storage_config MetricDescriptor.StorageConfig Storage settings
binary_indices MetricDescriptor.BinaryIndices Generated indices data in binary format, for internal use only. They are compiled when MetricDescriptor is saved and used by monitoring server, db-controller or controller when necessary. One MetricDescriptor instance will have different value of this field in each region!

MetricDescriptor.MetricDescriptorMetadata Message

Additional annotations that can be used to guide the usage of a metric.

Name Type Description
launch_stage LaunchStage The launch stage of the metric definition.

MetricDescriptor.IndexSpec Message

DEPRECATED, use Indices

Name Type Description
per_resource repeated MetricDescriptor.IndexSpec.PerMonitoredResource PerResource index

MetricDescriptor.Indices Message

ResourceBindings binds MetricDescriptor with selected MonitoredResourceDescriptors and provides indices for TimeSeries storage.

Name Type Description
built_in MetricDescriptor.Indices.IndexGroups Indices coming by default from application, typically populated by fixtures controller
user_defined MetricDescriptor.Indices.IndexGroups User defined additional indices.
legacy_migrated repeated MetricDescriptor.Indices.NonAggregatedIndices Automatically migrated from older specs. It should not be modified by users, it can only be archived once new indices are populated (update closingStatus fields to CLOSED).

MetricDescriptor.StorageConfig Message

Backend storage config

Name Type Description
store_raw_points bool whether to store raw points
max_ap .google.protobuf.Duration Maximum AlignmentPeriod produced. If max_ap is 0, then it is treated as no maximum. Monitoring will be producing time series for all alignment periods. If max_ap is 1 minute, it means only the smallest alignment period is produced.

MetricDescriptor.BinaryIndices Message

Name Type Description
by_resources repeated MetricDescriptor.BinaryIndices.ByResourceType
region string Region to which above binary data is relevant.

MetricDescriptor.IndexSpec.Index Message

Name Type Description
promoted_labels repeated string each label is of format: {metric,resource}.labels.\<label-key\>. since resource and metric labels are mixed. Full path is required.

MetricDescriptor.IndexSpec.PerMonitoredResource Message

Name Type Description
resource string (reference to MonitoredResourceDescriptor)
indices repeated MetricDescriptor.IndexSpec.Index List of indices for given metric and resource pair

MetricDescriptor.Indices.LabelsGroup Message

LabelsGroup represents set of labels in resource and metric. It forms part of the index generators (non and pre aggregated).

Name Type Description
name string Identifier of the group, used as part of index name and during update validations.
metric_keys repeated string List of metric keys in the group.
resource_keys repeated string List of resource keys in the group.
closing_status MetricDescriptor.Indices.CloseStatus Closing status should be set when indices used by this group is no longer desirable.

MetricDescriptor.Indices.PaginationView Message

PaginationView is used by PaginationIndices. It indicates which labels in metric/resource descriptor are kept for filter purpose, and which are “ranked” by.

Name Type Description
name string Identifier of the group, used as part of index name and during update validations.
filterable_metric_keys repeated string List of metric keys that can optionally be used in filter.
filterable_resource_keys repeated string List of resource keys that can optionally be used in filter.
paginated_metric_keys repeated string List of metric keys that will be part of “paginated” key (for ranking purpose). Provided labels cannot be used for filtering.
paginated_resource_keys repeated string List of resource keys that will be part of “paginated” key (for ranking purpose). Provided labels cannot be used for filtering.
closing_status MetricDescriptor.Indices.CloseStatus Closing status should be set when indices used by this group is no longer desirable.

MetricDescriptor.Indices.AggregationsGroup Message

AggregationsGroup groups aggregations required for pre-aggregated indices.

Name Type Description
name string Name of the group (identifier). Used for validating updates.
per_series_aligners repeated Aggregation.Aligner List of potential values for perSeriesAligner parameter. It must be specified.
cross_series_reducers repeated Aggregation.Reducer List of potential values for crossSeriesReducer parameter. It can be left empty if we want to support large amount of values.
closing_status MetricDescriptor.Indices.CloseStatus Closing status, if this group is no longer desired.
storage_aligners repeated Aggregation.Aligner This field is automatically computed and cannot be set by users. It displays list of aligners used by underlying storage. May not exactly match to requested aligners. TODO: Support output_only annotation for sub-array items

MetricDescriptor.Indices.SortingFunction Message

SortingFunction is a function used for paginable indices.

Name Type Description
name string name of the aligner-reducer function
aligner Aggregation.Aligner Aligner function
reducer Aggregation.Reducer Reducer function, merging values within paginable label set. Resulting value type must be either INT or DOUBLE, DISTRIBUTION is not supported.
closing_status MetricDescriptor.Indices.CloseStatus Closing status of this aligner reducer function.
sorting MetricDescriptor.Indices.SortingFunction.Direction

MetricDescriptor.Indices.PreAggregatedIndices Message

PreAggregatedIndices is a generator of pre-aggregated indices. One pre-aggregated index is generated per combination of resource type, partition label set, filter/group label set, and unique storage aligner (computed from supported aggregations).

Name Type Description
name string Name of the group
resource_types repeated string All resource types in the group
partition_label_sets repeated MetricDescriptor.Indices.LabelsGroup All partition label sets. Each is generating index per mentioned resource type, filter/group label set and aligner. Index, to be used, requires specifying all labels mentioned in partition.
filter_and_group_label_sets repeated MetricDescriptor.Indices.LabelsGroup All label sets containing labels that can be used in filter/groupBy fields (other than partition). Index, to be used, must not contain any label in filter/groupBy not present in the filter/group labels set.
supported_aggregations repeated MetricDescriptor.Indices.AggregationsGroup List of all aggregations required by users.

MetricDescriptor.Indices.NonAggregatedIndices Message

NonAggregatedIndices is a generator of non-aggregated indices. One non-aggregated index is generated per combination of resource type by partition label set.

Name Type Description
name string Name of the whole group.
resource_types repeated string Resource types in this group.
partition_label_sets repeated MetricDescriptor.Indices.LabelsGroup All partition label sets. Each is generating index per mentioned resource type. Index, to be used, requires specifying all labels mentioned in partition.

MetricDescriptor.Indices.PaginationIndices Message

PaginationIndices are special pre-aggregated indices. To access this index, it is necessary to include in the filter some partition label set. Paginable labels MUST not be used in filter, and have no effect in groupBy (always included).

Name Type Description
name string Name of the whole group.
resource_types repeated string Resource types in this group.
partition_label_sets repeated MetricDescriptor.Indices.LabelsGroup All partition label sets. Each is generating index per mentioned resource type. Index, to be used, requires specifying all labels mentioned in partition. Each partition set is matched with each view when generating final views.
views repeated MetricDescriptor.Indices.PaginationView All views describing label sets.
functions repeated MetricDescriptor.Indices.SortingFunction List of functions applied to every partition/views in the group.

MetricDescriptor.Indices.IndexGroups Message

Grouped indices

Name Type Description
pre_aggregated_indices repeated MetricDescriptor.Indices.PreAggregatedIndices Pre-aggregated index sets.
non_aggregated_indices repeated MetricDescriptor.Indices.NonAggregatedIndices Non-aggregated index sets.
pagination_indices repeated MetricDescriptor.Indices.PaginationIndices Pagination indices.

MetricDescriptor.BinaryIndices.PreAggregatedIndex Message

Name Type Description
key_data bytes
writing_aligners repeated bytes
closed_aligners repeated bytes

MetricDescriptor.BinaryIndices.PaginatingIndex Message

Name Type Description
key_data bytes
writing_functions repeated bytes
closed_functions repeated bytes

MetricDescriptor.BinaryIndices.ByResourceType Message

Name Type Description
resource_type string resource.type in string version, but integer is also encoded in every other item for convenience.
aggs_encoder repeated bytes List of aggregation encoders, used by streaming job when computing pre-aggregated values. Last item contains most recent version of aggregation. Previous entries will be closed after some time and removed.
pre_aggregated_indices repeated MetricDescriptor.BinaryIndices.PreAggregatedIndex List of pre-aggregated indices with per-storage-aligner information. These type of indices are more complex due to presence of aligners with their own liveness status.
paginating_indices repeated MetricDescriptor.BinaryIndices.PaginatingIndex
non_aggregated_indices repeated bytes Non aggregated indices. Bytes contain identifier with all promoted keys and name part positions.
name_parts repeated string index name parts

BatchGetMetricDescriptorsRequest Message

A request message of the BatchGetMetricDescriptors method.

Name Type Description
names repeated string (name of MetricDescriptor) Names of MetricDescriptors
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetMetricDescriptorsResponse Message

A response message of the BatchGetMetricDescriptors method.

Name Type Description
metric_descriptors repeated MetricDescriptor found MetricDescriptors
missing repeated string (name of MetricDescriptor) list of not found MetricDescriptors

WatchMetricDescriptorRequest Message

A request message of the WatchMetricDescriptor method.

Name Type Description
name string (name of MetricDescriptor) Name of ntt.monitoring.v4.MetricDescriptor
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchMetricDescriptorResponse Message

A response message of the WatchMetricDescriptor method.

Name Type Description
change MetricDescriptorChange

WatchMetricDescriptorsRequest Message

A request message of the WatchMetricDescriptors method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of MetricDescriptor) Parent name of ntt.monitoring.v4.MetricDescriptor
page_size int32 Requested page size. Server may return fewer MetricDescriptors than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of MetricDescriptor) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of MetricDescriptor) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of MetricDescriptor) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to MetricDescriptor that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to MetricDescriptor that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchMetricDescriptorsResponse Message

A response message of the WatchMetricDescriptors method.

Name Type Description
metric_descriptor_changes repeated MetricDescriptorChange Changes of MetricDescriptors
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All MetricDescriptors will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchMetricDescriptorsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (MetricDescriptors will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchMetricDescriptorsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of MetricDescriptor) New token to retrieve previous page of results.
next_page_token string (cursor of MetricDescriptor) New token to retrieve next page of results.

GetMetricDescriptorRequest Message

Request message for method [GetMetricDescriptor][ntt.monitoring.v4.GetMetricDescriptor]

Name Type Description
name string (name of MetricDescriptor) Name of ntt.monitoring.v4.MetricDescriptor
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

CreateMetricDescriptorRequest Message

Request message for method [CreateMetricDescriptor][ntt.monitoring.v4.CreateMetricDescriptor]

Name Type Description
parent string (parent name of MetricDescriptor) Parent name of ntt.monitoring.v4.MetricDescriptor
metric_descriptor MetricDescriptor MetricDescriptor resource body
response_mask CreateMetricDescriptorRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateMetricDescriptorRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateMetricDescriptorRequest Message

Request message for method [UpdateMetricDescriptor][ntt.monitoring.v4.UpdateMetricDescriptor]

Name Type Description
metric_descriptor MetricDescriptor MetricDescriptor resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateMetricDescriptorRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateMetricDescriptorRequest.ResponseMask

UpdateMetricDescriptorRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state MetricDescriptor Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateMetricDescriptorRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteMetricDescriptorRequest Message

Request message for method [DeleteMetricDescriptor][ntt.monitoring.v4.DeleteMetricDescriptor]

Name Type Description
name string (name of MetricDescriptor) Name of ntt.monitoring.v4.MetricDescriptor

ListMetricDescriptorsRequest Message

Request message for method [ListMetricDescriptors][ntt.monitoring.v4.ListMetricDescriptors]

Name Type Description
parent string (parent name of MetricDescriptor) Parent name of ntt.monitoring.v4.MetricDescriptor
page_size int32 Requested page size. Server may return fewer MetricDescriptors than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of MetricDescriptor) A token identifying a page of results the server should return. Typically, this is the value of [ListMetricDescriptorsResponse.next_page_token][ntt.monitoring.v4.ListMetricDescriptorsResponse.next_page_token]
order_by string (orderBy of MetricDescriptor) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of MetricDescriptor) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListMetricDescriptorsResponse Message

Request message for method [ListMetricDescriptors][ntt.monitoring.v4.ListMetricDescriptors]

Name Type Description
metric_descriptors repeated MetricDescriptor The list of MetricDescriptors
prev_page_token string (cursor of MetricDescriptor) A token to retrieve previous page of results. Pass this value in the [ListMetricDescriptorsRequest.page_token][ntt.monitoring.v4.ListMetricDescriptorsRequest.page_token]
next_page_token string (cursor of MetricDescriptor) A token to retrieve next page of results. Pass this value in the [ListMetricDescriptorsRequest.page_token][ntt.monitoring.v4.ListMetricDescriptorsRequest.page_token]
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total MetricDescriptors across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

MetricDescriptor Enumerations

Here is the list of MetricDescriptor resource enumerations:

MetricDescriptor.MetricKind Enumeration

The kind of measurement. It describes how the data is reported.

Name Description
METRIC_KIND_UNSPECIFIED Do not use this default value.
GAUGE An instantaneous measurement of a value.
DELTA The change in a value during a time interval.
CUMULATIVE A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points.

MetricDescriptor.ValueType Enumeration

The value type of a metric.

Name Description
VALUE_TYPE_UNSPECIFIED Do not use this default value.
BOOL The value is a boolean. This value type can be used only if the metric kind is GAUGE.
INT64 The value is a signed 64-bit integer.
DOUBLE The value is a double precision floating point number.
DISTRIBUTION The value is a [Distribution][google.api.Distribution].

MetricDescriptor.Indices.CloseStatus Enumeration

CloseStatus indicates if index group part is closed. When part of the index closes, all indices it is part of are closed. Older data is still available for reading until group is completely removed.

Name Description
UNDEFINED Index is active for read and write
SUSPENDED index is closed for reading from time when it was suspended. Data prior to suspension is available for reads. Writes are executed normally. SUSPENDED status can be lifted and index will behave like nothing ever happened. Reading will be possible for any time range from creation time.
CLOSED Index is no longer writing, but data prior to the closed status is available for reads. This helps to maintain older indices still available for reading, even if newer better indices were created.

MetricDescriptor.Indices.SortingFunction.Direction Enumeration

Name Description
UNDEFINED
ASCENDING
DESCENDING

MonitoredResourceDescriptor Resource

An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of "gce_instance" and specifies the use of the labels "instance_id" and "zone" to identify particular VM instances.

Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.

Name patterns:

  • services/{service}/monitoredResourceDescriptors/{monitored_resource_descriptor}

Parent resources:

This section covers the methods and messages to interact with MonitoredResourceDescriptor resource.

MonitoredResourceDescriptor Methods

Here is the list of MonitoredResourceDescriptor resource methods:

BatchGetMonitoredResourceDescriptors Method

BatchGetMonitoredResourceDescriptors

rpc BatchGetMonitoredResourceDescriptors(BatchGetMonitoredResourceDescriptorsRequest) returns (BatchGetMonitoredResourceDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.batchGet

The equivalent REST API is:

GET /v4/monitoredResourceDescriptors:batchGet 

WatchMonitoredResourceDescriptor Method

WatchMonitoredResourceDescriptor

rpc WatchMonitoredResourceDescriptor(WatchMonitoredResourceDescriptorRequest) returns (WatchMonitoredResourceDescriptorResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.watch

The equivalent REST API is:

POST /v4/{name=services/*/monitoredResourceDescriptors/*}:watch 

WatchMonitoredResourceDescriptors Method

WatchMonitoredResourceDescriptors

rpc WatchMonitoredResourceDescriptors(WatchMonitoredResourceDescriptorsRequest) returns (WatchMonitoredResourceDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.watch

The equivalent REST API is:

POST /v4/{parent=services/*}/monitoredResourceDescriptors:watch 

CreateMonitoredResourceDescriptor Method

CreateMonitoredResourceDescriptor

rpc CreateMonitoredResourceDescriptor(CreateMonitoredResourceDescriptorRequest) returns (MonitoredResourceDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.create

The equivalent REST API is:

POST /v4/{parent=services/*}/monitoredResourceDescriptors (BODY: monitored_resource_descriptor)

UpdateMonitoredResourceDescriptor Method

UpdateMonitoredResourceDescriptor

rpc UpdateMonitoredResourceDescriptor(UpdateMonitoredResourceDescriptorRequest) returns (MonitoredResourceDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.update

The equivalent REST API is:

PUT /v4/{monitored_resource_descriptor.name=services/*/monitoredResourceDescriptors/*} (BODY: monitored_resource_descriptor)

DeleteMonitoredResourceDescriptor Method

DeleteMonitoredResourceDescriptor

rpc DeleteMonitoredResourceDescriptor(DeleteMonitoredResourceDescriptorRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.delete

The equivalent REST API is:

DELETE /v4/{name=services/*/monitoredResourceDescriptors/*} 

GetMonitoredResourceDescriptor Method

GetMonitoredResourceDescriptor

rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (MonitoredResourceDescriptor)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.get

The equivalent REST API is:

GET /v4/{name=services/*/monitoredResourceDescriptors/*} 

ListMonitoredResourceDescriptors Method

ListMonitoredResourceDescriptors

rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/monitoredResourceDescriptors.list

The equivalent REST API is:

GET /v4/{parent=services/*}/monitoredResourceDescriptors 

MonitoredResourceDescriptor Messages

Here is the list of MonitoredResourceDescriptor resource messages:

MonitoredResourceDescriptor Message

Name Type Description
name string (name of MonitoredResourceDescriptor) Name of MonitoredResourceDescriptor When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [\w./-]{2,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
type string Required. The monitored resource type. For example, the type "cloudsql_database" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.
display_name string Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, "Google Cloud SQL Database".
description string Optional. A detailed description of the monitored resource type that might be used in documentation.
labels repeated LabelDescriptor Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels "database_id" and "zone".
promoted_label_key_sets repeated LabelKeySet Promoted Label Key Sets allow defining multiple indexing rules for underlying backend enabling query optimizations. Metric promoted label sets are combined with MonitoredResource promoted label sets and result in PromotedKeySet. If they are not specified, it will be necessary to specify indices in MetricDescriptor. Otherwise they serve as default value if MetricDescriptor does not describe them.

BatchGetMonitoredResourceDescriptorsRequest Message

A request message of the BatchGetMonitoredResourceDescriptors method.

Name Type Description
names repeated string (name of MonitoredResourceDescriptor) Names of MonitoredResourceDescriptors
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetMonitoredResourceDescriptorsResponse Message

A response message of the BatchGetMonitoredResourceDescriptors method.

Name Type Description
monitored_resource_descriptors repeated MonitoredResourceDescriptor found MonitoredResourceDescriptors
missing repeated string (name of MonitoredResourceDescriptor) list of not found MonitoredResourceDescriptors

WatchMonitoredResourceDescriptorRequest Message

A request message of the WatchMonitoredResourceDescriptor method.

Name Type Description
name string (name of MonitoredResourceDescriptor) Name of ntt.monitoring.v4.MonitoredResourceDescriptor
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchMonitoredResourceDescriptorResponse Message

A response message of the WatchMonitoredResourceDescriptor method.

Name Type Description
change MonitoredResourceDescriptorChange

WatchMonitoredResourceDescriptorsRequest Message

A request message of the WatchMonitoredResourceDescriptors method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of MonitoredResourceDescriptor) Parent name of ntt.monitoring.v4.MonitoredResourceDescriptor
page_size int32 Requested page size. Server may return fewer MonitoredResourceDescriptors than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of MonitoredResourceDescriptor) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of MonitoredResourceDescriptor) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of MonitoredResourceDescriptor) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to MonitoredResourceDescriptor that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to MonitoredResourceDescriptor that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchMonitoredResourceDescriptorsResponse Message

A response message of the WatchMonitoredResourceDescriptors method.

Name Type Description
monitored_resource_descriptor_changes repeated MonitoredResourceDescriptorChange Changes of MonitoredResourceDescriptors
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All MonitoredResourceDescriptors will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchMonitoredResourceDescriptorsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (MonitoredResourceDescriptors will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchMonitoredResourceDescriptorsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of MonitoredResourceDescriptor) New token to retrieve previous page of results.
next_page_token string (cursor of MonitoredResourceDescriptor) New token to retrieve next page of results.

CreateMonitoredResourceDescriptorRequest Message

A request message of the CreateMonitoredResourceDescriptor method.

Name Type Description
parent string (parent name of MonitoredResourceDescriptor) Parent name of ntt.monitoring.v4.MonitoredResourceDescriptor
monitored_resource_descriptor MonitoredResourceDescriptor MonitoredResourceDescriptor resource body
response_mask CreateMonitoredResourceDescriptorRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateMonitoredResourceDescriptorRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateMonitoredResourceDescriptorRequest Message

A request message of the UpdateMonitoredResourceDescriptor method.

Name Type Description
monitored_resource_descriptor MonitoredResourceDescriptor MonitoredResourceDescriptor resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateMonitoredResourceDescriptorRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateMonitoredResourceDescriptorRequest.ResponseMask reduce message response size.

UpdateMonitoredResourceDescriptorRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state MonitoredResourceDescriptor Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateMonitoredResourceDescriptorRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteMonitoredResourceDescriptorRequest Message

A request message of the DeleteMonitoredResourceDescriptor method.

Name Type Description
name string (name of MonitoredResourceDescriptor) Name of ntt.monitoring.v4.MonitoredResourceDescriptor

GetMonitoredResourceDescriptorRequest Message

Request message for method [GetMonitoredResourceDescriptor][ntt.monitoring.v4.GetMonitoredResourceDescriptor]

Name Type Description
name string (name of MonitoredResourceDescriptor) Name of ntt.monitoring.v4.MonitoredResourceDescriptor
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

ListMonitoredResourceDescriptorsRequest Message

Request message for method [ListMonitoredResourceDescriptors][ntt.monitoring.v4.ListMonitoredResourceDescriptors]

Name Type Description
parent string (parent name of MonitoredResourceDescriptor) Parent name of ntt.monitoring.v4.MonitoredResourceDescriptor
page_size int32 Requested page size. Server may return fewer MonitoredResourceDescriptors than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of MonitoredResourceDescriptor) A token identifying a page of results the server should return. Typically, this is the value of [ListMonitoredResourceDescriptorsResponse.next_page_token][ntt.monitoring.v4.ListMonitoredResourceDescriptorsResponse.next_page_token]
order_by string (orderBy of MonitoredResourceDescriptor) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of MonitoredResourceDescriptor) An optional filter describing the descriptors to be returned. The filter can reference the descriptor’s type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an id label: resource.type = starts_with(“gce_”) AND resource.label:id
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListMonitoredResourceDescriptorsResponse Message

Request message for method [ListMonitoredResourceDescriptors][ntt.monitoring.v4.ListMonitoredResourceDescriptors]

Name Type Description
monitored_resource_descriptors repeated MonitoredResourceDescriptor The list of MonitoredResourceDescriptors
prev_page_token string (cursor of MonitoredResourceDescriptor) A token to retrieve previous page of results. Pass this value in the [ListMonitoredResourceDescriptorsRequest.page_token][ntt.monitoring.v4.ListMonitoredResourceDescriptorsRequest.page_token]
next_page_token string (cursor of MonitoredResourceDescriptor) A token to retrieve next page of results. Pass this value in the [ListMonitoredResourceDescriptorsRequest.page_token][ntt.monitoring.v4.ListMonitoredResourceDescriptorsRequest.page_token]
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total MonitoredResourceDescriptors across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

Notification Resource

Notification Resource

Name patterns:

  • projects/{project}/regions/{region}/alertingPolicies/{alerting_policy}/notifications/{notification}

Parent resources:

This section covers the methods and messages to interact with Notification resource.

Notification Methods

Here is the list of Notification resource methods:

GetNotification Method

GetNotification

rpc GetNotification(GetNotificationRequest) returns (Notification)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/alertingPolicies/*/notifications/*} 

BatchGetNotifications Method

BatchGetNotifications

rpc BatchGetNotifications(BatchGetNotificationsRequest) returns (BatchGetNotificationsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.batchGet

The equivalent REST API is:

GET /v4/notifications:batchGet 

ListNotifications Method

ListNotifications

rpc ListNotifications(ListNotificationsRequest) returns (ListNotificationsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*/alertingPolicies/*}/notifications 

WatchNotification Method

WatchNotification

rpc WatchNotification(WatchNotificationRequest) returns (WatchNotificationResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/alertingPolicies/*/notifications/*}:watch 

WatchNotifications Method

WatchNotifications

rpc WatchNotifications(WatchNotificationsRequest) returns (WatchNotificationsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*}/notifications:watch 

CreateNotification Method

CreateNotification

rpc CreateNotification(CreateNotificationRequest) returns (Notification)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.create

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*/alertingPolicies/*}/notifications (BODY: notification)

UpdateNotification Method

UpdateNotification

rpc UpdateNotification(UpdateNotificationRequest) returns (Notification)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.update

The equivalent REST API is:

PUT /v4/{notification.name=projects/*/regions/*/alertingPolicies/*/notifications/*} (BODY: notification)

DeleteNotification Method

DeleteNotification

rpc DeleteNotification(DeleteNotificationRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notifications.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/alertingPolicies/*/notifications/*} 

Notification Messages

Here is the list of Notification resource messages:

Notification Message

Name Type Description
name string (name of Notification) Name of Notification When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-zA-Z0-9_.:-]{1,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
alerts repeated string (name of Alert) References to alerts that are part of this notification TODO: Obsolete and to be retired, in favor of alert_sets
alert_sets repeated Notification.AlertsSet Alerts by notification
state Notification.State

Notification.AlertsSet Message

Name Type Description
condition string (name of AlertingCondition) Condition holding alerts
ids repeated string List of alert IDs.

Notification.State Message

Name Type Description
is_resolved bool
notification_state repeated Notification.State.NotificationState Notification state
incident_notify_attempts_done bool Internal state to keep track of whether any notification sends needs to be retried for new incident
resolution_notify_attempts_done bool Internal state to keep track of whether any notification sends needs to be retried for resolution
alerts_lifetime TimeRange Time range for which alerts for the policy are clubbed together
resolution_notification_state repeated Notification.State.NotificationState
lifecycle_completed bool Alert has ended and any needed notifications are processed

Notification.State.NotificationState Message

Name Type Description
notification_channel string (name of NotificationChannel) Notification channel name
status Notification.State.NotificationState.Status
error string Error message if status is FAILED
provider_data Notification.State.NotificationState.ProviderData Provider specific data. Allows tracking ids of notifications sent to specific channels.
notify_attempts int64

Notification.State.NotificationState.ProviderData Message

Provider specific data

Name Type Description
slack Notification.State.NotificationState.ProviderData.Slack
pager_duty Notification.State.NotificationState.ProviderData.PagerDuty
webhook Notification.State.NotificationState.ProviderData.WebHook

Notification.State.NotificationState.ProviderData.Slack Message

Slack

Name Type Description
ts string

Notification.State.NotificationState.ProviderData.PagerDuty Message

Pager Duty

Name Type Description
incident_key string

Notification.State.NotificationState.ProviderData.WebHook Message

Name Type Description
total_chunks int64
failed_chunks repeated Notification.State.NotificationState.ProviderData.WebHook.FailedChunks

Notification.State.NotificationState.ProviderData.WebHook.FailedChunks Message

Name Type Description
alert_offset int64
error string

GetNotificationRequest Message

A request message of the GetNotification method.

Name Type Description
name string (name of Notification) Name of ntt.monitoring.v4.Notification
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetNotificationsRequest Message

A request message of the BatchGetNotifications method.

Name Type Description
names repeated string (name of Notification) Names of Notifications
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetNotificationsResponse Message

A response message of the BatchGetNotifications method.

Name Type Description
notifications repeated Notification found Notifications
missing repeated string (name of Notification) list of not found Notifications

ListNotificationsRequest Message

A request message of the ListNotifications method.

Name Type Description
parent string (parent name of Notification) Parent name of ntt.monitoring.v4.Notification
page_size int32 Requested page size. Server may return fewer Notifications than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Notification) A token identifying a page of results the server should return. Typically, this is the value of ListNotificationsResponse.next_page_token.
order_by string (orderBy of Notification) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Notification) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListNotificationsResponse Message

A response message of the ListNotifications method.

Name Type Description
notifications repeated Notification The list of Notifications
prev_page_token string (cursor of Notification) A token to retrieve previous page of results. Pass this value in the ListNotificationsRequest.page_token.
next_page_token string (cursor of Notification) A token to retrieve next page of results. Pass this value in the ListNotificationsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Notifications across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchNotificationRequest Message

A request message of the WatchNotification method.

Name Type Description
name string (name of Notification) Name of ntt.monitoring.v4.Notification
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchNotificationResponse Message

A response message of the WatchNotification method.

Name Type Description
change NotificationChange

WatchNotificationsRequest Message

A request message of the WatchNotifications method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of Notification) Parent name of ntt.monitoring.v4.Notification
page_size int32 Requested page size. Server may return fewer Notifications than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Notification) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Notification) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Notification) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Notification that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Notification that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchNotificationsResponse Message

A response message of the WatchNotifications method.

Name Type Description
notification_changes repeated NotificationChange Changes of Notifications
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Notifications will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchNotificationsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Notifications will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchNotificationsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Notification) New token to retrieve previous page of results.
next_page_token string (cursor of Notification) New token to retrieve next page of results.

CreateNotificationRequest Message

A request message of the CreateNotification method.

Name Type Description
parent string (parent name of Notification) Parent name of ntt.monitoring.v4.Notification
notification Notification Notification resource body
response_mask CreateNotificationRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateNotificationRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateNotificationRequest Message

A request message of the UpdateNotification method.

Name Type Description
notification Notification Notification resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateNotificationRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateNotificationRequest.ResponseMask reduce message response size.

UpdateNotificationRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Notification Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateNotificationRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteNotificationRequest Message

A request message of the DeleteNotification method.

Name Type Description
name string (name of Notification) Name of ntt.monitoring.v4.Notification

Notification Enumerations

Here is the list of Notification resource enumerations:

Notification.State.NotificationState.Status Enumeration

Name Description
UNKNOWN
PENDING
FAILED
SUPPRESSED
SENT
DELIVERED Status types that can be used by webhook integrated providers, like PagerDuty.
ACKNOWLEDGED
UNACKNOWLEDGED

NotificationChannel Resource

NotificationChannel Resource

Name patterns:

  • projects/{project}/notificationChannels/{notification_channel}

Parent resources:

This section covers the methods and messages to interact with NotificationChannel resource.

NotificationChannel Methods

Here is the list of NotificationChannel resource methods:

GetNotificationChannel Method

GetNotificationChannel

rpc GetNotificationChannel(GetNotificationChannelRequest) returns (NotificationChannel)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.get

The equivalent REST API is:

GET /v4/{name=projects/*/notificationChannels/*} 

BatchGetNotificationChannels Method

BatchGetNotificationChannels

rpc BatchGetNotificationChannels(BatchGetNotificationChannelsRequest) returns (BatchGetNotificationChannelsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.batchGet

The equivalent REST API is:

GET /v4/notificationChannels:batchGet 

ListNotificationChannels Method

ListNotificationChannels

rpc ListNotificationChannels(ListNotificationChannelsRequest) returns (ListNotificationChannelsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.list

The equivalent REST API is:

GET /v4/{parent=projects/*}/notificationChannels 

WatchNotificationChannel Method

WatchNotificationChannel

rpc WatchNotificationChannel(WatchNotificationChannelRequest) returns (WatchNotificationChannelResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.watch

The equivalent REST API is:

POST /v4/{name=projects/*/notificationChannels/*}:watch 

WatchNotificationChannels Method

WatchNotificationChannels

rpc WatchNotificationChannels(WatchNotificationChannelsRequest) returns (WatchNotificationChannelsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.watch

The equivalent REST API is:

POST /v4/{parent=projects/*}/notificationChannels:watch 

CreateNotificationChannel Method

CreateNotificationChannel

rpc CreateNotificationChannel(CreateNotificationChannelRequest) returns (NotificationChannel)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.create

The equivalent REST API is:

POST /v4/{parent=projects/*}/notificationChannels (BODY: notification_channel)

UpdateNotificationChannel Method

UpdateNotificationChannel

rpc UpdateNotificationChannel(UpdateNotificationChannelRequest) returns (NotificationChannel)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.update

The equivalent REST API is:

PUT /v4/{notification_channel.name=projects/*/notificationChannels/*} (BODY: notification_channel)

DeleteNotificationChannel Method

DeleteNotificationChannel

rpc DeleteNotificationChannel(DeleteNotificationChannelRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/notificationChannels/*} 

TestNotificationChannel Method

TestNotificationChannel

rpc TestNotificationChannel(TestNotificationChannelRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/notificationChannels.test

The equivalent REST API is:

POST /v4/{name=projects/*/notificationChannels/*}:test 

NotificationChannel Messages

Here is the list of NotificationChannel resource messages:

NotificationChannel Message

Name Type Description
name string (name of NotificationChannel) Name of NotificationChannel When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string Display Name
spec NotificationChannel.Spec Specification
state NotificationChannel.State State
description string description

NotificationChannel.Spec Message

Spec of NotificationChannel

Name Type Description
enabled bool Enabled flag. Whether the NotificationChannel is enabled or not. Disabled channels will not be used for alerting.
type NotificationChannel.Spec.Type Type. Corresponding spec should a oneof field.
email NotificationChannel.Spec.Email Email
slack NotificationChannel.Spec.Slack Slack
webhook NotificationChannel.Spec.Webhook
notification_language_code string Default language for invitation is english (eng) Configuring unsupported language will fallback to english Currently only sendgrid uses this.

NotificationChannel.State Message

State of NotificationChannel

Name Type Description
status NotificationChannel.State.Status Status
error NotificationChannel.State.Error Error

NotificationChannel.Spec.Email Message

Email Spec

Name Type Description
addresses repeated string Email Addresses

NotificationChannel.Spec.Slack Message

Slack Spec

Name Type Description
incoming_webhook string Slack Incoming Webhook URL

NotificationChannel.Spec.PagerDuty Message

PagerDuty Spec

Name Type Description
service_key string PagerDuty Service Key

NotificationChannel.Spec.Webhook Message

Webhook Spec

Name Type Description
url string Webhook URL
headers repeated NotificationChannel.Spec.Webhook.Header Headers
notification_mask .google.protobuf.FieldMask Notification mask contains list of fields to include in the message. Notification consists of following fields: * “project” -> See monitoring.edgelq.com/Project protobuf spec for subfields * “organization” -> See iam.edgelq.com/Project protobuf spec for subfields * “alertingPolicy” -> See monitoring.edgelq.com/AlertingPolicy protobuf spec for subfields * “notification” -> See monitoring.edgelq.com/Notification protobuf spec for subfields * “events” -> Array of events, each item has subfields: * “alertingCondition” -> See monitoring.edgelq.com/AlertingCondition protobuf spec for subfields * “metricDescriptor” -> See monitoring.edgelq.com/MetricDescriptor protobuf spec for subfields * “monitoredResourceDescriptor” -> See monitoring.edgelq.com/MonitoredResourceDescriptor protobuf spec for subfields * “alerts” -> Array of monitoring.edgelq.com/Alert instances, see protobuf spec for subfields. If notification_mask is not specified, following default is applied: * “project.name” * “project.title” * “organization.name” * “organization.title” * “events.alertingCondition.name” * “events.alertingCondition.displayName” * “events.alertingCondition.spec” * “events.metricDescriptor.name” * “events.metricDescriptor.displayName” * “events.metricDescriptor.type” * “events.metricDescriptor.labels” * “events.metricDescriptor.metricKind” * “events.metricDescriptor.valueType” * “events.metricDescriptor.unit” * “events.alerts.name” * “events.alerts.displayName” * “events.alerts.info.timeSerie.key” * “events.alerts.info.timeSerie.metric” * “events.alerts.info.timeSerie.monitoredResource” * “events.alerts.info.observedValues” * “events.alerts.state”
max_message_size_mb double default is 0 means all the alerts in a notification are sent in single request. Breaking into multiple messages may be significantly slower than sending a single message. For example, to use 250KB chunks, set 0.25 MB

NotificationChannel.Spec.Webhook.Header Message

Header

Name Type Description
key string
value string

NotificationChannel.State.Error Message

Error of NotificationChannel

Name Type Description
time .google.protobuf.Timestamp
message string

GetNotificationChannelRequest Message

A request message of the GetNotificationChannel method.

Name Type Description
name string (name of NotificationChannel) Name of ntt.monitoring.v4.NotificationChannel
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetNotificationChannelsRequest Message

A request message of the BatchGetNotificationChannels method.

Name Type Description
names repeated string (name of NotificationChannel) Names of NotificationChannels
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetNotificationChannelsResponse Message

A response message of the BatchGetNotificationChannels method.

Name Type Description
notification_channels repeated NotificationChannel found NotificationChannels
missing repeated string (name of NotificationChannel) list of not found NotificationChannels

ListNotificationChannelsRequest Message

A request message of the ListNotificationChannels method.

Name Type Description
parent string (parent name of NotificationChannel) Parent name of ntt.monitoring.v4.NotificationChannel
page_size int32 Requested page size. Server may return fewer NotificationChannels than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of NotificationChannel) A token identifying a page of results the server should return. Typically, this is the value of ListNotificationChannelsResponse.next_page_token.
order_by string (orderBy of NotificationChannel) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of NotificationChannel) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListNotificationChannelsResponse Message

A response message of the ListNotificationChannels method.

Name Type Description
notification_channels repeated NotificationChannel The list of NotificationChannels
prev_page_token string (cursor of NotificationChannel) A token to retrieve previous page of results. Pass this value in the ListNotificationChannelsRequest.page_token.
next_page_token string (cursor of NotificationChannel) A token to retrieve next page of results. Pass this value in the ListNotificationChannelsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total NotificationChannels across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchNotificationChannelRequest Message

A request message of the WatchNotificationChannel method.

Name Type Description
name string (name of NotificationChannel) Name of ntt.monitoring.v4.NotificationChannel
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchNotificationChannelResponse Message

A response message of the WatchNotificationChannel method.

Name Type Description
change NotificationChannelChange

WatchNotificationChannelsRequest Message

A request message of the WatchNotificationChannels method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of NotificationChannel) Parent name of ntt.monitoring.v4.NotificationChannel
page_size int32 Requested page size. Server may return fewer NotificationChannels than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of NotificationChannel) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of NotificationChannel) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of NotificationChannel) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to NotificationChannel that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to NotificationChannel that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchNotificationChannelsResponse Message

A response message of the WatchNotificationChannels method.

Name Type Description
notification_channel_changes repeated NotificationChannelChange Changes of NotificationChannels
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All NotificationChannels will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchNotificationChannelsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (NotificationChannels will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchNotificationChannelsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of NotificationChannel) New token to retrieve previous page of results.
next_page_token string (cursor of NotificationChannel) New token to retrieve next page of results.

CreateNotificationChannelRequest Message

A request message of the CreateNotificationChannel method.

Name Type Description
parent string (parent name of NotificationChannel) Parent name of ntt.monitoring.v4.NotificationChannel
notification_channel NotificationChannel NotificationChannel resource body
response_mask CreateNotificationChannelRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateNotificationChannelRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateNotificationChannelRequest Message

A request message of the UpdateNotificationChannel method.

Name Type Description
notification_channel NotificationChannel NotificationChannel resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateNotificationChannelRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateNotificationChannelRequest.ResponseMask reduce message response size.

UpdateNotificationChannelRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state NotificationChannel Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateNotificationChannelRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteNotificationChannelRequest Message

A request message of the DeleteNotificationChannel method.

Name Type Description
name string (name of NotificationChannel) Name of ntt.monitoring.v4.NotificationChannel

TestNotificationChannelRequest Message

Request message for method [TestNotificationChannel][ntt.monitoring.v4.TestNotificationChannel]

Name Type Description
name string (name of NotificationChannel) Name of ntt.monitoring.v4.NotificationChannel

NotificationChannel Enumerations

Here is the list of NotificationChannel resource enumerations:

NotificationChannel.Spec.Type Enumeration

Type of NotificationChannel

Name Description
TYPE_UNSPECIFIED Type is unknown
EMAIL Email NotificationChannel
SLACK Slack NotificationChannel
WEBHOOK Webhook NotificationChannel

NotificationChannel.State.Status Enumeration

State of NotificationChannel

Name Description
STATE_UNSPECIFIED State is unknown
ACTIVE NotificationChannel is active
DISABLED NotificationChannel is disabled
ERROR Error of NotificationChannel

PhantomTimeSerie Resource

PhantomTimeSerie Resource

Name patterns:

  • projects/{project}/regions/{region}/phantomTimeSeries/{phantom_time_serie}

Parent resources:

This section covers the methods and messages to interact with PhantomTimeSerie resource.

PhantomTimeSerie Methods

Here is the list of PhantomTimeSerie resource methods:

GetPhantomTimeSerie Method

GetPhantomTimeSerie

rpc GetPhantomTimeSerie(GetPhantomTimeSerieRequest) returns (PhantomTimeSerie)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.get

The equivalent REST API is:

GET /v4/{name=projects/*/regions/*/phantomTimeSeries/*} 

BatchGetPhantomTimeSeries Method

BatchGetPhantomTimeSeries

rpc BatchGetPhantomTimeSeries(BatchGetPhantomTimeSeriesRequest) returns (BatchGetPhantomTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.batchGet

The equivalent REST API is:

GET /v4/phantomTimeSeries:batchGet 

ListPhantomTimeSeries Method

ListPhantomTimeSeries

rpc ListPhantomTimeSeries(ListPhantomTimeSeriesRequest) returns (ListPhantomTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.list

The equivalent REST API is:

GET /v4/{parent=projects/*/regions/*}/phantomTimeSeries 

WatchPhantomTimeSerie Method

WatchPhantomTimeSerie

rpc WatchPhantomTimeSerie(WatchPhantomTimeSerieRequest) returns (WatchPhantomTimeSerieResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.watch

The equivalent REST API is:

POST /v4/{name=projects/*/regions/*/phantomTimeSeries/*}:watch 

WatchPhantomTimeSeries Method

WatchPhantomTimeSeries

rpc WatchPhantomTimeSeries(WatchPhantomTimeSeriesRequest) returns (WatchPhantomTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.watch

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/phantomTimeSeries:watch 

CreatePhantomTimeSerie Method

CreatePhantomTimeSerie

rpc CreatePhantomTimeSerie(CreatePhantomTimeSerieRequest) returns (PhantomTimeSerie)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.create

The equivalent REST API is:

POST /v4/{parent=projects/*/regions/*}/phantomTimeSeries (BODY: phantom_time_serie)

UpdatePhantomTimeSerie Method

UpdatePhantomTimeSerie

rpc UpdatePhantomTimeSerie(UpdatePhantomTimeSerieRequest) returns (PhantomTimeSerie)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.update

The equivalent REST API is:

PUT /v4/{phantom_time_serie.name=projects/*/regions/*/phantomTimeSeries/*} (BODY: phantom_time_serie)

DeletePhantomTimeSerie Method

DeletePhantomTimeSerie

rpc DeletePhantomTimeSerie(DeletePhantomTimeSerieRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/phantomTimeSeries.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/regions/*/phantomTimeSeries/*} 

PhantomTimeSerie Messages

Here is the list of PhantomTimeSerie resource messages:

PhantomTimeSerie Message

Name Type Description
name string (name of PhantomTimeSerie) Name of PhantomTimeSerie When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [\w+/=]{1,256}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
key bytes TimeSerie key identifies unique TimeSeries tuple: <project, metric.type, metric.labels, resource.type, resource.labels> Kind/ValueType are not present in key Key is not to be decoded outside of service, but treated as opaque string
project string Internal use - for bulk reporting of TimeSeries
metric Metric The associated metric. A fully-specified metric used to identify the time series. This field cannot be updated, can be only set during creation.
resource MonitoredResource The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. This field cannot be updated, can be only set during creation.
metric_kind MetricDescriptor.MetricKind The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric’s descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.
value_type MetricDescriptor.ValueType The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.
value TypedValue Phantom value

GetPhantomTimeSerieRequest Message

A request message of the GetPhantomTimeSerie method.

Name Type Description
name string (name of PhantomTimeSerie) Name of ntt.monitoring.v4.PhantomTimeSerie
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetPhantomTimeSeriesRequest Message

A request message of the BatchGetPhantomTimeSeries method.

Name Type Description
names repeated string (name of PhantomTimeSerie) Names of PhantomTimeSeries
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetPhantomTimeSeriesResponse Message

A response message of the BatchGetPhantomTimeSeries method.

Name Type Description
phantom_time_series repeated PhantomTimeSerie found PhantomTimeSeries
missing repeated string (name of PhantomTimeSerie) list of not found PhantomTimeSeries

ListPhantomTimeSeriesRequest Message

A request message of the ListPhantomTimeSeries method.

Name Type Description
parent string (parent name of PhantomTimeSerie) Parent name of ntt.monitoring.v4.PhantomTimeSerie
page_size int32 Requested page size. Server may return fewer PhantomTimeSeries than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of PhantomTimeSerie) A token identifying a page of results the server should return. Typically, this is the value of ListPhantomTimeSeriesResponse.next_page_token.
order_by string (orderBy of PhantomTimeSerie) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of PhantomTimeSerie) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListPhantomTimeSeriesResponse Message

A response message of the ListPhantomTimeSeries method.

Name Type Description
phantom_time_series repeated PhantomTimeSerie The list of PhantomTimeSeries
prev_page_token string (cursor of PhantomTimeSerie) A token to retrieve previous page of results. Pass this value in the ListPhantomTimeSeriesRequest.page_token.
next_page_token string (cursor of PhantomTimeSerie) A token to retrieve next page of results. Pass this value in the ListPhantomTimeSeriesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total PhantomTimeSeries across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchPhantomTimeSerieRequest Message

A request message of the WatchPhantomTimeSerie method.

Name Type Description
name string (name of PhantomTimeSerie) Name of ntt.monitoring.v4.PhantomTimeSerie
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchPhantomTimeSerieResponse Message

A response message of the WatchPhantomTimeSerie method.

Name Type Description
change PhantomTimeSerieChange

WatchPhantomTimeSeriesRequest Message

A request message of the WatchPhantomTimeSeries method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of PhantomTimeSerie) Parent name of ntt.monitoring.v4.PhantomTimeSerie
page_size int32 Requested page size. Server may return fewer PhantomTimeSeries than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of PhantomTimeSerie) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of PhantomTimeSerie) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of PhantomTimeSerie) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to PhantomTimeSerie that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to PhantomTimeSerie that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchPhantomTimeSeriesResponse Message

A response message of the WatchPhantomTimeSeries method.

Name Type Description
phantom_time_serie_changes repeated PhantomTimeSerieChange Changes of PhantomTimeSeries
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All PhantomTimeSeries will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchPhantomTimeSeriesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (PhantomTimeSeries will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchPhantomTimeSeriesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of PhantomTimeSerie) New token to retrieve previous page of results.
next_page_token string (cursor of PhantomTimeSerie) New token to retrieve next page of results.

CreatePhantomTimeSerieRequest Message

A request message of the CreatePhantomTimeSerie method.

Name Type Description
parent string (parent name of PhantomTimeSerie) Parent name of ntt.monitoring.v4.PhantomTimeSerie
phantom_time_serie PhantomTimeSerie PhantomTimeSerie resource body
response_mask CreatePhantomTimeSerieRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreatePhantomTimeSerieRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdatePhantomTimeSerieRequest Message

A request message of the UpdatePhantomTimeSerie method.

Name Type Description
phantom_time_serie PhantomTimeSerie PhantomTimeSerie resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdatePhantomTimeSerieRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdatePhantomTimeSerieRequest.ResponseMask reduce message response size.

UpdatePhantomTimeSerieRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state PhantomTimeSerie Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdatePhantomTimeSerieRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeletePhantomTimeSerieRequest Message

A request message of the DeletePhantomTimeSerie method.

Name Type Description
name string (name of PhantomTimeSerie) Name of ntt.monitoring.v4.PhantomTimeSerie

Project Resource

Project Resource

Name patterns:

  • projects/{project}

This section covers the methods and messages to interact with Project resource.

Project Methods

Here is the list of Project resource methods:

GetProject Method

GetProject

rpc GetProject(GetProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.get

The equivalent REST API is:

GET /v4/{name=projects/*} 

BatchGetProjects Method

BatchGetProjects

rpc BatchGetProjects(BatchGetProjectsRequest) returns (BatchGetProjectsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.batchGet

The equivalent REST API is:

GET /v4/projects:batchGet 

ListProjects Method

ListProjects

rpc ListProjects(ListProjectsRequest) returns (ListProjectsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.list

The equivalent REST API is:

GET /v4/projects 

WatchProject Method

WatchProject

rpc WatchProject(WatchProjectRequest) returns (WatchProjectResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.watch

The equivalent REST API is:

POST /v4/{name=projects/*}:watch 

WatchProjects Method

WatchProjects

rpc WatchProjects(WatchProjectsRequest) returns (WatchProjectsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.watch

The equivalent REST API is:

POST /v4/projects:watch 

CreateProject Method

CreateProject

rpc CreateProject(CreateProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.create

The equivalent REST API is:

POST /v4/projects (BODY: project)

UpdateProject Method

UpdateProject

rpc UpdateProject(UpdateProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.update

The equivalent REST API is:

PUT /v4/{project.name=projects/*} (BODY: project)

DeleteProject Method

DeleteProject

rpc DeleteProject(DeleteProjectRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/projects.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*} 

Project Messages

Here is the list of Project resource messages:

Project Message

Name Type Description
name string (name of Project) Name of Project When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
title string
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
multi_region_policy MultiRegionPolicy Multi region policy

GetProjectRequest Message

A request message of the GetProject method.

Name Type Description
name string (name of Project) Name of ntt.monitoring.v4.Project
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProjectsRequest Message

A request message of the BatchGetProjects method.

Name Type Description
names repeated string (name of Project) Names of Projects
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProjectsResponse Message

A response message of the BatchGetProjects method.

Name Type Description
projects repeated Project found Projects
missing repeated string (name of Project) list of not found Projects

ListProjectsRequest Message

A request message of the ListProjects method.

Name Type Description
page_size int32 Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Project) A token identifying a page of results the server should return. Typically, this is the value of ListProjectsResponse.next_page_token.
order_by string (orderBy of Project) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Project) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListProjectsResponse Message

A response message of the ListProjects method.

Name Type Description
projects repeated Project The list of Projects
prev_page_token string (cursor of Project) A token to retrieve previous page of results. Pass this value in the ListProjectsRequest.page_token.
next_page_token string (cursor of Project) A token to retrieve next page of results. Pass this value in the ListProjectsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Projects across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchProjectRequest Message

A request message of the WatchProject method.

Name Type Description
name string (name of Project) Name of ntt.monitoring.v4.Project
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchProjectResponse Message

A response message of the WatchProject method.

Name Type Description
change ProjectChange

WatchProjectsRequest Message

A request message of the WatchProjects method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
page_size int32 Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Project) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Project) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Project) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Project that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Project that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchProjectsResponse Message

A response message of the WatchProjects method.

Name Type Description
project_changes repeated ProjectChange Changes of Projects
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Projects will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchProjectsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Projects will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchProjectsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Project) New token to retrieve previous page of results.
next_page_token string (cursor of Project) New token to retrieve next page of results.

CreateProjectRequest Message

A request message of the CreateProject method.

Name Type Description
project Project Project resource body
response_mask CreateProjectRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateProjectRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateProjectRequest Message

A request message of the UpdateProject method.

Name Type Description
project Project Project resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateProjectRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateProjectRequest.ResponseMask reduce message response size.

UpdateProjectRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Project Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateProjectRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteProjectRequest Message

A request message of the DeleteProject method.

Name Type Description
name string (name of Project) Name of ntt.monitoring.v4.Project

RecoveryStoreShardingInfo Resource

RecoveryStoreShardingInfo Resource

Name patterns:

  • regions/{region}/recoveryStoreShardingInfos/{recovery_store_sharding_info}

This section covers the methods and messages to interact with RecoveryStoreShardingInfo resource.

RecoveryStoreShardingInfo Methods

Here is the list of RecoveryStoreShardingInfo resource methods:

GetRecoveryStoreShardingInfo Method

GetRecoveryStoreShardingInfo

rpc GetRecoveryStoreShardingInfo(GetRecoveryStoreShardingInfoRequest) returns (RecoveryStoreShardingInfo)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.get

The equivalent REST API is:

GET /v4/{name=regions/*/recoveryStoreShardingInfos/*} 

BatchGetRecoveryStoreShardingInfos Method

BatchGetRecoveryStoreShardingInfos

rpc BatchGetRecoveryStoreShardingInfos(BatchGetRecoveryStoreShardingInfosRequest) returns (BatchGetRecoveryStoreShardingInfosResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.batchGet

The equivalent REST API is:

GET /v4/recoveryStoreShardingInfos:batchGet 

ListRecoveryStoreShardingInfos Method

ListRecoveryStoreShardingInfos

rpc ListRecoveryStoreShardingInfos(ListRecoveryStoreShardingInfosRequest) returns (ListRecoveryStoreShardingInfosResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.list

The equivalent REST API is:

GET /v4/{parent=regions/*}/recoveryStoreShardingInfos 

WatchRecoveryStoreShardingInfo Method

WatchRecoveryStoreShardingInfo

rpc WatchRecoveryStoreShardingInfo(WatchRecoveryStoreShardingInfoRequest) returns (WatchRecoveryStoreShardingInfoResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.watch

The equivalent REST API is:

POST /v4/{name=regions/*/recoveryStoreShardingInfos/*}:watch 

WatchRecoveryStoreShardingInfos Method

WatchRecoveryStoreShardingInfos

rpc WatchRecoveryStoreShardingInfos(WatchRecoveryStoreShardingInfosRequest) returns (WatchRecoveryStoreShardingInfosResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.watch

The equivalent REST API is:

POST /v4/{parent=regions/*}/recoveryStoreShardingInfos:watch 

CreateRecoveryStoreShardingInfo Method

CreateRecoveryStoreShardingInfo

rpc CreateRecoveryStoreShardingInfo(CreateRecoveryStoreShardingInfoRequest) returns (RecoveryStoreShardingInfo)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.create

The equivalent REST API is:

POST /v4/{parent=regions/*}/recoveryStoreShardingInfos (BODY: recovery_store_sharding_info)

UpdateRecoveryStoreShardingInfo Method

UpdateRecoveryStoreShardingInfo

rpc UpdateRecoveryStoreShardingInfo(UpdateRecoveryStoreShardingInfoRequest) returns (RecoveryStoreShardingInfo)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.update

The equivalent REST API is:

PUT /v4/{recovery_store_sharding_info.name=regions/*/recoveryStoreShardingInfos/*} (BODY: recovery_store_sharding_info)

DeleteRecoveryStoreShardingInfo Method

DeleteRecoveryStoreShardingInfo

rpc DeleteRecoveryStoreShardingInfo(DeleteRecoveryStoreShardingInfoRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/recoveryStoreShardingInfos.delete

The equivalent REST API is:

DELETE /v4/{name=regions/*/recoveryStoreShardingInfos/*} 

RecoveryStoreShardingInfo Messages

Here is the list of RecoveryStoreShardingInfo resource messages:

RecoveryStoreShardingInfo Message

Name Type Description
name string (name of RecoveryStoreShardingInfo) Name of RecoveryStoreShardingInfo When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-zA-Z0-9_.-]{1,128}
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
validity_period RecoveryStoreShardingInfo.ValidityPeriod Period during which this sharding spec is valid.
spec RecoveryStoreShardingInfo.ShardingSpec Sharding spec for given validity period.

RecoveryStoreShardingInfo.ValidityPeriod Message

Validity period specifies for which period of time this sharding spec is valid.

Name Type Description
start_time .google.protobuf.Timestamp Start time of validity period.
end_time .google.protobuf.Timestamp End time of validity period.

RecoveryStoreShardingInfo.ShardingSpec Message

Sharding spec defines how time series points is divided across two dimensions: key (shards_count) and time (ts_blob_period).

Name Type Description
ts_blob_period .google.protobuf.Duration Defines period of time series points in a single blob.
shards_count uint32s Number of shards (by key) in given shard period

GetRecoveryStoreShardingInfoRequest Message

A request message of the GetRecoveryStoreShardingInfo method.

Name Type Description
name string (name of RecoveryStoreShardingInfo) Name of ntt.monitoring.v4.RecoveryStoreShardingInfo
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetRecoveryStoreShardingInfosRequest Message

A request message of the BatchGetRecoveryStoreShardingInfos method.

Name Type Description
names repeated string (name of RecoveryStoreShardingInfo) Names of RecoveryStoreShardingInfos
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetRecoveryStoreShardingInfosResponse Message

A response message of the BatchGetRecoveryStoreShardingInfos method.

Name Type Description
recovery_store_sharding_infos repeated RecoveryStoreShardingInfo found RecoveryStoreShardingInfos
missing repeated string (name of RecoveryStoreShardingInfo) list of not found RecoveryStoreShardingInfos

ListRecoveryStoreShardingInfosRequest Message

A request message of the ListRecoveryStoreShardingInfos method.

Name Type Description
parent string (parent name of RecoveryStoreShardingInfo) Parent name of ntt.monitoring.v4.RecoveryStoreShardingInfo
page_size int32 Requested page size. Server may return fewer RecoveryStoreShardingInfos than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of RecoveryStoreShardingInfo) A token identifying a page of results the server should return. Typically, this is the value of ListRecoveryStoreShardingInfosResponse.next_page_token.
order_by string (orderBy of RecoveryStoreShardingInfo) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of RecoveryStoreShardingInfo) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListRecoveryStoreShardingInfosResponse Message

A response message of the ListRecoveryStoreShardingInfos method.

Name Type Description
recovery_store_sharding_infos repeated RecoveryStoreShardingInfo The list of RecoveryStoreShardingInfos
prev_page_token string (cursor of RecoveryStoreShardingInfo) A token to retrieve previous page of results. Pass this value in the ListRecoveryStoreShardingInfosRequest.page_token.
next_page_token string (cursor of RecoveryStoreShardingInfo) A token to retrieve next page of results. Pass this value in the ListRecoveryStoreShardingInfosRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total RecoveryStoreShardingInfos across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchRecoveryStoreShardingInfoRequest Message

A request message of the WatchRecoveryStoreShardingInfo method.

Name Type Description
name string (name of RecoveryStoreShardingInfo) Name of ntt.monitoring.v4.RecoveryStoreShardingInfo
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchRecoveryStoreShardingInfoResponse Message

A response message of the WatchRecoveryStoreShardingInfo method.

Name Type Description
change RecoveryStoreShardingInfoChange

WatchRecoveryStoreShardingInfosRequest Message

A request message of the WatchRecoveryStoreShardingInfos method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of RecoveryStoreShardingInfo) Parent name of ntt.monitoring.v4.RecoveryStoreShardingInfo
page_size int32 Requested page size. Server may return fewer RecoveryStoreShardingInfos than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of RecoveryStoreShardingInfo) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of RecoveryStoreShardingInfo) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of RecoveryStoreShardingInfo) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to RecoveryStoreShardingInfo that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to RecoveryStoreShardingInfo that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchRecoveryStoreShardingInfosResponse Message

A response message of the WatchRecoveryStoreShardingInfos method.

Name Type Description
recovery_store_sharding_info_changes repeated RecoveryStoreShardingInfoChange Changes of RecoveryStoreShardingInfos
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All RecoveryStoreShardingInfos will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchRecoveryStoreShardingInfosResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (RecoveryStoreShardingInfos will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchRecoveryStoreShardingInfosResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of RecoveryStoreShardingInfo) New token to retrieve previous page of results.
next_page_token string (cursor of RecoveryStoreShardingInfo) New token to retrieve next page of results.

CreateRecoveryStoreShardingInfoRequest Message

A request message of the CreateRecoveryStoreShardingInfo method.

Name Type Description
parent string (parent name of RecoveryStoreShardingInfo) Parent name of ntt.monitoring.v4.RecoveryStoreShardingInfo
recovery_store_sharding_info RecoveryStoreShardingInfo RecoveryStoreShardingInfo resource body
response_mask CreateRecoveryStoreShardingInfoRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateRecoveryStoreShardingInfoRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateRecoveryStoreShardingInfoRequest Message

A request message of the UpdateRecoveryStoreShardingInfo method.

Name Type Description
recovery_store_sharding_info RecoveryStoreShardingInfo RecoveryStoreShardingInfo resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateRecoveryStoreShardingInfoRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateRecoveryStoreShardingInfoRequest.ResponseMask reduce message response size.

UpdateRecoveryStoreShardingInfoRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state RecoveryStoreShardingInfo Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateRecoveryStoreShardingInfoRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteRecoveryStoreShardingInfoRequest Message

A request message of the DeleteRecoveryStoreShardingInfo method.

Name Type Description
name string (name of RecoveryStoreShardingInfo) Name of ntt.monitoring.v4.RecoveryStoreShardingInfo

TimeSerie Resource

TimeSerie Resource

Name patterns:

  • projects/{project}/timeSeries/{time_serie}
  • projects/{project}/regions/{region}/buckets/{bucket}/timeSeries/{time_serie}

Parent resources:

This section covers the methods and messages to interact with TimeSerie resource.

TimeSerie Methods

Here is the list of TimeSerie resource methods:

ListTimeSeries Method

ListTimeSeries

rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeries.list

The equivalent REST API is:

GET /v4/{parent=projects/*}/timeSeries 
GET /v4/{parent=projects/*/regions/*/buckets/*}/timeSeries 

QueryProjectTimeSeriesStats Method

QueryProjectTimeSeriesStats

rpc QueryProjectTimeSeriesStats(QueryProjectTimeSeriesStatsRequest) returns (QueryProjectTimeSeriesStatsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeries.queryProjectStats

The equivalent REST API is:

GET /v4/{project=projects/*}/timeSeries 

QueryServiceTimeSeriesStats Method

QueryServiceTimeSeriesStats

rpc QueryServiceTimeSeriesStats(QueryServiceTimeSeriesStatsRequest) returns (QueryServiceTimeSeriesStatsResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeries.queryServiceStats

The equivalent REST API is:

GET /v4/{service=services/*}/timeSeries 

CreateTimeSeries Method

CreateTimeSeries

rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (CreateTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeries.create

The equivalent REST API is:

POST /v4/{parent=projects/*}/timeSeries (BODY: time_series)
POST /v4/{parent=projects/*/regions/*/buckets/*}/timeSeries 

WatchTimeSeries Method

WatchTimeSeries

rpc WatchTimeSeries(WatchTimeSeriesRequest) returns (WatchTimeSeriesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeries.watch

The equivalent REST API is:

POST /v4:watch 

TimeSerie Messages

Here is the list of TimeSerie resource messages:

TimeSerie Message

Name Type Description
key bytes TimeSerie key identifies unique TimeSeries tuple: <project, region, metric.type, metric.labels, resource.type, resource.labels, unit> Kind/ValueType are not present in key Key is not to be decoded outside of service, but treated as opaque string Specific key is valid and understood only in single region only. If time serie is created by merging from multiple regions, key must be ignore.
project string Internal use - for bulk reporting of TimeSeries
region string Region ID associated with time serie.
unit string Unit taken from MetricDescriptor (metric.type field). It does not need to be populated during creation (it is derived). It may be modified by certain queries (COUNT will switch unit to “1”, ALIGN_RATE will append “/s”.
metric Metric The associated metric. A fully-specified metric used to identify the time series.
resource MonitoredResource The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.
metric_kind MetricDescriptor.MetricKind The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric’s descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.
value_type MetricDescriptor.ValueType The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.
points repeated Point The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point’s type must be the same as the value type of the associated metric. If the associated metric’s descriptor must be auto-created, then the value type of the descriptor is determined by the point’s type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.

ListTimeSeriesRequest Message

Request message for method [ListTimeSeries][ntt.monitoring.v4.ListTimeSeries]

Name Type Description
parent string The project on which to execute the request. The format is “projects/{project_id}”, or “projects/{project_id}/regions/{region_id}/buckets/{bucket_id}”
filter string (filter of TimeSerie) A monitoring filter that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = “compute.googleapis.com/instance/cpu/usage_time” AND metric.label.instance_name = “my-instance-name”
interval TimeInterval The time interval for which results should be returned. Only time series that contain data points in the specified interval are included in the response.
aggregation Aggregation Instructs how to transform individual time series (aligner) and combine them together (reducer, group by fields). Cannot be used with pagination, as pagination exactly defines aggregation. Query will be rejected if it touches too many time series.
pagination Pagination Picks paginated time series according to pre-defined (in metric descriptor) view and function. Cannot be used with aggregation, because pagination view and function determines time series transformation and sorting.
view TimeSeriesView Specifies which information is returned about the time series.
field_mask .google.protobuf.FieldMask view list mask. Optimize network usage and limit returned header fields to a required subset. example fields in field mask: - “key”: for later caching, - “resource.labels.project_id”, “resource.labels.instance_name”, etc - specific labels only - “resource”, “metric”: all resource labels, reduced_labels and type NOTE: points are added implicitly
points_cap int32 A positive number that is the maximum number of Points to return. If points_cap is empty or more than 100,000 results, the effective points_cap is 100,000 results. If view is set to HEADERS, this is the maximum number of TimeSeries returned.
continuation_token string If this field is not empty then it must contain the continuation_token value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.

ListTimeSeriesResponse Message

Response message for method [ListTimeSeries][ntt.monitoring.v4.ListTimeSeries]

Name Type Description
time_series repeated TimeSerie One or more time series that match the filter included in the request.
execution_errors repeated Status Query execution errors that may have caused the time series data returned to be incomplete.
continuation_token string If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as continuation_token in the next call to this method.
total_point_counters repeated TimeSerie Special time series with total amount of records available for pagination by given time series key. Metric/Resource labels will contain “common” values shared by all ranked time series. ValueType will be always INT64 and metricKind GAUGE. In a sense, this time series is execution of ListTimeSeries with Aggregation = {groupByFields: [<viewPaginatedLabels>], REDUCER: REDUCE_COUNT} This field is only populated for paginated queries (pagination in ListTimeSeries is specified).

ListTimeSeriesResponse.ErrorDetails Message

ErrorDetails is used when one of the queried regions fails to produce results. It is used in execution_errors field (see subfield ntt.rpc.Status.details).

Name Type Description
region_id string region id which failed to give results.

QueryProjectTimeSeriesStatsRequest Message

Response message for method [QueryProjectTimeSeriesStats][ntt.monitoring.v4.QueryProjectTimeSeriesStats]

Name Type Description
project string (name of Project)
service string Service domain for which we request stats, for example “devices.edgelq.com”
region_id string Region ID from which to get metrics
ap .google.protobuf.Duration Aggregation alignment period
interval TimeInterval The time interval for which results should be returned.
page_size int32 A positive number that is the maximum number of results to return. If page_size is empty or more than 100,000 results, the effective page_size is 100,000 results.
page_token string If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
query StatsQuery

QueryProjectTimeSeriesStatsResponse Message

Response message for method [QueryProjectTimeSeriesStats][ntt.monitoring.v4.QueryProjectTimeSeriesStats]

Name Type Description
time_series repeated TimeSerie One or more time series that match the request.
next_page_token string If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.
execution_errors repeated Status Query execution errors that may have caused the time series data returned to be incomplete.

QueryProjectTimeSeriesStatsResponse.ErrorDetails Message

ErrorDetails is used when one of the queried regions fails to produce results. It is used in execution_errors field (see subfield ntt.rpc.Status.details).

Name Type Description
region_id string region id which failed to give results.

QueryServiceTimeSeriesStatsRequest Message

Response message for method [QueryServiceTimeSeriesStats][ntt.monitoring.v4.QueryServiceTimeSeriesStats]

Name Type Description
service string (name of Service)
region_id string Region ID from which stats should e obtained
ap .google.protobuf.Duration
interval TimeInterval The time interval for which results should be returned.
page_size int32 A positive number that is the maximum number of results to return. If page_size is empty or more than 100,000 results, the effective page_size is 100,000 results.
page_token string If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
user_project_ids repeated string Optional list of user projects for which we want to get stats. If provided, statistics will be grouped by them.
query StatsQuery

QueryServiceTimeSeriesStatsResponse Message

Response message for method [QueryServiceTimeSeriesStats][ntt.monitoring.v4.QueryServiceTimeSeriesStats]

Name Type Description
time_series repeated TimeSerie One or more time series that match the request.
next_page_token string If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.
execution_errors repeated Status Query execution errors that may have caused the time series data returned to be incomplete.

QueryServiceTimeSeriesStatsResponse.ErrorDetails Message

ErrorDetails is used when one of the queried regions fails to produce results. It is used in execution_errors field (see subfield ntt.rpc.Status.details).

Name Type Description
region_id string region id which failed to give results.

CreateTimeSeriesRequest Message

Request message for method [CreateTimeSeries][ntt.monitoring.v4.CreateTimeSeries]

Name Type Description
parent string The project on which to execute the request. The format is “projects/{project_id}”, or “projects/{project_id}/regions/{region_id}/buckets/{bucket_id}”
time_series repeated TimeSerie The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each TimeSeries value must fully specify a unique time series by supplying all label values for the metric and the monitored resource.

CreateTimeSeriesResponse Message

Response message for method [CreateTimeSeries][ntt.monitoring.v4.CreateTimeSeries]

Name Type Description
time_serie_keys map<uint32s, bytes> Time Serie keys indexed by Create position - present only when given TimeSerie didn’t use Key field
failed_time_series repeated CreateTimeSeriesError Time series that failed to be created

WatchTimeSeriesRequest Message

Name Type Description
parent string The project on which to execute the request. The format is “projects/{project_id}”, or “projects/{project_id}/regions/{region_id}/buckets/{bucket_id}”
filter string (filter of TimeSerie) A monitoring filter that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = “compute.googleapis.com/instance/cpu/usage_time” AND metric.label.instance_name = “my-instance-name”
aggregation Aggregation Instructs how to transform individual time series (aligner) and combine them together (reducer, group by fields).
snapshot_interval_to_fetch .google.protobuf.Duration Amount of past data to fetch when new time series key appears (not present in current session). For example: If client lost previous watch session for 15 minutes, they can set this field value to 15 minutes duration + 1 extra AlignmentPeriod value just in case. Initial time series in response will contain extra past data. Once specific TimeSeries key was already observed, further values will be coming only from realtime watch. This field has lower priority than starting_time!
starting_time .google.protobuf.Timestamp For every new unique time series key monitoring will try to fetch past data from given starting time. This is useful for recovery purposes, if client has lost previous watch session. Once snapshot is retrieved for given key, further data will contain live updates. This field takes priority over snapshot_interval_to_fetch.

WatchTimeSeriesResponse Message

Name Type Description
time_series repeated TimeSerie

TimeSeriesCollectionRule Resource

TimeSeriesCollectionRule Resource is a persistent WatchTimeSeries session registered on the server side. It collects time series according to the specified filter/aggregation, and within a project where rule is. Sink resource can be from different project.

Name patterns:

  • projects/{project}/timeSeriesCollectionRules/{time_series_collection_rule}

Parent resources:

This section covers the methods and messages to interact with TimeSeriesCollectionRule resource.

TimeSeriesCollectionRule Methods

Here is the list of TimeSeriesCollectionRule resource methods:

GetTimeSeriesCollectionRule Method

GetTimeSeriesCollectionRule

rpc GetTimeSeriesCollectionRule(GetTimeSeriesCollectionRuleRequest) returns (TimeSeriesCollectionRule)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.get

The equivalent REST API is:

GET /v4/{name=projects/*/timeSeriesCollectionRules/*} 

BatchGetTimeSeriesCollectionRules Method

BatchGetTimeSeriesCollectionRules

rpc BatchGetTimeSeriesCollectionRules(BatchGetTimeSeriesCollectionRulesRequest) returns (BatchGetTimeSeriesCollectionRulesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.batchGet

The equivalent REST API is:

GET /v4/timeSeriesCollectionRules:batchGet 

ListTimeSeriesCollectionRules Method

ListTimeSeriesCollectionRules

rpc ListTimeSeriesCollectionRules(ListTimeSeriesCollectionRulesRequest) returns (ListTimeSeriesCollectionRulesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.list

The equivalent REST API is:

GET /v4/{parent=projects/*}/timeSeriesCollectionRules 

WatchTimeSeriesCollectionRule Method

WatchTimeSeriesCollectionRule

rpc WatchTimeSeriesCollectionRule(WatchTimeSeriesCollectionRuleRequest) returns (WatchTimeSeriesCollectionRuleResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.watch

The equivalent REST API is:

POST /v4/{name=projects/*/timeSeriesCollectionRules/*}:watch 

WatchTimeSeriesCollectionRules Method

WatchTimeSeriesCollectionRules

rpc WatchTimeSeriesCollectionRules(WatchTimeSeriesCollectionRulesRequest) returns (WatchTimeSeriesCollectionRulesResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.watch

The equivalent REST API is:

POST /v4/{parent=projects/*}/timeSeriesCollectionRules:watch 

CreateTimeSeriesCollectionRule Method

CreateTimeSeriesCollectionRule

rpc CreateTimeSeriesCollectionRule(CreateTimeSeriesCollectionRuleRequest) returns (TimeSeriesCollectionRule)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.create

The equivalent REST API is:

POST /v4/{parent=projects/*}/timeSeriesCollectionRules (BODY: time_series_collection_rule)

UpdateTimeSeriesCollectionRule Method

UpdateTimeSeriesCollectionRule

rpc UpdateTimeSeriesCollectionRule(UpdateTimeSeriesCollectionRuleRequest) returns (TimeSeriesCollectionRule)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.update

The equivalent REST API is:

PUT /v4/{time_series_collection_rule.name=projects/*/timeSeriesCollectionRules/*} (BODY: time_series_collection_rule)

DeleteTimeSeriesCollectionRule Method

DeleteTimeSeriesCollectionRule

rpc DeleteTimeSeriesCollectionRule(DeleteTimeSeriesCollectionRuleRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesCollectionRules.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/timeSeriesCollectionRules/*} 

TimeSeriesCollectionRule Messages

Here is the list of TimeSeriesCollectionRule resource messages:

TimeSeriesCollectionRule Message

Name Type Description
name string (name of TimeSeriesCollectionRule) Name of TimeSeriesCollectionRule When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string Optional display name
filter string (filter of TimeSerie) Time series filter to apply.
aggregation Aggregation Instructs how to transform individual time series (aligner) and combine them together (reducer, group by fields).
rule_ids repeated string Allocated persistent rule IDs for underlying watch.
sink string (reference to TimeSeriesForwarderSink) Optional sink where data is automatically forwarder. It can be nil, if intention for this collection rule is to aid in pulling via time series watch feature (TODO: Not implemented, rule without sink has no effect).

GetTimeSeriesCollectionRuleRequest Message

A request message of the GetTimeSeriesCollectionRule method.

Name Type Description
name string (name of TimeSeriesCollectionRule) Name of ntt.monitoring.v4.TimeSeriesCollectionRule
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetTimeSeriesCollectionRulesRequest Message

A request message of the BatchGetTimeSeriesCollectionRules method.

Name Type Description
names repeated string (name of TimeSeriesCollectionRule) Names of TimeSeriesCollectionRules
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetTimeSeriesCollectionRulesResponse Message

A response message of the BatchGetTimeSeriesCollectionRules method.

Name Type Description
time_series_collection_rules repeated TimeSeriesCollectionRule found TimeSeriesCollectionRules
missing repeated string (name of TimeSeriesCollectionRule) list of not found TimeSeriesCollectionRules

ListTimeSeriesCollectionRulesRequest Message

A request message of the ListTimeSeriesCollectionRules method.

Name Type Description
parent string (parent name of TimeSeriesCollectionRule) Parent name of ntt.monitoring.v4.TimeSeriesCollectionRule
page_size int32 Requested page size. Server may return fewer TimeSeriesCollectionRules than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of TimeSeriesCollectionRule) A token identifying a page of results the server should return. Typically, this is the value of ListTimeSeriesCollectionRulesResponse.next_page_token.
order_by string (orderBy of TimeSeriesCollectionRule) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of TimeSeriesCollectionRule) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListTimeSeriesCollectionRulesResponse Message

A response message of the ListTimeSeriesCollectionRules method.

Name Type Description
time_series_collection_rules repeated TimeSeriesCollectionRule The list of TimeSeriesCollectionRules
prev_page_token string (cursor of TimeSeriesCollectionRule) A token to retrieve previous page of results. Pass this value in the ListTimeSeriesCollectionRulesRequest.page_token.
next_page_token string (cursor of TimeSeriesCollectionRule) A token to retrieve next page of results. Pass this value in the ListTimeSeriesCollectionRulesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total TimeSeriesCollectionRules across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchTimeSeriesCollectionRuleRequest Message

A request message of the WatchTimeSeriesCollectionRule method.

Name Type Description
name string (name of TimeSeriesCollectionRule) Name of ntt.monitoring.v4.TimeSeriesCollectionRule
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchTimeSeriesCollectionRuleResponse Message

A response message of the WatchTimeSeriesCollectionRule method.

Name Type Description
change TimeSeriesCollectionRuleChange

WatchTimeSeriesCollectionRulesRequest Message

A request message of the WatchTimeSeriesCollectionRules method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of TimeSeriesCollectionRule) Parent name of ntt.monitoring.v4.TimeSeriesCollectionRule
page_size int32 Requested page size. Server may return fewer TimeSeriesCollectionRules than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of TimeSeriesCollectionRule) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of TimeSeriesCollectionRule) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of TimeSeriesCollectionRule) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to TimeSeriesCollectionRule that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to TimeSeriesCollectionRule that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchTimeSeriesCollectionRulesResponse Message

A response message of the WatchTimeSeriesCollectionRules method.

Name Type Description
time_series_collection_rule_changes repeated TimeSeriesCollectionRuleChange Changes of TimeSeriesCollectionRules
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All TimeSeriesCollectionRules will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchTimeSeriesCollectionRulesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (TimeSeriesCollectionRules will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchTimeSeriesCollectionRulesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of TimeSeriesCollectionRule) New token to retrieve previous page of results.
next_page_token string (cursor of TimeSeriesCollectionRule) New token to retrieve next page of results.

CreateTimeSeriesCollectionRuleRequest Message

A request message of the CreateTimeSeriesCollectionRule method.

Name Type Description
parent string (parent name of TimeSeriesCollectionRule) Parent name of ntt.monitoring.v4.TimeSeriesCollectionRule
time_series_collection_rule TimeSeriesCollectionRule TimeSeriesCollectionRule resource body
response_mask CreateTimeSeriesCollectionRuleRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateTimeSeriesCollectionRuleRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateTimeSeriesCollectionRuleRequest Message

A request message of the UpdateTimeSeriesCollectionRule method.

Name Type Description
time_series_collection_rule TimeSeriesCollectionRule TimeSeriesCollectionRule resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateTimeSeriesCollectionRuleRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateTimeSeriesCollectionRuleRequest.ResponseMask reduce message response size.

UpdateTimeSeriesCollectionRuleRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state TimeSeriesCollectionRule Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateTimeSeriesCollectionRuleRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteTimeSeriesCollectionRuleRequest Message

A request message of the DeleteTimeSeriesCollectionRule method.

Name Type Description
name string (name of TimeSeriesCollectionRule) Name of ntt.monitoring.v4.TimeSeriesCollectionRule

TimeSeriesForwarderSink Resource

TimeSeriesForwarderSink Resource describes destination of TimeSeries data. Sink can be connected to TimeSeriesCollectionRule. TimeSeriesForwarderSink does not need to be in the same project as collection rule. Each item published on the sink will be a protobuf message of ntt.monitoring.v4.BulkTimeSeries.

Name patterns:

  • projects/{project}/timeSeriesForwarderSinks/{time_series_forwarder_sink}

Parent resources:

This section covers the methods and messages to interact with TimeSeriesForwarderSink resource.

TimeSeriesForwarderSink Methods

Here is the list of TimeSeriesForwarderSink resource methods:

GetTimeSeriesForwarderSink Method

GetTimeSeriesForwarderSink

rpc GetTimeSeriesForwarderSink(GetTimeSeriesForwarderSinkRequest) returns (TimeSeriesForwarderSink)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.get

The equivalent REST API is:

GET /v4/{name=projects/*/timeSeriesForwarderSinks/*} 

BatchGetTimeSeriesForwarderSinks Method

BatchGetTimeSeriesForwarderSinks

rpc BatchGetTimeSeriesForwarderSinks(BatchGetTimeSeriesForwarderSinksRequest) returns (BatchGetTimeSeriesForwarderSinksResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.batchGet

The equivalent REST API is:

GET /v4/timeSeriesForwarderSinks:batchGet 

ListTimeSeriesForwarderSinks Method

ListTimeSeriesForwarderSinks

rpc ListTimeSeriesForwarderSinks(ListTimeSeriesForwarderSinksRequest) returns (ListTimeSeriesForwarderSinksResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.list

The equivalent REST API is:

GET /v4/{parent=projects/*}/timeSeriesForwarderSinks 

WatchTimeSeriesForwarderSink Method

WatchTimeSeriesForwarderSink

rpc WatchTimeSeriesForwarderSink(WatchTimeSeriesForwarderSinkRequest) returns (WatchTimeSeriesForwarderSinkResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.watch

The equivalent REST API is:

POST /v4/{name=projects/*/timeSeriesForwarderSinks/*}:watch 

WatchTimeSeriesForwarderSinks Method

WatchTimeSeriesForwarderSinks

rpc WatchTimeSeriesForwarderSinks(WatchTimeSeriesForwarderSinksRequest) returns (WatchTimeSeriesForwarderSinksResponse)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.watch

The equivalent REST API is:

POST /v4/{parent=projects/*}/timeSeriesForwarderSinks:watch 

CreateTimeSeriesForwarderSink Method

CreateTimeSeriesForwarderSink

rpc CreateTimeSeriesForwarderSink(CreateTimeSeriesForwarderSinkRequest) returns (TimeSeriesForwarderSink)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.create

The equivalent REST API is:

POST /v4/{parent=projects/*}/timeSeriesForwarderSinks (BODY: time_series_forwarder_sink)

UpdateTimeSeriesForwarderSink Method

UpdateTimeSeriesForwarderSink

rpc UpdateTimeSeriesForwarderSink(UpdateTimeSeriesForwarderSinkRequest) returns (TimeSeriesForwarderSink)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.update

The equivalent REST API is:

PUT /v4/{time_series_forwarder_sink.name=projects/*/timeSeriesForwarderSinks/*} (BODY: time_series_forwarder_sink)

DeleteTimeSeriesForwarderSink Method

DeleteTimeSeriesForwarderSink

rpc DeleteTimeSeriesForwarderSink(DeleteTimeSeriesForwarderSinkRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/monitoring.edgelq.com/permissions/timeSeriesForwarderSinks.delete

The equivalent REST API is:

DELETE /v4/{name=projects/*/timeSeriesForwarderSinks/*} 

TimeSeriesForwarderSink Messages

Here is the list of TimeSeriesForwarderSink resource messages:

TimeSeriesForwarderSink Message

Name Type Description
name string (name of TimeSeriesForwarderSink) Name of TimeSeriesForwarderSink When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones).
display_name string Optional display name
spec TimeSeriesForwarderSink.Spec Current spec
status TimeSeriesForwarderSink.Status Current status

TimeSeriesForwarderSink.Spec Message

Sink specification, instructing where data must go. It must specify one valid sink spec inside.

Name Type Description
compression TimeSeriesForwarderSink.Spec.Compression Optional data compression.
azure_event_hub TimeSeriesForwarderSink.Spec.AzureEventHubSink

TimeSeriesForwarderSink.Status Message

Status describes status of TimeSeriesForwarderSink.

Name Type Description
error string If there is some persisting error on the sink, it will be reported here.

TimeSeriesForwarderSink.Spec.AzureEventHubSink Message

AzureEventHubSink describes sink for Azure Event Hub.

Name Type Description
endpoint string (reference to Secret) Endpoint must contain secret value for authentication purposes, therefore it is packed as a Secret resource. Secret resource itself must contain following data field: { “data”: { “EndpointString”: “Endpoint=sb://<name>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<SECRET>;EntityPath=<topicName>” } } Replace <> elements with appropiate values.

GetTimeSeriesForwarderSinkRequest Message

A request message of the GetTimeSeriesForwarderSink method.

Name Type Description
name string (name of TimeSeriesForwarderSink) Name of ntt.monitoring.v4.TimeSeriesForwarderSink
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetTimeSeriesForwarderSinksRequest Message

A request message of the BatchGetTimeSeriesForwarderSinks method.

Name Type Description
names repeated string (name of TimeSeriesForwarderSink) Names of TimeSeriesForwarderSinks
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetTimeSeriesForwarderSinksResponse Message

A response message of the BatchGetTimeSeriesForwarderSinks method.

Name Type Description
time_series_forwarder_sinks repeated TimeSeriesForwarderSink found TimeSeriesForwarderSinks
missing repeated string (name of TimeSeriesForwarderSink) list of not found TimeSeriesForwarderSinks

ListTimeSeriesForwarderSinksRequest Message

A request message of the ListTimeSeriesForwarderSinks method.

Name Type Description
parent string (parent name of TimeSeriesForwarderSink) Parent name of ntt.monitoring.v4.TimeSeriesForwarderSink
page_size int32 Requested page size. Server may return fewer TimeSeriesForwarderSinks than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of TimeSeriesForwarderSink) A token identifying a page of results the server should return. Typically, this is the value of ListTimeSeriesForwarderSinksResponse.next_page_token.
order_by string (orderBy of TimeSeriesForwarderSink) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of TimeSeriesForwarderSink) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListTimeSeriesForwarderSinksResponse Message

A response message of the ListTimeSeriesForwarderSinks method.

Name Type Description
time_series_forwarder_sinks repeated TimeSeriesForwarderSink The list of TimeSeriesForwarderSinks
prev_page_token string (cursor of TimeSeriesForwarderSink) A token to retrieve previous page of results. Pass this value in the ListTimeSeriesForwarderSinksRequest.page_token.
next_page_token string (cursor of TimeSeriesForwarderSink) A token to retrieve next page of results. Pass this value in the ListTimeSeriesForwarderSinksRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total TimeSeriesForwarderSinks across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchTimeSeriesForwarderSinkRequest Message

A request message of the WatchTimeSeriesForwarderSink method.

Name Type Description
name string (name of TimeSeriesForwarderSink) Name of ntt.monitoring.v4.TimeSeriesForwarderSink
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchTimeSeriesForwarderSinkResponse Message

A response message of the WatchTimeSeriesForwarderSink method.

Name Type Description
change TimeSeriesForwarderSinkChange

WatchTimeSeriesForwarderSinksRequest Message

A request message of the WatchTimeSeriesForwarderSinks method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of TimeSeriesForwarderSink) Parent name of ntt.monitoring.v4.TimeSeriesForwarderSink
page_size int32 Requested page size. Server may return fewer TimeSeriesForwarderSinks than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of TimeSeriesForwarderSink) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of TimeSeriesForwarderSink) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of TimeSeriesForwarderSink) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to TimeSeriesForwarderSink that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to TimeSeriesForwarderSink that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchTimeSeriesForwarderSinksResponse Message

A response message of the WatchTimeSeriesForwarderSinks method.

Name Type Description
time_series_forwarder_sink_changes repeated TimeSeriesForwarderSinkChange Changes of TimeSeriesForwarderSinks
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All TimeSeriesForwarderSinks will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchTimeSeriesForwarderSinksResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (TimeSeriesForwarderSinks will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchTimeSeriesForwarderSinksResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of TimeSeriesForwarderSink) New token to retrieve previous page of results.
next_page_token string (cursor of TimeSeriesForwarderSink) New token to retrieve next page of results.

CreateTimeSeriesForwarderSinkRequest Message

A request message of the CreateTimeSeriesForwarderSink method.

Name Type Description
parent string (parent name of TimeSeriesForwarderSink) Parent name of ntt.monitoring.v4.TimeSeriesForwarderSink
time_series_forwarder_sink TimeSeriesForwarderSink TimeSeriesForwarderSink resource body
response_mask CreateTimeSeriesForwarderSinkRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateTimeSeriesForwarderSinkRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateTimeSeriesForwarderSinkRequest Message

A request message of the UpdateTimeSeriesForwarderSink method.

Name Type Description
time_series_forwarder_sink TimeSeriesForwarderSink TimeSeriesForwarderSink resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateTimeSeriesForwarderSinkRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateTimeSeriesForwarderSinkRequest.ResponseMask reduce message response size.

UpdateTimeSeriesForwarderSinkRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state TimeSeriesForwarderSink Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateTimeSeriesForwarderSinkRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteTimeSeriesForwarderSinkRequest Message

A request message of the DeleteTimeSeriesForwarderSink method.

Name Type Description
name string (name of TimeSeriesForwarderSink) Name of ntt.monitoring.v4.TimeSeriesForwarderSink

TimeSeriesForwarderSink Enumerations

Here is the list of TimeSeriesForwarderSink resource enumerations:

TimeSeriesForwarderSink.Spec.Compression Enumeration

Name Description
NO_COMPRESSION
SNAPPY

Monitoring Service Shared Methods and Messages

Monitoring Service Shared Messages

Here is the list of Monitoring service shared messages:

Aggregation Message

Describes how to combine multiple time series to provide different views of the data. Aggregation consists of an alignment step on individual time series (alignment_period and per_series_aligner) followed by an optional reduction step of the data across the aligned time series (cross_series_reducer and group_by_fields). For more details, see Aggregation.

Name Type Description
alignment_period .google.protobuf.Duration The alignment period for per-[time series][ntt.monitoring.v3.TimeSeries] alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
per_series_aligner Aggregation.Aligner The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.
cross_series_reducer Aggregation.Reducer The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.
group_by_fields repeated string The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.

AlertChange Message

AlertChange is used by Watch notifications Responses to describe change of single Alert One of Added, Modified, Removed

Name Type Description
added AlertChange.Added Added is returned when watched document is added, either created or enters Query view
modified AlertChange.Modified Modified is returned when watched document is modified
current AlertChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed AlertChange.Removed Removed is returned when Alert is deleted or leaves Query view

AlertChange.Added Message

Alert has been added to query view

Name Type Description
alert Alert
view_index int32 Integer describing index of added Alert in resulting query view.

AlertChange.Current Message

Alert has been added or modified in a query view. Version used for stateless watching

Name Type Description
alert Alert

AlertChange.Modified Message

Alert changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Alert) Name of modified Alert
alert Alert New version of Alert or masked difference, depending on mask_changes instrumentation of issued [WatchAlertRequest] or [WatchAlertsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Alert. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Alert new index in resulting query view.

AlertChange.Removed Message

Removed is returned when Alert is deleted or leaves Query view

Name Type Description
name string (name of Alert)
view_index int32 Integer specifying removed Alert index. Not populated in stateless watch type.

AlertingConditionChange Message

AlertingConditionChange is used by Watch notifications Responses to describe change of single AlertingCondition One of Added, Modified, Removed

Name Type Description
added AlertingConditionChange.Added Added is returned when watched document is added, either created or enters Query view
modified AlertingConditionChange.Modified Modified is returned when watched document is modified
current AlertingConditionChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed AlertingConditionChange.Removed Removed is returned when AlertingCondition is deleted or leaves Query view

AlertingConditionChange.Added Message

AlertingCondition has been added to query view

Name Type Description
alerting_condition AlertingCondition
view_index int32 Integer describing index of added AlertingCondition in resulting query view.

AlertingConditionChange.Current Message

AlertingCondition has been added or modified in a query view. Version used for stateless watching

Name Type Description
alerting_condition AlertingCondition

AlertingConditionChange.Modified Message

AlertingCondition changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of AlertingCondition) Name of modified AlertingCondition
alerting_condition AlertingCondition New version of AlertingCondition or masked difference, depending on mask_changes instrumentation of issued [WatchAlertingConditionRequest] or [WatchAlertingConditionsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified AlertingCondition. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying AlertingCondition new index in resulting query view.

AlertingConditionChange.Removed Message

Removed is returned when AlertingCondition is deleted or leaves Query view

Name Type Description
name string (name of AlertingCondition)
view_index int32 Integer specifying removed AlertingCondition index. Not populated in stateless watch type.

AlertingPolicyChange Message

AlertingPolicyChange is used by Watch notifications Responses to describe change of single AlertingPolicy One of Added, Modified, Removed

Name Type Description
added AlertingPolicyChange.Added Added is returned when watched document is added, either created or enters Query view
modified AlertingPolicyChange.Modified Modified is returned when watched document is modified
current AlertingPolicyChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed AlertingPolicyChange.Removed Removed is returned when AlertingPolicy is deleted or leaves Query view

AlertingPolicyChange.Added Message

AlertingPolicy has been added to query view

Name Type Description
alerting_policy AlertingPolicy
view_index int32 Integer describing index of added AlertingPolicy in resulting query view.

AlertingPolicyChange.Current Message

AlertingPolicy has been added or modified in a query view. Version used for stateless watching

Name Type Description
alerting_policy AlertingPolicy

AlertingPolicyChange.Modified Message

AlertingPolicy changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of AlertingPolicy) Name of modified AlertingPolicy
alerting_policy AlertingPolicy New version of AlertingPolicy or masked difference, depending on mask_changes instrumentation of issued [WatchAlertingPolicyRequest] or [WatchAlertingPoliciesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified AlertingPolicy. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying AlertingPolicy new index in resulting query view.

AlertingPolicyChange.Removed Message

Removed is returned when AlertingPolicy is deleted or leaves Query view

Name Type Description
name string (name of AlertingPolicy)
view_index int32 Integer specifying removed AlertingPolicy index. Not populated in stateless watch type.

BucketChange Message

BucketChange is used by Watch notifications Responses to describe change of single Bucket One of Added, Modified, Removed

Name Type Description
added BucketChange.Added Added is returned when watched document is added, either created or enters Query view
modified BucketChange.Modified Modified is returned when watched document is modified
current BucketChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed BucketChange.Removed Removed is returned when Bucket is deleted or leaves Query view

BucketChange.Added Message

Bucket has been added to query view

Name Type Description
bucket Bucket
view_index int32 Integer describing index of added Bucket in resulting query view.

BucketChange.Current Message

Bucket has been added or modified in a query view. Version used for stateless watching

Name Type Description
bucket Bucket

BucketChange.Modified Message

Bucket changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Bucket) Name of modified Bucket
bucket Bucket New version of Bucket or masked difference, depending on mask_changes instrumentation of issued [WatchBucketRequest] or [WatchBucketsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Bucket. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Bucket new index in resulting query view.

BucketChange.Removed Message

Removed is returned when Bucket is deleted or leaves Query view

Name Type Description
name string (name of Bucket)
view_index int32 Integer specifying removed Bucket index. Not populated in stateless watch type.

BulkTimeSeries Message

Used for reporting rollups

Name Type Description
time_series repeated TimeSerie
phantom_flag bool

CreateTimeSeriesError Message

Describes the result of a failed request to write data to a time series.

Name Type Description
time_series TimeSerie The time series, including the Metric, MonitoredResource, and Points (including timestamp and value) that resulted in the error. This field provides all of the context that would be needed to retry the operation.
status Status The status of the requested write operation.

Distribution Message

Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets.

The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values.

The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width).

Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless.

Name Type Description
count int64 The number of values in the population. Must be non-negative.
mean double The arithmetic mean of the values in the population. If count is zero then this field must be zero.
sum_of_squared_deviation double The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, “The Art of Computer Programming”, Vol. 2, page 323, 3rd edition describes Welford’s method for accumulating this sum in one pass. If count is zero then this field must be zero.
range Distribution.Range If specified, contains the range of the population values. The field must not be present if the count is zero.
bucket_options Distribution.BucketOptions Defines the histogram bucket boundaries.
bucket_counts repeated int64 If bucket_options is given, then the sum of the values in bucket_counts must equal the value in count. If bucket_options is not given, no bucket_counts fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of bucket_counts must be no greater than N as defined in bucket_options. Any suffix of trailing zero bucket_count fields may be omitted.

Distribution.BucketOptions Message

A Distribution may optionally contain a histogram of the values in the population. The histogram is given in bucket_counts as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by bucket_options.

A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is strictly greater than the lower bound.

The sequence of N buckets for a Distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.

BucketOptions describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly.

If bucket_boundaries is not given, then no bucket_counts may be given.

Name Type Description
linear_buckets Distribution.BucketOptions.Linear The linear bucket.
exponential_buckets Distribution.BucketOptions.Exponential The exponential buckets.
explicit_buckets Distribution.BucketOptions.Explicit The explicit buckets.
dynamic_buckets Distribution.BucketOptions.Dynamic TDigest dynamic bucketing

Distribution.BucketOptions.Dynamic Message

Dynamic buckets centroid based. TDigest implementation.

Name Type Description
compression double TDigest compression rate
means repeated double Centroid means. Must be the same length as bucket counts. Each mean, count represents a weighed centroid.

Distribution.BucketOptions.Explicit Message

A set of buckets with arbitrary widths.

Defines size(bounds) + 1 (= N) buckets with these boundaries for bucket i:

Upper bound (0 <= i < N-1):     bounds[i]
Lower bound (1 <= i < N);       bounds[i - 1]

There must be at least one element in bounds. If bounds has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.

Name Type Description
bounds repeated double The values must be monotonically increasing.

Distribution.BucketOptions.Exponential Message

Specify a sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.

Defines num_finite_buckets + 2 (= N) buckets with these boundaries for bucket i:

Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
Name Type Description
num_finite_buckets int32 Must be greater than 0.
growth_factor double Must be greater than 1.
scale double Must be greater than 0.

Distribution.BucketOptions.Linear Message

Specify a sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.

Defines num_finite_buckets + 2 (= N) buckets with these boundaries for bucket i:

Upper bound (0 <= i < N-1):     offset + (width * i).
Lower bound (1 <= i < N):       offset + (width * (i - 1)).
Name Type Description
num_finite_buckets int32 Must be greater than 0.
width double Must be greater than 0.
offset double Lower bound of the first bucket.

Distribution.Range Message

The range of the population values.

Name Type Description
min double The minimum of the population values.
max double The maximum of the population values.

LabelDescriptor Message

A description of a label.

Name Type Description
key string The label key.
value_type LabelDescriptor.ValueType The type of data that can be assigned to the label.
description string A human-readable description for the label.
default_value string Default value for string label - this value is used in two cases: 1. to populate missing labels while creating TimeSeries 2. to populate missing remaining kvs while querying TimeSeries - usually applies to old data
disabled bool disabled flag communicates that this label is ignored by the backend. It’s used for backward compatibility.

LabelKeySet Message

LabelKeySet is used for defining PromotedLabelKeySets on Metric and Resource descriptors

Name Type Description
label_keys repeated string List of label keys. Cannot be modified once set.

Metric Message

A specific metric, identified by specifying values for all of the labels of a [MetricDescriptor][google.api.MetricDescriptor].

Name Type Description
type string An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor]. For example, custom.googleapis.com/invoice/paid/amount.
labels map<string, string> The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.
reduced_labels repeated string reduced labels in aggregations

MetricDescriptorChange Message

MetricDescriptorChange is used by Watch notifications Responses to describe change of single MetricDescriptor One of Added, Modified, Removed

Name Type Description
added MetricDescriptorChange.Added Added is returned when watched document is added, either created or enters Query view
modified MetricDescriptorChange.Modified Modified is returned when watched document is modified
current MetricDescriptorChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed MetricDescriptorChange.Removed Removed is returned when MetricDescriptor is deleted or leaves Query view

MetricDescriptorChange.Added Message

MetricDescriptor has been added to query view

Name Type Description
metric_descriptor MetricDescriptor
view_index int32 Integer describing index of added MetricDescriptor in resulting query view.

MetricDescriptorChange.Current Message

MetricDescriptor has been added or modified in a query view. Version used for stateless watching

Name Type Description
metric_descriptor MetricDescriptor

MetricDescriptorChange.Modified Message

MetricDescriptor changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of MetricDescriptor) Name of modified MetricDescriptor
metric_descriptor MetricDescriptor New version of MetricDescriptor or masked difference, depending on mask_changes instrumentation of issued [WatchMetricDescriptorRequest] or [WatchMetricDescriptorsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified MetricDescriptor. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying MetricDescriptor new index in resulting query view.

MetricDescriptorChange.Removed Message

Removed is returned when MetricDescriptor is deleted or leaves Query view

Name Type Description
name string (name of MetricDescriptor)
view_index int32 Integer specifying removed MetricDescriptor index. Not populated in stateless watch type.

MetricSelector Message

Metric selects metric.type and list of labels used to build query, like:

metric.type IN ("type0", "type1", ...) AND
metric.labels.<key0> IN (label0_0, label0_1, ...) AND
metric.labels.<key1> IN (label1_0, label1_1, ...) AND ...
Name Type Description
types repeated string
labels map<string, Strings> label key, e.g. “project_id”, “target_id”, etc Note the missing “metric.labels.” prefix.

MonitoredResource Message

An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource’s schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for "gce_instance" has labels "instance_id" and "zone":

 { "type": "gce_instance",
   "labels": { "instance_id": "12345678901234",
               "zone": "us-central1-a" }}
Name Type Description
type string Required. The monitored resource type. This field must match the type field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For example, the type of a Compute Engine VM instance is gce_instance.
labels map<string, string> Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone".
reduced_labels repeated string reduced labels in aggregations

MonitoredResourceDescriptorChange Message

MonitoredResourceDescriptorChange is used by Watch notifications Responses to describe change of single MonitoredResourceDescriptor One of Added, Modified, Removed

Name Type Description
added MonitoredResourceDescriptorChange.Added Added is returned when watched document is added, either created or enters Query view
modified MonitoredResourceDescriptorChange.Modified Modified is returned when watched document is modified
current MonitoredResourceDescriptorChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed MonitoredResourceDescriptorChange.Removed Removed is returned when MonitoredResourceDescriptor is deleted or leaves Query view

MonitoredResourceDescriptorChange.Added Message

MonitoredResourceDescriptor has been added to query view

Name Type Description
monitored_resource_descriptor MonitoredResourceDescriptor
view_index int32 Integer describing index of added MonitoredResourceDescriptor in resulting query view.

MonitoredResourceDescriptorChange.Current Message

MonitoredResourceDescriptor has been added or modified in a query view. Version used for stateless watching

Name Type Description
monitored_resource_descriptor MonitoredResourceDescriptor

MonitoredResourceDescriptorChange.Modified Message

MonitoredResourceDescriptor changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of MonitoredResourceDescriptor) Name of modified MonitoredResourceDescriptor
monitored_resource_descriptor MonitoredResourceDescriptor New version of MonitoredResourceDescriptor or masked difference, depending on mask_changes instrumentation of issued [WatchMonitoredResourceDescriptorRequest] or [WatchMonitoredResourceDescriptorsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified MonitoredResourceDescriptor. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying MonitoredResourceDescriptor new index in resulting query view.

MonitoredResourceDescriptorChange.Removed Message

Removed is returned when MonitoredResourceDescriptor is deleted or leaves Query view

Name Type Description
name string (name of MonitoredResourceDescriptor)
view_index int32 Integer specifying removed MonitoredResourceDescriptor index. Not populated in stateless watch type.

MonitoredResourceSelector Message

MonitoredResourceSelector selects resource.type and list of labels used to build query, like:

resource.type IN ("type0", "type1", ...) AND
resource.labels.<key0> IN (label0_0, label0_1, ...) AND
resource.labels.<key1> IN (label1_0, label1_1, ...) AND ...

Note: Only one resource.type per query is currently allowed

Name Type Description
types repeated string
labels map<string, Strings> label key, e.g. “project_id”, “target_id”, etc Note the missing “resource.labels.” prefix.

NotificationChange Message

NotificationChange is used by Watch notifications Responses to describe change of single Notification One of Added, Modified, Removed

Name Type Description
added NotificationChange.Added Added is returned when watched document is added, either created or enters Query view
modified NotificationChange.Modified Modified is returned when watched document is modified
current NotificationChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed NotificationChange.Removed Removed is returned when Notification is deleted or leaves Query view

NotificationChange.Added Message

Notification has been added to query view

Name Type Description
notification Notification
view_index int32 Integer describing index of added Notification in resulting query view.

NotificationChange.Current Message

Notification has been added or modified in a query view. Version used for stateless watching

Name Type Description
notification Notification

NotificationChange.Modified Message

Notification changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Notification) Name of modified Notification
notification Notification New version of Notification or masked difference, depending on mask_changes instrumentation of issued [WatchNotificationRequest] or [WatchNotificationsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Notification. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Notification new index in resulting query view.

NotificationChange.Removed Message

Removed is returned when Notification is deleted or leaves Query view

Name Type Description
name string (name of Notification)
view_index int32 Integer specifying removed Notification index. Not populated in stateless watch type.

NotificationChannelChange Message

NotificationChannelChange is used by Watch notifications Responses to describe change of single NotificationChannel One of Added, Modified, Removed

Name Type Description
added NotificationChannelChange.Added Added is returned when watched document is added, either created or enters Query view
modified NotificationChannelChange.Modified Modified is returned when watched document is modified
current NotificationChannelChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed NotificationChannelChange.Removed Removed is returned when NotificationChannel is deleted or leaves Query view

NotificationChannelChange.Added Message

NotificationChannel has been added to query view

Name Type Description
notification_channel NotificationChannel
view_index int32 Integer describing index of added NotificationChannel in resulting query view.

NotificationChannelChange.Current Message

NotificationChannel has been added or modified in a query view. Version used for stateless watching

Name Type Description
notification_channel NotificationChannel

NotificationChannelChange.Modified Message

NotificationChannel changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of NotificationChannel) Name of modified NotificationChannel
notification_channel NotificationChannel New version of NotificationChannel or masked difference, depending on mask_changes instrumentation of issued [WatchNotificationChannelRequest] or [WatchNotificationChannelsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified NotificationChannel. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying NotificationChannel new index in resulting query view.

NotificationChannelChange.Removed Message

Removed is returned when NotificationChannel is deleted or leaves Query view

Name Type Description
name string (name of NotificationChannel)
view_index int32 Integer specifying removed NotificationChannel index. Not populated in stateless watch type.

Pagination Message

Name Type Description
view string
function string
alignment_period .google.protobuf.Duration
limit int32
offset int32

PhantomTimeSerieChange Message

PhantomTimeSerieChange is used by Watch notifications Responses to describe change of single PhantomTimeSerie One of Added, Modified, Removed

Name Type Description
added PhantomTimeSerieChange.Added Added is returned when watched document is added, either created or enters Query view
modified PhantomTimeSerieChange.Modified Modified is returned when watched document is modified
current PhantomTimeSerieChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed PhantomTimeSerieChange.Removed Removed is returned when PhantomTimeSerie is deleted or leaves Query view

PhantomTimeSerieChange.Added Message

PhantomTimeSerie has been added to query view

Name Type Description
phantom_time_serie PhantomTimeSerie
view_index int32 Integer describing index of added PhantomTimeSerie in resulting query view.

PhantomTimeSerieChange.Current Message

PhantomTimeSerie has been added or modified in a query view. Version used for stateless watching

Name Type Description
phantom_time_serie PhantomTimeSerie

PhantomTimeSerieChange.Modified Message

PhantomTimeSerie changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of PhantomTimeSerie) Name of modified PhantomTimeSerie
phantom_time_serie PhantomTimeSerie New version of PhantomTimeSerie or masked difference, depending on mask_changes instrumentation of issued [WatchPhantomTimeSerieRequest] or [WatchPhantomTimeSeriesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified PhantomTimeSerie. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying PhantomTimeSerie new index in resulting query view.

PhantomTimeSerieChange.Removed Message

Removed is returned when PhantomTimeSerie is deleted or leaves Query view

Name Type Description
name string (name of PhantomTimeSerie)
view_index int32 Integer specifying removed PhantomTimeSerie index. Not populated in stateless watch type.

Point Message

A single data point in a time series.

Name Type Description
interval TimeInterval The time interval to which the data point applies. For GAUGE metrics, only the end time of the interval is used. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points.
value TypedValue The value of the data point.
aggregation Aggregation Additional aggregation info Used internally for batching rollup points

ProjectChange Message

ProjectChange is used by Watch notifications Responses to describe change of single Project One of Added, Modified, Removed

Name Type Description
added ProjectChange.Added Added is returned when watched document is added, either created or enters Query view
modified ProjectChange.Modified Modified is returned when watched document is modified
current ProjectChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed ProjectChange.Removed Removed is returned when Project is deleted or leaves Query view

ProjectChange.Added Message

Project has been added to query view

Name Type Description
project Project
view_index int32 Integer describing index of added Project in resulting query view.

ProjectChange.Current Message

Project has been added or modified in a query view. Version used for stateless watching

Name Type Description
project Project

ProjectChange.Modified Message

Project changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Project) Name of modified Project
project Project New version of Project or masked difference, depending on mask_changes instrumentation of issued [WatchProjectRequest] or [WatchProjectsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Project. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Project new index in resulting query view.

ProjectChange.Removed Message

Removed is returned when Project is deleted or leaves Query view

Name Type Description
name string (name of Project)
view_index int32 Integer specifying removed Project index. Not populated in stateless watch type.

RecoveryStoreShardingInfoChange Message

RecoveryStoreShardingInfoChange is used by Watch notifications Responses to describe change of single RecoveryStoreShardingInfo One of Added, Modified, Removed

Name Type Description
added RecoveryStoreShardingInfoChange.Added Added is returned when watched document is added, either created or enters Query view
modified RecoveryStoreShardingInfoChange.Modified Modified is returned when watched document is modified
current RecoveryStoreShardingInfoChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed RecoveryStoreShardingInfoChange.Removed Removed is returned when RecoveryStoreShardingInfo is deleted or leaves Query view

RecoveryStoreShardingInfoChange.Added Message

RecoveryStoreShardingInfo has been added to query view

Name Type Description
recovery_store_sharding_info RecoveryStoreShardingInfo
view_index int32 Integer describing index of added RecoveryStoreShardingInfo in resulting query view.

RecoveryStoreShardingInfoChange.Current Message

RecoveryStoreShardingInfo has been added or modified in a query view. Version used for stateless watching

Name Type Description
recovery_store_sharding_info RecoveryStoreShardingInfo

RecoveryStoreShardingInfoChange.Modified Message

RecoveryStoreShardingInfo changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of RecoveryStoreShardingInfo) Name of modified RecoveryStoreShardingInfo
recovery_store_sharding_info RecoveryStoreShardingInfo New version of RecoveryStoreShardingInfo or masked difference, depending on mask_changes instrumentation of issued [WatchRecoveryStoreShardingInfoRequest] or [WatchRecoveryStoreShardingInfosRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified RecoveryStoreShardingInfo. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying RecoveryStoreShardingInfo new index in resulting query view.

RecoveryStoreShardingInfoChange.Removed Message

Removed is returned when RecoveryStoreShardingInfo is deleted or leaves Query view

Name Type Description
name string (name of RecoveryStoreShardingInfo)
view_index int32 Integer specifying removed RecoveryStoreShardingInfo index. Not populated in stateless watch type.

StatsQuery Message

Name Type Description
call_latencies StatsQuery.CallLatencies
executed_calls StatsQuery.ExecutedCalls
open_calls StatsQuery.OpenCalls
error_counts StatsQuery.ErrorCounts
ingress_throughput StatsQuery.IngressThroughput
egress_throughput StatsQuery.EgressThroughput
store_usage StatsQuery.StoreOperations
resource_count StatsQuery.ResourceCount
logs_usage StatsQuery.Logs
activity_logs_usage StatsQuery.ActivityLogs
resource_change_logs_usage StatsQuery.ResourceChangeLogs
time_series_usage StatsQuery.TimeSeries
time_series_latencies StatsQuery.TimeSeriesLatencies

StatsQuery.ActivityLogs Message

Name Type Description
type StatsQuery.ActivityLogs.Type
methods repeated string
versions repeated string
categories repeated string
group_by repeated StatsQuery.ActivityLogs.Groups

StatsQuery.CallLatencies Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
reducer StatsQuery.CallLatencies.Reducer
group_by repeated StatsQuery.CallLatencies.Groups

StatsQuery.EgressThroughput Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
group_by repeated StatsQuery.EgressThroughput.Groups

StatsQuery.ErrorCounts Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
error_codes repeated string
group_by repeated StatsQuery.ErrorCounts.Groups

StatsQuery.ExecutedCalls Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
group_by repeated StatsQuery.ExecutedCalls.Groups

StatsQuery.IngressThroughput Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
group_by repeated StatsQuery.IngressThroughput.Groups

StatsQuery.Logs Message

Name Type Description
type StatsQuery.Logs.Type
log_types repeated string
group_by repeated StatsQuery.Logs.Groups

StatsQuery.OpenCalls Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
group_by repeated StatsQuery.OpenCalls.Groups

StatsQuery.ResourceChangeLogs Message

Name Type Description
type StatsQuery.ResourceChangeLogs.Type
resource_types repeated string
group_by repeated StatsQuery.ResourceChangeLogs.Groups

StatsQuery.ResourceCount Message

Name Type Description
resources repeated string

StatsQuery.StoreOperations Message

Name Type Description
methods repeated string
versions repeated string
resources repeated string
operations repeated StatsQuery.StoreOperations.Operation
group_by repeated StatsQuery.StoreOperations.Groups

StatsQuery.TimeSeries Message

Name Type Description
type StatsQuery.TimeSeries.Type
resource_types repeated string
metric_types repeated string
group_by repeated StatsQuery.TimeSeries.Groups

StatsQuery.TimeSeriesLatencies Message

Name Type Description
of_ap .google.protobuf.Duration
reducer StatsQuery.TimeSeriesLatencies.Reducer

Strings Message

Represents wrapped list of strings.

Name Type Description
values repeated string

TimeInterval Message

A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.

Name Type Description
end_time .google.protobuf.Timestamp Required. The end of the time interval.
start_time .google.protobuf.Timestamp Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.

TimeRange Message

Time Range represents time between two points in time. Any of those can be missing, which means it’s open-ended.

Name Type Description
start_time .google.protobuf.Timestamp Optional. Start of time range
end_time .google.protobuf.Timestamp Optional. End of time range

TimeSeriesCollectionRuleChange Message

TimeSeriesCollectionRuleChange is used by Watch notifications Responses to describe change of single TimeSeriesCollectionRule One of Added, Modified, Removed

Name Type Description
added TimeSeriesCollectionRuleChange.Added Added is returned when watched document is added, either created or enters Query view
modified TimeSeriesCollectionRuleChange.Modified Modified is returned when watched document is modified
current TimeSeriesCollectionRuleChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed TimeSeriesCollectionRuleChange.Removed Removed is returned when TimeSeriesCollectionRule is deleted or leaves Query view

TimeSeriesCollectionRuleChange.Added Message

TimeSeriesCollectionRule has been added to query view

Name Type Description
time_series_collection_rule TimeSeriesCollectionRule
view_index int32 Integer describing index of added TimeSeriesCollectionRule in resulting query view.

TimeSeriesCollectionRuleChange.Current Message

TimeSeriesCollectionRule has been added or modified in a query view. Version used for stateless watching

Name Type Description
time_series_collection_rule TimeSeriesCollectionRule

TimeSeriesCollectionRuleChange.Modified Message

TimeSeriesCollectionRule changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of TimeSeriesCollectionRule) Name of modified TimeSeriesCollectionRule
time_series_collection_rule TimeSeriesCollectionRule New version of TimeSeriesCollectionRule or masked difference, depending on mask_changes instrumentation of issued [WatchTimeSeriesCollectionRuleRequest] or [WatchTimeSeriesCollectionRulesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified TimeSeriesCollectionRule. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying TimeSeriesCollectionRule new index in resulting query view.

TimeSeriesCollectionRuleChange.Removed Message

Removed is returned when TimeSeriesCollectionRule is deleted or leaves Query view

Name Type Description
name string (name of TimeSeriesCollectionRule)
view_index int32 Integer specifying removed TimeSeriesCollectionRule index. Not populated in stateless watch type.

TimeSeriesForwarderSinkChange Message

TimeSeriesForwarderSinkChange is used by Watch notifications Responses to describe change of single TimeSeriesForwarderSink One of Added, Modified, Removed

Name Type Description
added TimeSeriesForwarderSinkChange.Added Added is returned when watched document is added, either created or enters Query view
modified TimeSeriesForwarderSinkChange.Modified Modified is returned when watched document is modified
current TimeSeriesForwarderSinkChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed TimeSeriesForwarderSinkChange.Removed Removed is returned when TimeSeriesForwarderSink is deleted or leaves Query view

TimeSeriesForwarderSinkChange.Added Message

TimeSeriesForwarderSink has been added to query view

Name Type Description
time_series_forwarder_sink TimeSeriesForwarderSink
view_index int32 Integer describing index of added TimeSeriesForwarderSink in resulting query view.

TimeSeriesForwarderSinkChange.Current Message

TimeSeriesForwarderSink has been added or modified in a query view. Version used for stateless watching

Name Type Description
time_series_forwarder_sink TimeSeriesForwarderSink

TimeSeriesForwarderSinkChange.Modified Message

TimeSeriesForwarderSink changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of TimeSeriesForwarderSink) Name of modified TimeSeriesForwarderSink
time_series_forwarder_sink TimeSeriesForwarderSink New version of TimeSeriesForwarderSink or masked difference, depending on mask_changes instrumentation of issued [WatchTimeSeriesForwarderSinkRequest] or [WatchTimeSeriesForwarderSinksRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified TimeSeriesForwarderSink. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying TimeSeriesForwarderSink new index in resulting query view.

TimeSeriesForwarderSinkChange.Removed Message

Removed is returned when TimeSeriesForwarderSink is deleted or leaves Query view

Name Type Description
name string (name of TimeSeriesForwarderSink)
view_index int32 Integer specifying removed TimeSeriesForwarderSink index. Not populated in stateless watch type.

TimeSeriesSelector Message

Name Type Description
metric MetricSelector Metric Selector used to specify filtered Metric types and labels
resource MonitoredResourceSelector Resource Selector used to specify filtered Monitored Resource types and labels

TypedValue Message

A single strongly-typed value.

Name Type Description
bool_value bool A Boolean value: true or false.
int64_value int64 A 64-bit integer. Its range is approximately ±9.2x10<sup>18</sup>.
double_value double A 64-bit double-precision floating-point number. Its magnitude is approximately ±10<sup>±300</sup> and it has 16 significant digits of precision.
string_value string A variable-length string value.
distribution_value Distribution A distribution value.

Monitoring Service Shared Enumerations

Here is the list of Monitoring service shared enumerations:

Aggregation.Aligner Enumeration

The Aligner describes how to bring the data points in a single time series into temporal alignment.

Name Description
ALIGN_NONE No alignment. Raw data is returned. Not valid if cross-time series reduction is requested. The value type of the result is the same as the value type of the input.
ALIGN_DELTA Align and convert to delta metric type. This alignment is valid for cumulative metrics and delta metrics. Aligning an existing delta metric to a delta metric requires that the alignment period be increased. The value type of the result is the same as the value type of the input. One can think of this aligner as a rate but without time units; that is, the output is conceptually (second_point - first_point).
ALIGN_RATE Align and convert to a rate. This alignment is valid for cumulative metrics and delta metrics with numeric values. The output is a gauge metric with value type [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. One can think of this aligner as conceptually providing the slope of the line that passes through the value at the start and end of the window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)), and the output unit is one that has a “/time” dimension. If, by rate, you are looking for percentage change, see the ALIGN_PERCENT_CHANGE aligner option.
ALIGN_MIN Align time series via aggregation. The resulting data point in the alignment period is the minimum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the result is either [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE], or [INT64][google.api.MetricDescriptor.ValueType.INT64], depending whether original type is int64, or double/distribution.
ALIGN_MAX Align time series via aggregation. The resulting data point in the alignment period is the maximum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the result is either [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE], or [INT64][google.api.MetricDescriptor.ValueType.INT64], depending whether original type is int64, or double/distribution.
ALIGN_MEAN Align time series via aggregation. The resulting data point in the alignment period is the average or arithmetic mean of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_COUNT Align time series via aggregation. The resulting data point in the alignment period is the count of all data points in the period. This alignment is valid for gauge and delta metrics with numeric or Boolean values. The value type of the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
ALIGN_SUM Align time series via aggregation. The resulting data point in the alignment period is the sum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric and distribution values. The value type of the output is the same as the value type of the input.
ALIGN_STDDEV Align time series via aggregation. The resulting data point in the alignment period is the standard deviation of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_PERCENTILE_99 Align time series via aggregation. The resulting data point in the alignment period is the 99th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_PERCENTILE_95 Align time series via aggregation. The resulting data point in the alignment period is the 95th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_PERCENTILE_50 Align time series via aggregation. The resulting data point in the alignment period is the 50th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_PERCENTILE_05 Align time series via aggregation. The resulting data point in the alignment period is the 5th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
ALIGN_SUMMARY Outputs Distribution without bucketing with stats like: Min, Max, Count, Mean, SumOfSquaredDeviations valid only for LONG, DOUBLE and DISTRIBUTION value types

Aggregation.Reducer Enumeration

A Reducer describes how to aggregate data points from multiple time series into a single time series.

Name Description
REDUCE_NONE No cross-time series reduction. The output of the aligner is returned.
REDUCE_MEAN Reduce by computing the mean across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric or distribution values. The value type of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
REDUCE_MIN Reduce by computing the minimum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric values. The value type of the output is the same as the value type of the input.
REDUCE_MAX Reduce by computing the maximum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric values. The value type of the output is the same as the value type of the input.
REDUCE_SUM Reduce by computing the sum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric and distribution values. The value type of the output is the same as the value type of the input.
REDUCE_STDDEV Reduce by computing the standard deviation across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric or distribution values. The value type of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
REDUCE_COUNT Reduce by computing the count of data points across time series for each alignment period. This reducer is valid for delta and gauge metrics of numeric, Boolean, distribution, and string value type. The value type of the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
REDUCE_PERCENTILE_99 Reduce by computing 99th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
REDUCE_PERCENTILE_95 Reduce by computing 95th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
REDUCE_PERCENTILE_50 Reduce by computing 50th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
REDUCE_PERCENTILE_05 Reduce by computing 5th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
REDUCE_SUMMARY Reduce with Distribution with stats like: Min, Max, Count, Mean, SumOfSquaredDeviations, histogram. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is [DISTRIBUTION][google.api.MetricDescriptor.ValueType.DISTRIBUTION]

LabelDescriptor.ValueType Enumeration

Value types that can be used as label values.

Name Description
STRING A variable-length string. This is the default.
BOOL Boolean; true or false.
INT64 A 64-bit signed integer.

StatsQuery.ActivityLogs.Groups Enumeration

Name Description
METHOD
VERSION
CATEGORY

StatsQuery.ActivityLogs.Type Enumeration

Name Description
UNDEFINED
READS
WRITES

StatsQuery.CallLatencies.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE

StatsQuery.CallLatencies.Reducer Enumeration

Name Description
SUMMARY
MIN
MAX
P50
P95
P99
MEAN
STD_DEV

StatsQuery.EgressThroughput.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE

StatsQuery.ErrorCounts.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE
RESPONSE_CODE

StatsQuery.ExecutedCalls.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE

StatsQuery.IngressThroughput.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE

StatsQuery.Logs.Groups Enumeration

Name Description
LOG_TYPE

StatsQuery.Logs.Type Enumeration

Name Description
UNDEFINED
READS
WRITES

StatsQuery.OpenCalls.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE

StatsQuery.ResourceChangeLogs.Groups Enumeration

Name Description
RESOURCE_TYPE

StatsQuery.ResourceChangeLogs.Type Enumeration

Name Description
UNDEFINED
READS
WRITES

StatsQuery.StoreOperations.Groups Enumeration

Name Description
METHOD
VERSION
RESOURCE_TYPE
OPERATION

StatsQuery.StoreOperations.Operation Enumeration

Name Description
UNDEFINED
GET
LIST
SEARCH
WATCH
CREATE
UPDATE
DELETE

StatsQuery.TimeSeries.Groups Enumeration

Name Description
RESOURCE_TYPE
METRIC_TYPE

StatsQuery.TimeSeries.Type Enumeration

Name Description
UNDEFINED
READS
RAW_WRITES
ROLLUP_WRITES

StatsQuery.TimeSeriesLatencies.Reducer Enumeration

Name Description
SUMMARY
MIN
MAX
P50
P95
P99
MEAN
STD_DEV

TimeSeriesView Enumeration

Controls which fields are returned by ListTimeSeries.

Name Description
FULL Returns the identity of the metric(s), the time series, and the time series data.
HEADERS Returns the identity of the metric and the time series resource, but not the time series data.