...
Error code | Reason | Client action |
| Broker failed to decode or validate the client’s encoded metrics. | Log a warning to the application and schedule the next PushTelemetryRequest after the push interval expiresan error and stop pushing metrics. This is viewed as a problem in the client implementation of metrics serialization that is not likely to be resolved by retrying. |
UNKNOWN_SUBSCRIPTION_ID (NEW) | Client sent a PushTelemetryRequest with an invalid or outdated SubscriptionId. The configured subscriptions have changed. | Immediately send a GetTelemetrySubscriptionRequest to update the client's subscriptions and get a new SubscriptionId. |
| Client’s compression type is not supported by the broker. | Immediately send a GetTelemetrySubscriptionRequest to get an up-to-date list of the broker's supported compression types (and any subscription changes). |
...
Code Block |
---|
GetTelemetrySubscriptionsRequestV0 { ClientInstanceId uuid // UUID4 unique for this client instance. // Must be set to Null on the first request, and to the returned ClientInstanceId // from the first response for all subsequent requests to any broker. } GetTelemetrySubscriptionsResponseV0 { ThrottleTime int32 // Standard throttling. ErrorCode int16 // Error code. ClientInstanceId uuid // Assigned client instance id if ClientInstanceId was Null in the request, else Null. SubscriptionId int32 // Unique identifier for the current subscription set for this client instance. AcceptedCompressionTypes Array[int8] // The compression types the broker accepts for PushTelemetryRequest.CompressionType // as listed in MessageHeaderV2.Attributes.CompressionType. The array will be sorted in // preference order from higher to lower. The CompressionType of NONE will not be // present in the response from the broker, though the broker does support uncompressed // client telemetry if none of the accepted compression codecs are supported by the client. PushIntervalMs int32 // Configured push interval, which is the lowest configured interval in the current subscription set. DeltaTemporality bool // If True; monotonic/counter metrics are to be emitted as deltas to the previous sample. // If False; monotonic/counter metrics are to be emitted as cumulative absolute values. RequestedMetrics Array[string] // Requested telemetry metrics prefix string match. // Empty array: No metrics subscribed. // Array[0] empty string: All metrics subscribed. // Array[..]: prefix string match. } PushTelemetryRequestV0 { ClientInstanceId uuid // UUID4 unique for this client instance, as retrieved in the first GetTelemetrySubscriptionsRequest. SubscriptionId int32 // SubscriptionId from the GetTelemetrySubscriptionsResponse for the collected metrics. Terminating bool // Client is terminating. CompressionType int8 // Compression codec used for .Metrics (ZSTD, LZ4, Snappy, GZIP, None). // Same values as that of the current MessageHeaderV2.Attributes. Metrics binary. // Metrics encoded in OpenTelemetry MetricsData v1 protobuf format. } PushTelemetryResponseV0 { ThrottleTime int32 // Standard throttling. ErrorCode int16 // Error code. } |
...