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 ¶
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 ¶
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. |