benchmark - ActiveState ActiveGo 1.8
...

Package benchmark

import "google.golang.org/grpc/benchmark"
Overview
Index
Subdirectories

Overview ▾

Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.

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.

type ServerInfo

ServerInfo contains the information to create a gRPC benchmark server.

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{}
}

Subdirectories

Name Synopsis
..
client
grpc_testing Package grpc_testing is a generated protocol buffer package.
server
stats
worker