 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
Index ¶
- func AddOne(features []int, featuresMaxPosition []int)
- func DoByteBufStreamingRoundTrip(stream testpb.BenchmarkService_StreamingCallClient, reqSize, respSize int) error
- func DoStreamingRoundTrip(stream testpb.BenchmarkService_StreamingCallClient, reqSize, respSize int) error
- func DoUnaryCall(tc testpb.BenchmarkServiceClient, reqSize, respSize int) error
- func NewClientConn(addr string, opts ...grpc.DialOption) *grpc.ClientConn
- func StartServer(info ServerInfo, opts ...grpc.ServerOption) (string, func())
- type Features
- type ServerInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DoByteBufStreamingRoundTrip ¶
func DoByteBufStreamingRoundTrip(stream testpb.BenchmarkService_StreamingCallClient, reqSize, respSize int) error
DoByteBufStreamingRoundTrip performs a round trip for a single streaming rpc, using a custom codec for byte buffer.
func DoStreamingRoundTrip ¶
func DoStreamingRoundTrip(stream testpb.BenchmarkService_StreamingCallClient, reqSize, respSize int) error
DoStreamingRoundTrip performs a round trip for a single streaming rpc.
func DoUnaryCall ¶
func DoUnaryCall(tc testpb.BenchmarkServiceClient, reqSize, respSize int) error
DoUnaryCall performs an unary RPC with given stub and request and response sizes.
func NewClientConn ¶
func NewClientConn(addr string, opts ...grpc.DialOption) *grpc.ClientConn
NewClientConn creates a gRPC client connection to addr.
func StartServer ¶
func StartServer(info ServerInfo, opts ...grpc.ServerOption) (string, func())
StartServer starts a gRPC server serving a benchmark service according to info. It returns its listen address and a function to stop the server.
Types ¶
type Features ¶ added in v1.6.0
type Features struct {
	EnableTrace        bool
	Latency            time.Duration
	Kbps               int
	Mtu                int
	MaxConcurrentCalls int
	ReqSizeBytes       int
	RespSizeBytes      int
	EnableCompressor   bool
}
    Features contains most fields for a benchmark
type ServerInfo ¶
type ServerInfo struct {
	// Addr is the address of the server.
	Addr string
	// Type is the type of the server.
	// It should be "protobuf" or "bytebuf".
	Type string
	// Metadata is an optional configuration.
	// For "protobuf", it's ignored.
	// For "bytebuf", it should be an int representing response size.
	Metadata interface{}
	// Network can simulate latency
	Network *latency.Network
}
    ServerInfo contains the information to create a gRPC benchmark server.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package main provides benchmark with setting flags. | Package main provides benchmark with setting flags. | 
| Package grpc_testing is a generated protocol buffer package. | Package grpc_testing is a generated protocol buffer package. | 
| Package latency provides wrappers for net.Conn, net.Listener, and net.Dialers, designed to interoperate to inject real-world latency into network connections. | Package latency provides wrappers for net.Conn, net.Listener, and net.Dialers, designed to interoperate to inject real-world latency into network connections. |