TelemetryServiceClient class

The TelemetryService is used to report telemetry such as usage statistics of the ZITADEL instance(s). back to a central storage. It is used to collect anonymized data about the usage of ZITADEL features, capabilities, and configurations. ZITADEL acts as a client of the TelemetryService.

Reports are sent periodically based on the system's runtime configuration. The content of the reports, respectively the data collected, can be configured in the system's runtime configuration.

All endpoints follow the same error and retry handling: In case of a failure to report the usage, ZITADEL will retry to report the usage based on the configured retry policy and error type:

  • Client side errors will not be retried, as they indicate a misconfiguration or an invalid request:
    • INVALID_ARGUMENT: The request was malformed.
    • NOT_FOUND: The TelemetryService's endpoint is likely misconfigured.
  • Connection / transfer errors will be retried based on the retry policy configured in the system's runtime configuration:
    • DEADLINE_EXCEEDED: The request took too long to complete, it will be retried.
    • RESOURCE_EXHAUSTED: The request was rejected due to resource exhaustion, it will be retried after a backoff period.
    • UNAVAILABLE: The TelemetryService is currently unavailable, it will be retried after a backoff period. Server side errors will also be retried based on the information provided by the server:
  • FAILED_PRECONDITION: The request failed due to a precondition, e.g. the report ID does not exists, does not correspond to the same system ID or previous reporting is too old, do not retry.
  • INTERNAL: An internal error occurred. Check details and logs.
Annotations
  • @GrpcServiceName.new('zitadel.analytics.v2beta.TelemetryService')

Constructors

TelemetryServiceClient(ClientChannel channel, {CallOptions? options, Iterable<ClientInterceptor>? interceptors})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

$createCall<Q, R>(ClientMethod<Q, R> method, Stream<Q> requests, {CallOptions? options}) → ClientCall<Q, R>
inherited
$createStreamingCall<Q, R>(ClientMethod<Q, R> method, Stream<Q> requests, {CallOptions? options}) → ResponseStream<R>
inherited
$createUnaryCall<Q, R>(ClientMethod<Q, R> method, Q request, {CallOptions? options}) → ResponseFuture<R>
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reportBaseInformation(ReportBaseInformationRequest request, {CallOptions? options}) → ResponseFuture<ReportBaseInformationResponse>
ReportBaseInformation is used to report the base information of the ZITADEL system, including the version, instances, their creation date and domains. The response contains a report ID to link it to the resource counts or other reports. The report ID is only valid for the same system ID.
reportResourceCounts(ReportResourceCountsRequest request, {CallOptions? options}) → ResponseFuture<ReportResourceCountsResponse>
ReportResourceCounts is used to report the resource counts such as amount of organizations or users per organization and much more. Since the resource counts can be reported in multiple batches, the response contains a report ID to continue reporting. The report ID is only valid for the same system ID.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

defaultHost → const String
The hostname for this service.
oauthScopes → const List<String>
OAuth scopes needed for the client.