Package cloud.google.com/go/storage/experimental (v1.51.0)

Package experimental is a collection of experimental features that might have some rough edges to them. Housing experimental features in this package results in a user accessing these APIs as experimental.Foo , thereby making it explicit that the feature is experimental and using them in production code is at their own risk.

All APIs in this package are experimental.

Functions

func WithGRPCBidiReads

  func 
  
 WithGRPCBidiReads 
 () 
  
  option 
 
 . 
  ClientOption 
 
 

WithGRPCBidiReads provides an [option.ClientOption] that may be passed to [cloud.google.com/go/storage.NewGRPCClient]. It enables the client to use bi-directional gRPC APIs for downloads rather than the server streaming API. In particular, it allows users to use the [storage.MultiRangeDownloader] surface, which requires bi-directional streaming.

The bi-directional API is in private preview; please contact your account manager if interested.

func WithMetricExporter

  func 
  
 WithMetricExporter 
 ( 
 ex 
  
 * 
  metric 
 
 . 
  Exporter 
 
 ) 
  
  option 
 
 . 
  ClientOption 
 
 

WithMetricExporter provides a [option.ClientOption] that may be passed to [storage.NewGRPCClient]. Set an alternate client-side metric Exporter to emit metrics through. Must implement [metric.Exporter]

func WithMetricInterval

  func 
  
 WithMetricInterval 
 ( 
 metricInterval 
  
  time 
 
 . 
  Duration 
 
 ) 
  
  option 
 
 . 
  ClientOption 
 
 

WithMetricInterval provides a [option.ClientOption] that may be passed to [storage.NewGRPCClient]. It sets how often to emit metrics [metric.WithInterval] when using [metric.NewPeriodicReader] When using Cloud Monitoring interval must be at minimum 1 [time.Minute].

func WithReadStallTimeout

  func 
  
 WithReadStallTimeout 
 ( 
 rstc 
  
 * 
  ReadStallTimeoutConfig 
 
 ) 
  
  option 
 
 . 
  ClientOption 
 
 

WithReadStallTimeout provides a [option.ClientOption] that may be passed to [storage.NewClient]. It enables the client to retry stalled requests when starting a download from Cloud Storage. If the timeout elapses with no response from the server, the request is automatically retried. The timeout is initially set to ReadStallTimeoutConfig.Min. The client tracks latency across all read requests from the client for each bucket accessed, and can adjust the timeout higher to the target percentile when latency for request to that bucket is high. Currently, this is supported only for downloads ([storage.NewReader] and [storage.NewRangeReader] calls) and only for the XML API. Other read APIs (gRPC & JSON) will be supported soon.

ReadStallTimeoutConfig

  type 
  
 ReadStallTimeoutConfig 
  
 struct 
  
 { 
  
 // Min is the minimum duration of the timeout. The default value is 500ms. Requests 
  
 // taking shorter than this value to return response headers will never time out. 
  
 // In general, you should choose a Min value that is greater than the typical value 
  
 // for the target percentile. 
  
 Min 
  
  time 
 
 . 
  Duration 
 
  
 // TargetPercentile is the percentile to target for the dynamic timeout. The default 
  
 // value is 0.99. At the default percentile, at most 1% of requests will be timed out 
  
 // and retried. 
  
 TargetPercentile 
  
  float64 
 
 } 
 

ReadStallTimeoutConfig defines the timeout which is adjusted dynamically based on past observed latencies.

Create a Mobile Website
View Site in Mobile | Classic
Share by: