v.io: v.io/x/ref/runtime/internal/rpc/benchmark Index | Files | Directories

package benchmark

import "v.io/x/ref/runtime/internal/rpc/benchmark"

package benchmark provides simple tools to measure the performance of the IPC system. nolint:golint

Index

Package Files

benchmark.vdl.go rpc.pb.go

Variables

var BenchmarkDesc rpc.InterfaceDesc = descBenchmark

BenchmarkDesc describes the Benchmark interface.

type BenchmarkClientMethods Uses

type BenchmarkClientMethods interface {
    // Echo returns the payload that it receives.
    Echo(_ *context.T, Payload []byte, _ ...rpc.CallOpt) ([]byte, error)
    // EchoStream returns the payload that it receives via the stream.
    EchoStream(*context.T, ...rpc.CallOpt) (BenchmarkEchoStreamClientCall, error)
}

BenchmarkClientMethods is the client interface containing Benchmark methods.

type BenchmarkClientStub Uses

type BenchmarkClientStub interface {
    BenchmarkClientMethods
}

BenchmarkClientStub embeds BenchmarkClientMethods and is a placeholder for additional management operations.

func BenchmarkClient Uses

func BenchmarkClient(name string) BenchmarkClientStub

BenchmarkClient returns a client stub for Benchmark.

type BenchmarkEchoStreamClientCall Uses

type BenchmarkEchoStreamClientCall interface {
    BenchmarkEchoStreamClientStream
    // Finish performs the equivalent of SendStream().Close, then blocks until
    // the server is done, and returns the positional return values for the call.
    //
    // Finish returns immediately if the call has been canceled; depending on the
    // timing the output could either be an error signaling cancelation, or the
    // valid positional return values from the server.
    //
    // Calling Finish is mandatory for releasing stream resources, unless the call
    // has been canceled or any of the other methods return an error.  Finish should
    // be called at most once.
    Finish() error
}

BenchmarkEchoStreamClientCall represents the call returned from Benchmark.EchoStream.

type BenchmarkEchoStreamClientStream Uses

type BenchmarkEchoStreamClientStream interface {
    // RecvStream returns the receiver side of the Benchmark.EchoStream client stream.
    RecvStream() interface {
        // Advance stages an item so that it may be retrieved via Value.  Returns
        // true iff there is an item to retrieve.  Advance must be called before
        // Value is called.  May block if an item is not available.
        Advance() bool
        // Value returns the item that was staged by Advance.  May panic if Advance
        // returned false or was not called.  Never blocks.
        Value() []byte
        // Err returns any error encountered by Advance.  Never blocks.
        Err() error
    }
    // SendStream returns the send side of the Benchmark.EchoStream client stream.
    SendStream() interface {
        // Send places the item onto the output stream.  Returns errors
        // encountered while sending, or if Send is called after Close or
        // the stream has been canceled.  Blocks if there is no buffer
        // space; will unblock when buffer space is available or after
        // the stream has been canceled.
        Send(item []byte) error
        // Close indicates to the server that no more items will be sent;
        // server Recv calls will receive io.EOF after all sent items.
        // This is an optional call - e.g. a client might call Close if it
        // needs to continue receiving items from the server after it's
        // done sending.  Returns errors encountered while closing, or if
        // Close is called after the stream has been canceled.  Like Send,
        // blocks if there is no buffer space available.
        Close() error
    }
}

BenchmarkEchoStreamClientStream is the client stream for Benchmark.EchoStream.

type BenchmarkEchoStreamServerCall Uses

type BenchmarkEchoStreamServerCall interface {
    rpc.ServerCall
    BenchmarkEchoStreamServerStream
}

BenchmarkEchoStreamServerCall represents the context passed to Benchmark.EchoStream.

type BenchmarkEchoStreamServerCallStub Uses

type BenchmarkEchoStreamServerCallStub struct {
    rpc.StreamServerCall
    // contains filtered or unexported fields
}

BenchmarkEchoStreamServerCallStub is a wrapper that converts rpc.StreamServerCall into a typesafe stub that implements BenchmarkEchoStreamServerCall.

func (*BenchmarkEchoStreamServerCallStub) Init Uses

func (s *BenchmarkEchoStreamServerCallStub) Init(call rpc.StreamServerCall)

Init initializes BenchmarkEchoStreamServerCallStub from rpc.StreamServerCall.

func (*BenchmarkEchoStreamServerCallStub) RecvStream Uses

func (s *BenchmarkEchoStreamServerCallStub) RecvStream() interface {
    Advance() bool
    Value() []byte
    Err() error
}

RecvStream returns the receiver side of the Benchmark.EchoStream server stream.

func (*BenchmarkEchoStreamServerCallStub) SendStream Uses

func (s *BenchmarkEchoStreamServerCallStub) SendStream() interface {
    Send(item []byte) error
}

SendStream returns the send side of the Benchmark.EchoStream server stream.

type BenchmarkEchoStreamServerStream Uses

type BenchmarkEchoStreamServerStream interface {
    // RecvStream returns the receiver side of the Benchmark.EchoStream server stream.
    RecvStream() interface {
        // Advance stages an item so that it may be retrieved via Value.  Returns
        // true iff there is an item to retrieve.  Advance must be called before
        // Value is called.  May block if an item is not available.
        Advance() bool
        // Value returns the item that was staged by Advance.  May panic if Advance
        // returned false or was not called.  Never blocks.
        Value() []byte
        // Err returns any error encountered by Advance.  Never blocks.
        Err() error
    }
    // SendStream returns the send side of the Benchmark.EchoStream server stream.
    SendStream() interface {
        // Send places the item onto the output stream.  Returns errors encountered
        // while sending.  Blocks if there is no buffer space; will unblock when
        // buffer space is available.
        Send(item []byte) error
    }
}

BenchmarkEchoStreamServerStream is the server stream for Benchmark.EchoStream.

type BenchmarkServerMethods Uses

type BenchmarkServerMethods interface {
    // Echo returns the payload that it receives.
    Echo(_ *context.T, _ rpc.ServerCall, Payload []byte) ([]byte, error)
    // EchoStream returns the payload that it receives via the stream.
    EchoStream(*context.T, BenchmarkEchoStreamServerCall) error
}

BenchmarkServerMethods is the interface a server writer implements for Benchmark.

type BenchmarkServerStub Uses

type BenchmarkServerStub interface {
    BenchmarkServerStubMethods
    // DescribeInterfaces the Benchmark interfaces.
    Describe__() []rpc.InterfaceDesc
}

BenchmarkServerStub adds universal methods to BenchmarkServerStubMethods.

func BenchmarkServer Uses

func BenchmarkServer(impl BenchmarkServerMethods) BenchmarkServerStub

BenchmarkServer returns a server stub for Benchmark. It converts an implementation of BenchmarkServerMethods into an object that may be used by rpc.Server.

type BenchmarkServerStubMethods Uses

type BenchmarkServerStubMethods interface {
    // Echo returns the payload that it receives.
    Echo(_ *context.T, _ rpc.ServerCall, Payload []byte) ([]byte, error)
    // EchoStream returns the payload that it receives via the stream.
    EchoStream(*context.T, *BenchmarkEchoStreamServerCallStub) error
}

BenchmarkServerStubMethods is the server interface containing Benchmark methods, as expected by rpc.Server. The only difference between this interface and BenchmarkServerMethods is the streaming methods.

type Caveat Uses

type Caveat struct {
    Id               []byte `protobuf:"bytes,1,req,name=id" json:"id,omitempty"`
    ParamVom         []byte `protobuf:"bytes,2,req,name=paramVom" json:"paramVom,omitempty"`
    XXX_unrecognized []byte `json:"-"`
}

func (*Caveat) GetId Uses

func (m *Caveat) GetId() []byte

func (*Caveat) GetParamVom Uses

func (m *Caveat) GetParamVom() []byte

func (*Caveat) ProtoMessage Uses

func (*Caveat) ProtoMessage()

func (*Caveat) Reset Uses

func (m *Caveat) Reset()

func (*Caveat) String Uses

func (m *Caveat) String() string

type Certificate Uses

type Certificate struct {
    Extension        *string    `protobuf:"bytes,1,req,name=extension" json:"extension,omitempty"`
    PublicKey        []byte     `protobuf:"bytes,2,req,name=publicKey" json:"publicKey,omitempty"`
    Caveats          []*Caveat  `protobuf:"bytes,3,rep,name=caveats" json:"caveats,omitempty"`
    Signature        *Signature `protobuf:"bytes,4,req,name=signature" json:"signature,omitempty"`
    XXX_unrecognized []byte     `json:"-"`
}

func (*Certificate) GetCaveats Uses

func (m *Certificate) GetCaveats() []*Caveat

func (*Certificate) GetExtension Uses

func (m *Certificate) GetExtension() string

func (*Certificate) GetPublicKey Uses

func (m *Certificate) GetPublicKey() []byte

func (*Certificate) GetSignature Uses

func (m *Certificate) GetSignature() *Signature

func (*Certificate) ProtoMessage Uses

func (*Certificate) ProtoMessage()

func (*Certificate) Reset Uses

func (m *Certificate) Reset()

func (*Certificate) String Uses

func (m *Certificate) String() string

type CertificateChain Uses

type CertificateChain struct {
    Certificates     []*Certificate `protobuf:"bytes,1,rep,name=certificates" json:"certificates,omitempty"`
    XXX_unrecognized []byte         `json:"-"`
}

func (*CertificateChain) GetCertificates Uses

func (m *CertificateChain) GetCertificates() []*Certificate

func (*CertificateChain) ProtoMessage Uses

func (*CertificateChain) ProtoMessage()

func (*CertificateChain) Reset Uses

func (m *CertificateChain) Reset()

func (*CertificateChain) String Uses

func (m *CertificateChain) String() string

type RpcRequest Uses

type RpcRequest struct {
    Suffix           *string                `protobuf:"bytes,1,req,name=suffix" json:"suffix,omitempty"`
    Method           *string                `protobuf:"bytes,2,req,name=method" json:"method,omitempty"`
    NumPosArgs       *uint64                `protobuf:"varint,3,req,name=numPosArgs" json:"numPosArgs,omitempty"`
    EndStreamArgs    *bool                  `protobuf:"varint,4,req,name=endStreamArgs" json:"endStreamArgs,omitempty"`
    Deadline         *TimeWireDeadline      `protobuf:"bytes,5,req,name=deadline" json:"deadline,omitempty"`
    GrantedBlessings *SecurityWireBlessings `protobuf:"bytes,6,req,name=grantedBlessings" json:"grantedBlessings,omitempty"`
    TraceRequest     *VtraceRequest         `protobuf:"bytes,7,req,name=traceRequest" json:"traceRequest,omitempty"`
    Language         *string                `protobuf:"bytes,8,req,name=language" json:"language,omitempty"`
    XXX_unrecognized []byte                 `json:"-"`
}

func (*RpcRequest) GetDeadline Uses

func (m *RpcRequest) GetDeadline() *TimeWireDeadline

func (*RpcRequest) GetEndStreamArgs Uses

func (m *RpcRequest) GetEndStreamArgs() bool

func (*RpcRequest) GetGrantedBlessings Uses

func (m *RpcRequest) GetGrantedBlessings() *SecurityWireBlessings

func (*RpcRequest) GetLanguage Uses

func (m *RpcRequest) GetLanguage() string

func (*RpcRequest) GetMethod Uses

func (m *RpcRequest) GetMethod() string

func (*RpcRequest) GetNumPosArgs Uses

func (m *RpcRequest) GetNumPosArgs() uint64

func (*RpcRequest) GetSuffix Uses

func (m *RpcRequest) GetSuffix() string

func (*RpcRequest) GetTraceRequest Uses

func (m *RpcRequest) GetTraceRequest() *VtraceRequest

func (*RpcRequest) ProtoMessage Uses

func (*RpcRequest) ProtoMessage()

func (*RpcRequest) Reset Uses

func (m *RpcRequest) Reset()

func (*RpcRequest) String Uses

func (m *RpcRequest) String() string

type RpcResponse Uses

type RpcResponse struct {
    Error            *string         `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
    EndStreamResults *bool           `protobuf:"varint,2,req,name=endStreamResults" json:"endStreamResults,omitempty"`
    NumPosResults    *uint64         `protobuf:"varint,3,req,name=numPosResults" json:"numPosResults,omitempty"`
    TraceResponse    *VtraceResponse `protobuf:"bytes,4,req,name=traceResponse" json:"traceResponse,omitempty"`
    AckBlessings     *bool           `protobuf:"varint,5,req,name=ackBlessings" json:"ackBlessings,omitempty"`
    XXX_unrecognized []byte          `json:"-"`
}

func (*RpcResponse) GetAckBlessings Uses

func (m *RpcResponse) GetAckBlessings() bool

func (*RpcResponse) GetEndStreamResults Uses

func (m *RpcResponse) GetEndStreamResults() bool

func (*RpcResponse) GetError Uses

func (m *RpcResponse) GetError() string

func (*RpcResponse) GetNumPosResults Uses

func (m *RpcResponse) GetNumPosResults() uint64

func (*RpcResponse) GetTraceResponse Uses

func (m *RpcResponse) GetTraceResponse() *VtraceResponse

func (*RpcResponse) ProtoMessage Uses

func (*RpcResponse) ProtoMessage()

func (*RpcResponse) Reset Uses

func (m *RpcResponse) Reset()

func (*RpcResponse) String Uses

func (m *RpcResponse) String() string

type SecurityWireBlessings Uses

type SecurityWireBlessings struct {
    CertificateChains []*CertificateChain `protobuf:"bytes,1,rep,name=certificateChains" json:"certificateChains,omitempty"`
    XXX_unrecognized  []byte              `json:"-"`
}

func (*SecurityWireBlessings) GetCertificateChains Uses

func (m *SecurityWireBlessings) GetCertificateChains() []*CertificateChain

func (*SecurityWireBlessings) ProtoMessage Uses

func (*SecurityWireBlessings) ProtoMessage()

func (*SecurityWireBlessings) Reset Uses

func (m *SecurityWireBlessings) Reset()

func (*SecurityWireBlessings) String Uses

func (m *SecurityWireBlessings) String() string

type Signature Uses

type Signature struct {
    Purpose          []byte  `protobuf:"bytes,1,req,name=purpose" json:"purpose,omitempty"`
    Hash             *string `protobuf:"bytes,2,req,name=hash" json:"hash,omitempty"`
    R                []byte  `protobuf:"bytes,3,req,name=r" json:"r,omitempty"`
    S                []byte  `protobuf:"bytes,4,req,name=s" json:"s,omitempty"`
    XXX_unrecognized []byte  `json:"-"`
}

func (*Signature) GetHash Uses

func (m *Signature) GetHash() string

func (*Signature) GetPurpose Uses

func (m *Signature) GetPurpose() []byte

func (*Signature) GetR Uses

func (m *Signature) GetR() []byte

func (*Signature) GetS Uses

func (m *Signature) GetS() []byte

func (*Signature) ProtoMessage Uses

func (*Signature) ProtoMessage()

func (*Signature) Reset Uses

func (m *Signature) Reset()

func (*Signature) String Uses

func (m *Signature) String() string

type TimeDuration Uses

type TimeDuration struct {
    Seconds          *int64 `protobuf:"varint,1,req,name=seconds" json:"seconds,omitempty"`
    Nanos            *int64 `protobuf:"varint,2,req,name=nanos" json:"nanos,omitempty"`
    XXX_unrecognized []byte `json:"-"`
}

func (*TimeDuration) GetNanos Uses

func (m *TimeDuration) GetNanos() int64

func (*TimeDuration) GetSeconds Uses

func (m *TimeDuration) GetSeconds() int64

func (*TimeDuration) ProtoMessage Uses

func (*TimeDuration) ProtoMessage()

func (*TimeDuration) Reset Uses

func (m *TimeDuration) Reset()

func (*TimeDuration) String Uses

func (m *TimeDuration) String() string

type TimeTime Uses

type TimeTime struct {
    Seconds          *int64 `protobuf:"varint,1,req,name=seconds" json:"seconds,omitempty"`
    Nanos            *int32 `protobuf:"varint,2,req,name=nanos" json:"nanos,omitempty"`
    XXX_unrecognized []byte `json:"-"`
}

func (*TimeTime) GetNanos Uses

func (m *TimeTime) GetNanos() int32

func (*TimeTime) GetSeconds Uses

func (m *TimeTime) GetSeconds() int64

func (*TimeTime) ProtoMessage Uses

func (*TimeTime) ProtoMessage()

func (*TimeTime) Reset Uses

func (m *TimeTime) Reset()

func (*TimeTime) String Uses

func (m *TimeTime) String() string

type TimeWireDeadline Uses

type TimeWireDeadline struct {
    FromNow          *TimeDuration `protobuf:"bytes,1,req,name=fromNow" json:"fromNow,omitempty"`
    NoDeadline       *bool         `protobuf:"varint,2,req,name=noDeadline" json:"noDeadline,omitempty"`
    XXX_unrecognized []byte        `json:"-"`
}

func (*TimeWireDeadline) GetFromNow Uses

func (m *TimeWireDeadline) GetFromNow() *TimeDuration

func (*TimeWireDeadline) GetNoDeadline Uses

func (m *TimeWireDeadline) GetNoDeadline() bool

func (*TimeWireDeadline) ProtoMessage Uses

func (*TimeWireDeadline) ProtoMessage()

func (*TimeWireDeadline) Reset Uses

func (m *TimeWireDeadline) Reset()

func (*TimeWireDeadline) String Uses

func (m *TimeWireDeadline) String() string

type VtraceAnnotation Uses

type VtraceAnnotation struct {
    When             *TimeTime `protobuf:"bytes,1,req,name=when" json:"when,omitempty"`
    Msg              *string   `protobuf:"bytes,2,req,name=msg" json:"msg,omitempty"`
    XXX_unrecognized []byte    `json:"-"`
}

func (*VtraceAnnotation) GetMsg Uses

func (m *VtraceAnnotation) GetMsg() string

func (*VtraceAnnotation) GetWhen Uses

func (m *VtraceAnnotation) GetWhen() *TimeTime

func (*VtraceAnnotation) ProtoMessage Uses

func (*VtraceAnnotation) ProtoMessage()

func (*VtraceAnnotation) Reset Uses

func (m *VtraceAnnotation) Reset()

func (*VtraceAnnotation) String Uses

func (m *VtraceAnnotation) String() string

type VtraceRequest Uses

type VtraceRequest struct {
    SpanId           []byte `protobuf:"bytes,1,req,name=spanId" json:"spanId,omitempty"`
    TraceId          []byte `protobuf:"bytes,2,req,name=traceId" json:"traceId,omitempty"`
    Flags            *int32 `protobuf:"varint,3,req,name=flags" json:"flags,omitempty"`
    LogLevel         *int32 `protobuf:"varint,4,req,name=logLevel" json:"logLevel,omitempty"`
    XXX_unrecognized []byte `json:"-"`
}

func (*VtraceRequest) GetFlags Uses

func (m *VtraceRequest) GetFlags() int32

func (*VtraceRequest) GetLogLevel Uses

func (m *VtraceRequest) GetLogLevel() int32

func (*VtraceRequest) GetSpanId Uses

func (m *VtraceRequest) GetSpanId() []byte

func (*VtraceRequest) GetTraceId Uses

func (m *VtraceRequest) GetTraceId() []byte

func (*VtraceRequest) ProtoMessage Uses

func (*VtraceRequest) ProtoMessage()

func (*VtraceRequest) Reset Uses

func (m *VtraceRequest) Reset()

func (*VtraceRequest) String Uses

func (m *VtraceRequest) String() string

type VtraceResponse Uses

type VtraceResponse struct {
    TraceFlags       *int32             `protobuf:"varint,1,req,name=traceFlags" json:"traceFlags,omitempty"`
    Trace            *VtraceTraceRecord `protobuf:"bytes,2,req,name=trace" json:"trace,omitempty"`
    XXX_unrecognized []byte             `json:"-"`
}

func (*VtraceResponse) GetTrace Uses

func (m *VtraceResponse) GetTrace() *VtraceTraceRecord

func (*VtraceResponse) GetTraceFlags Uses

func (m *VtraceResponse) GetTraceFlags() int32

func (*VtraceResponse) ProtoMessage Uses

func (*VtraceResponse) ProtoMessage()

func (*VtraceResponse) Reset Uses

func (m *VtraceResponse) Reset()

func (*VtraceResponse) String Uses

func (m *VtraceResponse) String() string

type VtraceSpanRecord Uses

type VtraceSpanRecord struct {
    Id               []byte              `protobuf:"bytes,1,req,name=id" json:"id,omitempty"`
    Parent           []byte              `protobuf:"bytes,2,req,name=parent" json:"parent,omitempty"`
    Name             *string             `protobuf:"bytes,3,req,name=name" json:"name,omitempty"`
    Start            *TimeTime           `protobuf:"bytes,4,req,name=start" json:"start,omitempty"`
    End              *TimeTime           `protobuf:"bytes,5,req,name=end" json:"end,omitempty"`
    Annotations      []*VtraceAnnotation `protobuf:"bytes,6,rep,name=annotations" json:"annotations,omitempty"`
    XXX_unrecognized []byte              `json:"-"`
}

func (*VtraceSpanRecord) GetAnnotations Uses

func (m *VtraceSpanRecord) GetAnnotations() []*VtraceAnnotation

func (*VtraceSpanRecord) GetEnd Uses

func (m *VtraceSpanRecord) GetEnd() *TimeTime

func (*VtraceSpanRecord) GetId Uses

func (m *VtraceSpanRecord) GetId() []byte

func (*VtraceSpanRecord) GetName Uses

func (m *VtraceSpanRecord) GetName() string

func (*VtraceSpanRecord) GetParent Uses

func (m *VtraceSpanRecord) GetParent() []byte

func (*VtraceSpanRecord) GetStart Uses

func (m *VtraceSpanRecord) GetStart() *TimeTime

func (*VtraceSpanRecord) ProtoMessage Uses

func (*VtraceSpanRecord) ProtoMessage()

func (*VtraceSpanRecord) Reset Uses

func (m *VtraceSpanRecord) Reset()

func (*VtraceSpanRecord) String Uses

func (m *VtraceSpanRecord) String() string

type VtraceTraceRecord Uses

type VtraceTraceRecord struct {
    Id               []byte              `protobuf:"bytes,1,req,name=id" json:"id,omitempty"`
    SpanRecord       []*VtraceSpanRecord `protobuf:"bytes,2,rep,name=spanRecord" json:"spanRecord,omitempty"`
    XXX_unrecognized []byte              `json:"-"`
}

func (*VtraceTraceRecord) GetId Uses

func (m *VtraceTraceRecord) GetId() []byte

func (*VtraceTraceRecord) GetSpanRecord Uses

func (m *VtraceTraceRecord) GetSpanRecord() []*VtraceSpanRecord

func (*VtraceTraceRecord) ProtoMessage Uses

func (*VtraceTraceRecord) ProtoMessage()

func (*VtraceTraceRecord) Reset Uses

func (m *VtraceTraceRecord) Reset()

func (*VtraceTraceRecord) String Uses

func (m *VtraceTraceRecord) String() string

Directories

PathSynopsis
benchmarkCommand benchmark runs the benchmark client.
benchmarkdCommand benchmarkd runs the benchmark server.
internal

Package benchmark imports 8 packages (graph) and is imported by 5 packages. Updated 2020-10-24. Refresh now. Tools for package owners.