Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultCircuitBreakerSettings = CircuitBreakerSettings{
MaxConcurrentRequests: 100,
RequestVolumeThreshold: 20,
SleepWindow: 5000,
ErrorPercentThreshold: 90,
}
DefaultCircuitBreakerSettings describes the default circuit parameters.
Functions ¶
func JoinByFormat ¶
JoinByFormat joins a string array by a known format:
csv: comma separated value (default) ssv: space separated value tsv: tab separated value pipes: pipe (|) separated value
Types ¶
type CircuitBreakerSettings ¶ added in v0.1.3
type CircuitBreakerSettings struct { // MaxConcurrentRequests is the maximum number of concurrent requests // the client can make at the same time. Default: 100. MaxConcurrentRequests int // RequestVolumeThreshold is the minimum number of requests needed // before a circuit can be tripped due to health. Default: 20. RequestVolumeThreshold int // SleepWindow how long, in milliseconds, to wait after a circuit opens // before testing for recovery. Default: 5000. SleepWindow int // ErrorPercentThreshold is the threshold to place on the rolling error // rate. Once the error rate exceeds this percentage, the circuit opens. // Default: 90. ErrorPercentThreshold int }
CircuitBreakerSettings are the parameters that govern the client's circuit breaker.
type Client ¶
type Client interface { }
Client defines the methods available to clients of the swagger-test service.
type HystrixSSEEvent ¶ added in v0.1.3
type HystrixSSEEvent struct { Type string `json:"type"` Name string `json:"name"` RequestCount int `json:"requestCount"` ErrorCount int `json:"errorCount"` ErrorPercentage int `json:"errorPercentage"` IsCircuitBreakerOpen bool `json:"isCircuitBreakerOpen"` RollingCountFailure int `json:"rollingCountFailure"` RollingCountFallbackFailure int `json:"rollingCountFallbackFailure"` RollingCountFallbackSuccess int `json:"rollingCountFallbackSuccess"` RollingCountShortCircuited int `json:"rollingCountShortCircuited"` RollingCountSuccess int `json:"rollingCountSuccess"` RollingCountThreadPoolRejected int `json:"rollingCountThreadPoolRejected"` RollingCountTimeout int `json:"rollingCountTimeout"` CurrentConcurrentExecutionCount int `json:"currentConcurrentExecutionCount"` LatencyTotalMean int `json:"latencyTotal_mean"` }
HystrixSSEEvent is emitted by hystrix-go via server-sent events. It describes the state of a circuit.
type MockClient ¶
type MockClient struct {
// contains filtered or unexported fields
}
Mock of Client interface
func NewMockClient ¶
func NewMockClient(ctrl *gomock.Controller) *MockClient
func (*MockClient) EXPECT ¶
func (_m *MockClient) EXPECT() *_MockClientRecorder
type WagClient ¶
type WagClient struct {
// contains filtered or unexported fields
}
WagClient is used to make requests to the swagger-test service.
func NewFromDiscovery ¶
NewFromDiscovery creates a client from the discovery environment variables. This method requires the three env vars: SERVICE_SWAGGER_TEST_HTTP_(HOST/PORT/PROTO) to be set. Otherwise it returns an error.
func (*WagClient) SetCircuitBreakerDebug ¶ added in v0.1.3
SetCircuitBreakerDebug puts the circuit
func (*WagClient) SetCircuitBreakerSettings ¶ added in v0.1.3
func (c *WagClient) SetCircuitBreakerSettings(settings CircuitBreakerSettings)
SetCircuitBreakerSettings sets parameters on the circuit breaker. It must be called on application startup.
func (*WagClient) WithRetries ¶
WithRetries returns a new client that retries all GET operations until they either succeed or fail the number of times specified.
func (*WagClient) WithTimeout ¶
WithTimeout returns a new client that has the specified timeout on all operations. To make a single request have a timeout use context.WithTimeout as described here: https://godoc.org/golang.org/x/net/context#WithTimeout.