nighthawk_client

package
v1.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AddressFamily_AddressFamilyOptions_name = map[int32]string{
		0: "AUTO",
		1: "V4",
		2: "V6",
	}
	AddressFamily_AddressFamilyOptions_value = map[string]int32{
		"AUTO": 0,
		"V4":   1,
		"V6":   2,
	}
)

Enum value maps for AddressFamily_AddressFamilyOptions.

View Source
var (
	Verbosity_VerbosityOptions_name = map[int32]string{
		0: "DEFAULT",
		1: "INFO",
		2: "TRACE",
		3: "DEBUG",
		4: "WARN",
		5: "ERROR",
		6: "CRITICAL",
	}
	Verbosity_VerbosityOptions_value = map[string]int32{
		"DEFAULT":  0,
		"INFO":     1,
		"TRACE":    2,
		"DEBUG":    3,
		"WARN":     4,
		"ERROR":    5,
		"CRITICAL": 6,
	}
)

Enum value maps for Verbosity_VerbosityOptions.

View Source
var (
	OutputFormat_OutputFormatOptions_name = map[int32]string{
		0: "DEFAULT",
		1: "JSON",
		2: "HUMAN",
		3: "YAML",
		4: "DOTTED",
		5: "FORTIO",
		6: "EXPERIMENTAL_FORTIO_PEDANTIC",
	}
	OutputFormat_OutputFormatOptions_value = map[string]int32{
		"DEFAULT":                      0,
		"JSON":                         1,
		"HUMAN":                        2,
		"YAML":                         3,
		"DOTTED":                       4,
		"FORTIO":                       5,
		"EXPERIMENTAL_FORTIO_PEDANTIC": 6,
	}
)

Enum value maps for OutputFormat_OutputFormatOptions.

View Source
var (
	SequencerIdleStrategy_SequencerIdleStrategyOptions_name = map[int32]string{
		0: "DEFAULT",
		1: "SPIN",
		2: "POLL",
		3: "SLEEP",
	}
	SequencerIdleStrategy_SequencerIdleStrategyOptions_value = map[string]int32{
		"DEFAULT": 0,
		"SPIN":    1,
		"POLL":    2,
		"SLEEP":   3,
	}
)

Enum value maps for SequencerIdleStrategy_SequencerIdleStrategyOptions.

View Source
var (
	H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions_name = map[int32]string{
		0: "DEFAULT",
		1: "MRU",
		2: "LRU",
	}
	H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions_value = map[string]int32{
		"DEFAULT": 0,
		"MRU":     1,
		"LRU":     2,
	}
)

Enum value maps for H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions.

View Source
var (
	Protocol_ProtocolOptions_name = map[int32]string{
		0: "HTTP1",
		1: "HTTP2",
		2: "HTTP3",
	}
	Protocol_ProtocolOptions_value = map[string]int32{
		"HTTP1": 0,
		"HTTP2": 1,
		"HTTP3": 2,
	}
)

Enum value maps for Protocol_ProtocolOptions.

View Source
var File_api_client_options_proto protoreflect.FileDescriptor
View Source
var File_api_client_output_proto protoreflect.FileDescriptor
View Source
var File_api_client_service_proto protoreflect.FileDescriptor
View Source
var File_api_client_transform_fortio_proto protoreflect.FileDescriptor

Functions

func RegisterNighthawkServiceServer

func RegisterNighthawkServiceServer(s *grpc.Server, srv NighthawkServiceServer)

Types

type AddressFamily

type AddressFamily struct {
	Value AddressFamily_AddressFamilyOptions `protobuf:"varint,1,opt,name=value,proto3,enum=nighthawk.client.AddressFamily_AddressFamilyOptions" json:"value,omitempty"`
	// contains filtered or unexported fields
}

We wrap all values so we can have a unified way of option handling with respect to defaults, merging, etc. As there's no stock concept for enumerations, we manually define custom wrappers for them. These used to be strings, which did provide the wrapped type.

func (*AddressFamily) Descriptor deprecated

func (*AddressFamily) Descriptor() ([]byte, []int)

Deprecated: Use AddressFamily.ProtoReflect.Descriptor instead.

func (*AddressFamily) GetValue

func (*AddressFamily) ProtoMessage

func (*AddressFamily) ProtoMessage()

func (*AddressFamily) ProtoReflect

func (x *AddressFamily) ProtoReflect() protoreflect.Message

func (*AddressFamily) Reset

func (x *AddressFamily) Reset()

func (*AddressFamily) String

func (x *AddressFamily) String() string

type AddressFamily_AddressFamilyOptions

type AddressFamily_AddressFamilyOptions int32
const (
	AddressFamily_AUTO AddressFamily_AddressFamilyOptions = 0
	AddressFamily_V4   AddressFamily_AddressFamilyOptions = 1
	AddressFamily_V6   AddressFamily_AddressFamilyOptions = 2
)

func (AddressFamily_AddressFamilyOptions) Descriptor

func (AddressFamily_AddressFamilyOptions) Enum

func (AddressFamily_AddressFamilyOptions) EnumDescriptor deprecated

func (AddressFamily_AddressFamilyOptions) EnumDescriptor() ([]byte, []int)

Deprecated: Use AddressFamily_AddressFamilyOptions.Descriptor instead.

func (AddressFamily_AddressFamilyOptions) Number

func (AddressFamily_AddressFamilyOptions) String

func (AddressFamily_AddressFamilyOptions) Type

type CancellationRequest

type CancellationRequest struct {
	// contains filtered or unexported fields
}

TODO(oschaaf): Not implemented yet.

func (*CancellationRequest) Descriptor deprecated

func (*CancellationRequest) Descriptor() ([]byte, []int)

Deprecated: Use CancellationRequest.ProtoReflect.Descriptor instead.

func (*CancellationRequest) ProtoMessage

func (*CancellationRequest) ProtoMessage()

func (*CancellationRequest) ProtoReflect

func (x *CancellationRequest) ProtoReflect() protoreflect.Message

func (*CancellationRequest) Reset

func (x *CancellationRequest) Reset()

func (*CancellationRequest) String

func (x *CancellationRequest) String() string

type CommandLineOptions

type CommandLineOptions struct {

	// The target requests-per-second rate. Default: 5.
	RequestsPerSecond *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=requests_per_second,json=requestsPerSecond,proto3" json:"requests_per_second,omitempty"`
	// The maximum allowed number of concurrent connections per event loop. HTTP/1 only. Default: 100.
	Connections *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=connections,proto3" json:"connections,omitempty"`
	// Types that are assignable to OneofDurationOptions:
	//	*CommandLineOptions_Duration
	//	*CommandLineOptions_NoDuration
	OneofDurationOptions isCommandLineOptions_OneofDurationOptions `protobuf_oneof:"oneof_duration_options"`
	// Connection connect timeout period in seconds. Default: 30.
	Timeout *durationpb.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// The protocol to use when encapsulating requests.
	// Defaults to HTTP/1 if no value is selected.
	//
	// Types that are assignable to OneofProtocol:
	//	*CommandLineOptions_H2
	//	*CommandLineOptions_Protocol
	OneofProtocol isCommandLineOptions_OneofProtocol `protobuf_oneof:"oneof_protocol"`
	// The number of concurrent event loops that should be used. Specify 'auto' to let
	// Nighthawk leverage all vCPUs that have affinity to the Nighthawk process. Note that
	// increasing this results in an effective load multiplier combined with the configured
	// --rps and --connections values. Default: 1.
	Concurrency *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=concurrency,proto3" json:"concurrency,omitempty"` // [(validate.rules).string = {pattern: "^([0-9]*|auto)$"}];
	// Verbosity of the output. Possible values: [trace, debug, info, warn,
	// error, critical]. The default level is 'info'.
	Verbosity *Verbosity `protobuf:"bytes,7,opt,name=verbosity,proto3" json:"verbosity,omitempty"`
	// Output format. Possible values: {"json", "human", "yaml", "dotted",
	// "fortio"}. The default output format is 'human'.
	// NOTE: not relevant to gRPC service
	OutputFormat *OutputFormat `protobuf:"bytes,8,opt,name=output_format,json=outputFormat,proto3" json:"output_format,omitempty"`
	// Use proactive connection prefetching (HTTP/1 only).
	PrefetchConnections *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=prefetch_connections,json=prefetchConnections,proto3" json:"prefetch_connections,omitempty"`
	// Release requests in bursts of the specified size (default: 0).
	BurstSize *wrapperspb.UInt32Value `protobuf:"bytes,10,opt,name=burst_size,json=burstSize,proto3" json:"burst_size,omitempty"`
	// Network address family preference. Possible values: [auto, v4, v6]. The default output format
	// is 'AUTO'.
	AddressFamily *AddressFamily `protobuf:"bytes,11,opt,name=address_family,json=addressFamily,proto3" json:"address_family,omitempty"`
	// Either requests will be statically configured, or delivered through a remote gRPC service.
	//
	// Types that are assignable to OneofRequestOptions:
	//	*CommandLineOptions_RequestOptions
	//	*CommandLineOptions_RequestSource
	//	*CommandLineOptions_RequestSourcePluginConfig
	OneofRequestOptions isCommandLineOptions_OneofRequestOptions `protobuf_oneof:"oneof_request_options"`
	// DEPRECATED, use --transport-socket instead. Tls context configuration in json or compact yaml.
	// Mutually exclusive with --transport-socket.
	//
	// Deprecated: Do not use.
	TlsContext *v31.UpstreamTlsContext `protobuf:"bytes,13,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"`
	// Max pending requests (default: 0, no client side queuing. Specifying any other value will allow
	// client-side queuing of requests).
	MaxPendingRequests *wrapperspb.UInt32Value `protobuf:"bytes,14,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"`
	// The maximum allowed number of concurrently active requests.
	// HTTP/2 and HTTP/3 only, does not apply to HTTP/1. (default: 100).
	MaxActiveRequests *wrapperspb.UInt32Value `protobuf:"bytes,15,opt,name=max_active_requests,json=maxActiveRequests,proto3" json:"max_active_requests,omitempty"`
	// Max requests per connection (default: 4294937295).
	MaxRequestsPerConnection *wrapperspb.UInt32Value `` /* 138-byte string literal not displayed */
	// Choose between using a busy spin/yield loop or have the thread poll or sleep while waiting for
	// the next scheduled request (default: SPIN).
	SequencerIdleStrategy *SequencerIdleStrategy `` /* 127-byte string literal not displayed */
	// Either a single URI is configured, or the same traffic can be spread across a static
	// set of backends.
	//
	// Types that are assignable to OneofUri:
	//	*CommandLineOptions_Uri
	//	*CommandLineOptions_MultiTarget
	OneofUri isCommandLineOptions_OneofUri `protobuf_oneof:"oneof_uri"`
	// Trace uri. Example: zipkin://localhost:9411/api/v2/spans. Default is empty.
	Trace *wrapperspb.StringValue `protobuf:"bytes,19,opt,name=trace,proto3" json:"trace,omitempty"` // [(validate.rules).string.uri = true];
	// Choose picking the most recently used, or least-recently-used connections for re-use.(default:
	// mru). WARNING: this option is experimental and may be removed or changed in the future!
	ExperimentalH1ConnectionReuseStrategy *H1ConnectionReuseStrategy `` /* 179-byte string literal not displayed */
	// Termination predicate. Allows specifying a counter name plus threshold value for terminating
	// execution.
	TerminationPredicates map[string]uint64 `` /* 214-byte string literal not displayed */
	// Allows specifying a counter name plus threshold value for failing execution. Defaults to not
	// tolerating error status codes and connection errors.
	FailurePredicates map[string]uint64 `` /* 202-byte string literal not displayed */
	// Enable open loop mode. When enabled, the benchmark client will not provide backpressure when
	// resource limits are hit.
	OpenLoop *wrapperspb.BoolValue `protobuf:"bytes,21,opt,name=open_loop,json=openLoop,proto3" json:"open_loop,omitempty"`
	// Add uniformly distributed absolute request-release timing jitter. For example, to add 10 us of
	// jitter, specify .00001s. Default is empty / no uniform jitter.
	JitterUniform *durationpb.Duration `protobuf:"bytes,25,opt,name=jitter_uniform,json=jitterUniform,proto3" json:"jitter_uniform,omitempty"`
	// Nighthawk service uri for running CLI in remote host mode. Example: grpc://localhost:8843/.
	// Default is empty.
	// NOTE: not relevant to gRPC service
	NighthawkService *wrapperspb.StringValue `protobuf:"bytes,31,opt,name=nighthawk_service,json=nighthawkService,proto3" json:"nighthawk_service,omitempty"` // [(validate.rules).string.uri = true];
	// DO NOT USE: This options is deprecated, if this behavior is desired, set
	// max_concurrent_streams to one instead.
	//
	// Deprecated: Do not use.
	ExperimentalH2UseMultipleConnections *wrapperspb.BoolValue `` /* 176-byte string literal not displayed */
	// The maximum concurrent streams allowed on one HTTP/2 or HTTP/3 connection.
	//
	// Does not apply to HTTP/1.
	// See https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2 for more
	// details.
	//
	// This limits how many streams Nighthawk will initiate concurrently on a
	// single connection. If the limit is reached, Nighthawk may queue requests or
	// use additional connections depending on the other configuration values.
	// E.g. setting this to 1 makes Nighthawk use a new connection for each
	// request. (default: 2147483647).
	MaxConcurrentStreams *wrapperspb.UInt32Value `protobuf:"bytes,108,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"`
	// Label. Allows specifying multiple labels which will be persisted in structured output formats.
	Labels []string `protobuf:"bytes,28,rep,name=labels,proto3" json:"labels,omitempty"`
	// TransportSocket configuration to use in every request
	TransportSocket *v3.TransportSocket `protobuf:"bytes,27,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
	// Perform a simple single warmup request (per worker) before starting
	// execution. Note that this will be reflected in the counters that
	// Nighthawk writes to the output. Default is false.
	SimpleWarmup *wrapperspb.BoolValue `protobuf:"bytes,32,opt,name=simple_warmup,json=simpleWarmup,proto3" json:"simple_warmup,omitempty"`
	// Optional set of stat sinks where Nighthawk metrics will be flushed to.
	StatsSinks []*v32.StatsSink `protobuf:"bytes,34,rep,name=stats_sinks,json=statsSinks,proto3" json:"stats_sinks,omitempty"`
	// Time interval (number of seconds) between periodical flushes to configured stats sinks. If not
	// specified the default is 5 seconds. Time interval must be at least 1s and at most 300s.
	StatsFlushInterval *wrapperspb.UInt32Value `protobuf:"bytes,35,opt,name=stats_flush_interval,json=statsFlushInterval,proto3" json:"stats_flush_interval,omitempty"`
	// Set an optional header name that will be returned in responses, whose values will be tracked in
	// a latency histogram if set. Can be used in tandem with the test server's response option
	// "emit_previous_request_delta_in_response_header" to record elapsed time between request
	// arrivals.
	LatencyResponseHeaderName *wrapperspb.StringValue `` /* 141-byte string literal not displayed */
	// Provide an execution starting date and time. Optional, any value specified must be in the
	// future.
	ScheduledStart *timestamppb.Timestamp `protobuf:"bytes,105,opt,name=scheduled_start,json=scheduledStart,proto3" json:"scheduled_start,omitempty"`
	// Provide a unique execution id. Will be reflected in the output when set.
	// This is intended for future use in horizontally scaled scenarios in mind.
	// When populating this field, it is recommended to use unique identifiers for forward
	// compatibility purposes. In the future, this field may be auto-populated when left unset and
	// circumstances mandate so (distributed load test execution).
	ExecutionId *wrapperspb.StringValue `protobuf:"bytes,106,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
	// contains filtered or unexported fields
}

TODO(oschaaf): Ultimately this will be a load test specification. The fact that it can arrive via CLI is just a concrete detail. Change this to reflect that. Highest unused number is 109.

func (*CommandLineOptions) Descriptor deprecated

func (*CommandLineOptions) Descriptor() ([]byte, []int)

Deprecated: Use CommandLineOptions.ProtoReflect.Descriptor instead.

func (*CommandLineOptions) GetAddressFamily

func (x *CommandLineOptions) GetAddressFamily() *AddressFamily

func (*CommandLineOptions) GetBurstSize

func (x *CommandLineOptions) GetBurstSize() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetConcurrency

func (x *CommandLineOptions) GetConcurrency() *wrapperspb.StringValue

func (*CommandLineOptions) GetConnections

func (x *CommandLineOptions) GetConnections() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetDuration

func (x *CommandLineOptions) GetDuration() *durationpb.Duration

func (*CommandLineOptions) GetExecutionId

func (x *CommandLineOptions) GetExecutionId() *wrapperspb.StringValue

func (*CommandLineOptions) GetExperimentalH1ConnectionReuseStrategy

func (x *CommandLineOptions) GetExperimentalH1ConnectionReuseStrategy() *H1ConnectionReuseStrategy

func (*CommandLineOptions) GetExperimentalH2UseMultipleConnections deprecated

func (x *CommandLineOptions) GetExperimentalH2UseMultipleConnections() *wrapperspb.BoolValue

Deprecated: Do not use.

func (*CommandLineOptions) GetFailurePredicates

func (x *CommandLineOptions) GetFailurePredicates() map[string]uint64

func (*CommandLineOptions) GetH2 deprecated

Deprecated: Do not use.

func (*CommandLineOptions) GetJitterUniform

func (x *CommandLineOptions) GetJitterUniform() *durationpb.Duration

func (*CommandLineOptions) GetLabels

func (x *CommandLineOptions) GetLabels() []string

func (*CommandLineOptions) GetLatencyResponseHeaderName

func (x *CommandLineOptions) GetLatencyResponseHeaderName() *wrapperspb.StringValue

func (*CommandLineOptions) GetMaxActiveRequests

func (x *CommandLineOptions) GetMaxActiveRequests() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetMaxConcurrentStreams

func (x *CommandLineOptions) GetMaxConcurrentStreams() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetMaxPendingRequests

func (x *CommandLineOptions) GetMaxPendingRequests() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetMaxRequestsPerConnection

func (x *CommandLineOptions) GetMaxRequestsPerConnection() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetMultiTarget

func (x *CommandLineOptions) GetMultiTarget() *MultiTarget

func (*CommandLineOptions) GetNighthawkService

func (x *CommandLineOptions) GetNighthawkService() *wrapperspb.StringValue

func (*CommandLineOptions) GetNoDuration

func (x *CommandLineOptions) GetNoDuration() *wrapperspb.BoolValue

func (*CommandLineOptions) GetOneofDurationOptions

func (m *CommandLineOptions) GetOneofDurationOptions() isCommandLineOptions_OneofDurationOptions

func (*CommandLineOptions) GetOneofProtocol

func (m *CommandLineOptions) GetOneofProtocol() isCommandLineOptions_OneofProtocol

func (*CommandLineOptions) GetOneofRequestOptions

func (m *CommandLineOptions) GetOneofRequestOptions() isCommandLineOptions_OneofRequestOptions

func (*CommandLineOptions) GetOneofUri

func (m *CommandLineOptions) GetOneofUri() isCommandLineOptions_OneofUri

func (*CommandLineOptions) GetOpenLoop

func (x *CommandLineOptions) GetOpenLoop() *wrapperspb.BoolValue

func (*CommandLineOptions) GetOutputFormat

func (x *CommandLineOptions) GetOutputFormat() *OutputFormat

func (*CommandLineOptions) GetPrefetchConnections

func (x *CommandLineOptions) GetPrefetchConnections() *wrapperspb.BoolValue

func (*CommandLineOptions) GetProtocol

func (x *CommandLineOptions) GetProtocol() *Protocol

func (*CommandLineOptions) GetRequestOptions

func (x *CommandLineOptions) GetRequestOptions() *RequestOptions

func (*CommandLineOptions) GetRequestSource

func (x *CommandLineOptions) GetRequestSource() *RequestSource

func (*CommandLineOptions) GetRequestSourcePluginConfig

func (x *CommandLineOptions) GetRequestSourcePluginConfig() *v3.TypedExtensionConfig

func (*CommandLineOptions) GetRequestsPerSecond

func (x *CommandLineOptions) GetRequestsPerSecond() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetScheduledStart

func (x *CommandLineOptions) GetScheduledStart() *timestamppb.Timestamp

func (*CommandLineOptions) GetSequencerIdleStrategy

func (x *CommandLineOptions) GetSequencerIdleStrategy() *SequencerIdleStrategy

func (*CommandLineOptions) GetSimpleWarmup

func (x *CommandLineOptions) GetSimpleWarmup() *wrapperspb.BoolValue

func (*CommandLineOptions) GetStatsFlushInterval

func (x *CommandLineOptions) GetStatsFlushInterval() *wrapperspb.UInt32Value

func (*CommandLineOptions) GetStatsSinks

func (x *CommandLineOptions) GetStatsSinks() []*v32.StatsSink

func (*CommandLineOptions) GetTerminationPredicates

func (x *CommandLineOptions) GetTerminationPredicates() map[string]uint64

func (*CommandLineOptions) GetTimeout

func (x *CommandLineOptions) GetTimeout() *durationpb.Duration

func (*CommandLineOptions) GetTlsContext deprecated

func (x *CommandLineOptions) GetTlsContext() *v31.UpstreamTlsContext

Deprecated: Do not use.

func (*CommandLineOptions) GetTrace

func (x *CommandLineOptions) GetTrace() *wrapperspb.StringValue

func (*CommandLineOptions) GetTransportSocket

func (x *CommandLineOptions) GetTransportSocket() *v3.TransportSocket

func (*CommandLineOptions) GetUri

func (*CommandLineOptions) GetVerbosity

func (x *CommandLineOptions) GetVerbosity() *Verbosity

func (*CommandLineOptions) ProtoMessage

func (*CommandLineOptions) ProtoMessage()

func (*CommandLineOptions) ProtoReflect

func (x *CommandLineOptions) ProtoReflect() protoreflect.Message

func (*CommandLineOptions) Reset

func (x *CommandLineOptions) Reset()

func (*CommandLineOptions) String

func (x *CommandLineOptions) String() string

func (*CommandLineOptions) UnmarshalJSON added in v1.0.6

func (opt *CommandLineOptions) UnmarshalJSON(data []byte) error

type CommandLineOptions_Duration

type CommandLineOptions_Duration struct {
	// The number of seconds that the test should run. Default: 5.
	Duration *durationpb.Duration `protobuf:"bytes,3,opt,name=duration,proto3,oneof"`
}

type CommandLineOptions_H2

type CommandLineOptions_H2 struct {
	// Use HTTP/2 protocol.
	// This option is deprecated, set the protocol option instead.
	//
	// Deprecated: Do not use.
	H2 *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=h2,proto3,oneof"`
}

type CommandLineOptions_MultiTarget

type CommandLineOptions_MultiTarget struct {
	// Defines multiple URIs to benchmark
	MultiTarget *MultiTarget `protobuf:"bytes,29,opt,name=multi_target,json=multiTarget,proto3,oneof"`
}

type CommandLineOptions_NoDuration

type CommandLineOptions_NoDuration struct {
	// Request infinite execution. Note that the default failure predicates will still be added..
	NoDuration *wrapperspb.BoolValue `protobuf:"bytes,33,opt,name=no_duration,json=noDuration,proto3,oneof"`
}

type CommandLineOptions_Protocol

type CommandLineOptions_Protocol struct {
	// The protocol to use when encapsulating requests.
	Protocol *Protocol `protobuf:"bytes,107,opt,name=protocol,proto3,oneof"`
}

type CommandLineOptions_RequestOptions

type CommandLineOptions_RequestOptions struct {
	// Static configuration to use on every outgoing request
	RequestOptions *RequestOptions `protobuf:"bytes,12,opt,name=request_options,json=requestOptions,proto3,oneof"`
}

type CommandLineOptions_RequestSource

type CommandLineOptions_RequestSource struct {
	// Remote gRPC source that will deliver to-be-replayed traffic. Each worker will separately
	// connect to this source.
	RequestSource *RequestSource `protobuf:"bytes,26,opt,name=request_source,json=requestSource,proto3,oneof"`
}

type CommandLineOptions_RequestSourcePluginConfig

type CommandLineOptions_RequestSourcePluginConfig struct {
	// A plugin config that is to be parsed by a RequestSourcePluginConfigFactory and used to create
	// an in memory request source.
	RequestSourcePluginConfig *v3.TypedExtensionConfig `protobuf:"bytes,37,opt,name=request_source_plugin_config,json=requestSourcePluginConfig,proto3,oneof"`
}

type CommandLineOptions_Uri

type CommandLineOptions_Uri struct {
	// URI to benchmark. http:// and https:// are supported, but in case of https no certificates
	// are validated. For benchmarking a single endpoint.
	Uri *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=uri,proto3,oneof"` // [(validate.rules).string.uri = true];
}

type Counter

type Counter struct {
	Name  string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Counter) Descriptor deprecated

func (*Counter) Descriptor() ([]byte, []int)

Deprecated: Use Counter.ProtoReflect.Descriptor instead.

func (*Counter) GetName

func (x *Counter) GetName() string

func (*Counter) GetValue

func (x *Counter) GetValue() uint64

func (*Counter) ProtoMessage

func (*Counter) ProtoMessage()

func (*Counter) ProtoReflect

func (x *Counter) ProtoReflect() protoreflect.Message

func (*Counter) Reset

func (x *Counter) Reset()

func (*Counter) String

func (x *Counter) String() string

type DataEntry

type DataEntry struct {
	Start   float64 `protobuf:"fixed64,1,opt,name=Start,proto3" json:"Start,omitempty"`
	End     float64 `protobuf:"fixed64,2,opt,name=End,proto3" json:"End,omitempty"`
	Percent float64 `protobuf:"fixed64,3,opt,name=Percent,proto3" json:"Percent,omitempty"`
	Count   uint64  `protobuf:"varint,4,opt,name=Count,proto3" json:"Count,omitempty"`
	// contains filtered or unexported fields
}

func (*DataEntry) Descriptor deprecated

func (*DataEntry) Descriptor() ([]byte, []int)

Deprecated: Use DataEntry.ProtoReflect.Descriptor instead.

func (*DataEntry) GetCount

func (x *DataEntry) GetCount() uint64

func (*DataEntry) GetEnd

func (x *DataEntry) GetEnd() float64

func (*DataEntry) GetPercent

func (x *DataEntry) GetPercent() float64

func (*DataEntry) GetStart

func (x *DataEntry) GetStart() float64

func (*DataEntry) ProtoMessage

func (*DataEntry) ProtoMessage()

func (*DataEntry) ProtoReflect

func (x *DataEntry) ProtoReflect() protoreflect.Message

func (*DataEntry) Reset

func (x *DataEntry) Reset()

func (*DataEntry) String

func (x *DataEntry) String() string

type DurationHistogram

type DurationHistogram struct {
	Count       uint64              `protobuf:"varint,1,opt,name=Count,proto3" json:"Count,omitempty"`
	Data        []*DataEntry        `protobuf:"bytes,2,rep,name=Data,proto3" json:"Data,omitempty"`
	Min         float64             `protobuf:"fixed64,3,opt,name=Min,proto3" json:"Min,omitempty"`
	Max         float64             `protobuf:"fixed64,4,opt,name=Max,proto3" json:"Max,omitempty"`
	Sum         float64             `protobuf:"fixed64,5,opt,name=Sum,proto3" json:"Sum,omitempty"`
	Avg         float64             `protobuf:"fixed64,6,opt,name=Avg,proto3" json:"Avg,omitempty"`
	StdDev      float64             `protobuf:"fixed64,7,opt,name=StdDev,proto3" json:"StdDev,omitempty"`
	Percentiles []*FortioPercentile `protobuf:"bytes,8,rep,name=Percentiles,proto3" json:"Percentiles,omitempty"`
	// contains filtered or unexported fields
}

func (*DurationHistogram) Descriptor deprecated

func (*DurationHistogram) Descriptor() ([]byte, []int)

Deprecated: Use DurationHistogram.ProtoReflect.Descriptor instead.

func (*DurationHistogram) GetAvg

func (x *DurationHistogram) GetAvg() float64

func (*DurationHistogram) GetCount

func (x *DurationHistogram) GetCount() uint64

func (*DurationHistogram) GetData

func (x *DurationHistogram) GetData() []*DataEntry

func (*DurationHistogram) GetMax

func (x *DurationHistogram) GetMax() float64

func (*DurationHistogram) GetMin

func (x *DurationHistogram) GetMin() float64

func (*DurationHistogram) GetPercentiles

func (x *DurationHistogram) GetPercentiles() []*FortioPercentile

func (*DurationHistogram) GetStdDev

func (x *DurationHistogram) GetStdDev() float64

func (*DurationHistogram) GetSum

func (x *DurationHistogram) GetSum() float64

func (*DurationHistogram) ProtoMessage

func (*DurationHistogram) ProtoMessage()

func (*DurationHistogram) ProtoReflect

func (x *DurationHistogram) ProtoReflect() protoreflect.Message

func (*DurationHistogram) Reset

func (x *DurationHistogram) Reset()

func (*DurationHistogram) String

func (x *DurationHistogram) String() string

type ExecutionRequest

type ExecutionRequest struct {

	// Types that are assignable to CommandSpecificOptions:
	//	*ExecutionRequest_StartRequest
	//	*ExecutionRequest_UpdateRequest
	//	*ExecutionRequest_CancellationRequest
	CommandSpecificOptions isExecutionRequest_CommandSpecificOptions `protobuf_oneof:"command_specific_options"`
	// contains filtered or unexported fields
}

func (*ExecutionRequest) Descriptor deprecated

func (*ExecutionRequest) Descriptor() ([]byte, []int)

Deprecated: Use ExecutionRequest.ProtoReflect.Descriptor instead.

func (*ExecutionRequest) GetCancellationRequest

func (x *ExecutionRequest) GetCancellationRequest() *CancellationRequest

func (*ExecutionRequest) GetCommandSpecificOptions

func (m *ExecutionRequest) GetCommandSpecificOptions() isExecutionRequest_CommandSpecificOptions

func (*ExecutionRequest) GetStartRequest

func (x *ExecutionRequest) GetStartRequest() *StartRequest

func (*ExecutionRequest) GetUpdateRequest

func (x *ExecutionRequest) GetUpdateRequest() *UpdateRequest

func (*ExecutionRequest) ProtoMessage

func (*ExecutionRequest) ProtoMessage()

func (*ExecutionRequest) ProtoReflect

func (x *ExecutionRequest) ProtoReflect() protoreflect.Message

func (*ExecutionRequest) Reset

func (x *ExecutionRequest) Reset()

func (*ExecutionRequest) String

func (x *ExecutionRequest) String() string

type ExecutionRequest_CancellationRequest

type ExecutionRequest_CancellationRequest struct {
	CancellationRequest *CancellationRequest `protobuf:"bytes,3,opt,name=cancellation_request,json=cancellationRequest,proto3,oneof"`
}

type ExecutionRequest_StartRequest

type ExecutionRequest_StartRequest struct {
	StartRequest *StartRequest `protobuf:"bytes,1,opt,name=start_request,json=startRequest,proto3,oneof"`
}

type ExecutionRequest_UpdateRequest

type ExecutionRequest_UpdateRequest struct {
	UpdateRequest *UpdateRequest `protobuf:"bytes,2,opt,name=update_request,json=updateRequest,proto3,oneof"`
}

type ExecutionResponse

type ExecutionResponse struct {
	Output      *Output        `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	ErrorDetail *status.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
	// Opaque identifier for lookup purposes. This will be taken from CommandLineOptions if set,
	// if it is not set there it will be auto-generated. The format used for auto-generated
	// identifiers may change at any time.
	ExecutionId string `protobuf:"bytes,8,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecutionResponse) Descriptor deprecated

func (*ExecutionResponse) Descriptor() ([]byte, []int)

Deprecated: Use ExecutionResponse.ProtoReflect.Descriptor instead.

func (*ExecutionResponse) GetErrorDetail

func (x *ExecutionResponse) GetErrorDetail() *status.Status

func (*ExecutionResponse) GetExecutionId

func (x *ExecutionResponse) GetExecutionId() string

func (*ExecutionResponse) GetOutput

func (x *ExecutionResponse) GetOutput() *Output

func (*ExecutionResponse) ProtoMessage

func (*ExecutionResponse) ProtoMessage()

func (*ExecutionResponse) ProtoReflect

func (x *ExecutionResponse) ProtoReflect() protoreflect.Message

func (*ExecutionResponse) Reset

func (x *ExecutionResponse) Reset()

func (*ExecutionResponse) String

func (x *ExecutionResponse) String() string

type FortioPercentile

type FortioPercentile struct {
	Percentile float64 `protobuf:"fixed64,1,opt,name=Percentile,proto3" json:"Percentile,omitempty"`
	Value      float64 `protobuf:"fixed64,2,opt,name=Value,proto3" json:"Value,omitempty"`
	// contains filtered or unexported fields
}

func (*FortioPercentile) Descriptor deprecated

func (*FortioPercentile) Descriptor() ([]byte, []int)

Deprecated: Use FortioPercentile.ProtoReflect.Descriptor instead.

func (*FortioPercentile) GetPercentile

func (x *FortioPercentile) GetPercentile() float64

func (*FortioPercentile) GetValue

func (x *FortioPercentile) GetValue() float64

func (*FortioPercentile) ProtoMessage

func (*FortioPercentile) ProtoMessage()

func (*FortioPercentile) ProtoReflect

func (x *FortioPercentile) ProtoReflect() protoreflect.Message

func (*FortioPercentile) Reset

func (x *FortioPercentile) Reset()

func (*FortioPercentile) String

func (x *FortioPercentile) String() string

type FortioResult

type FortioResult struct {

	// From https://github.com/fortio/fortio/wiki/FAQ:
	// If using the command line, don't forget to use -a to auto save the json results in the current
	// data directory. And to use labels -labels "x y z" so the file name and the json include some
	// description of your run. You can later run fortio report to browse
	// graphically your results.
	// The Nighthawk equivalent of this field is structured as a repeated string, which will be
	// concatenated into this field, using ' ' as a separator.
	Labels string `protobuf:"bytes,1,opt,name=Labels,proto3" json:"Labels,omitempty"`
	// Start time of the load test execution.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=StartTime,proto3" json:"StartTime,omitempty"`
	// Configured qps
	RequestedQPS uint32 `protobuf:"varint,3,opt,name=RequestedQPS,proto3" json:"RequestedQPS,omitempty"`
	// Configured duration
	RequestedDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=RequestedDuration,proto3" json:"RequestedDuration,omitempty"`
	// Effective qps
	ActualQPS float64 `protobuf:"fixed64,5,opt,name=ActualQPS,proto3" json:"ActualQPS,omitempty"`
	// Effective duration
	ActualDuration float64 `protobuf:"fixed64,6,opt,name=ActualDuration,proto3" json:"ActualDuration,omitempty"`
	// The configured number of used connections
	NumThreads uint32 `protobuf:"varint,7,opt,name=NumThreads,proto3" json:"NumThreads,omitempty"`
	// Latency histogram
	DurationHistogram *DurationHistogram `protobuf:"bytes,8,opt,name=DurationHistogram,proto3" json:"DurationHistogram,omitempty"`
	// Fortio tracks per-return-code. We group by 2xx,3xx, etc.
	RetCodes map[string]uint64 `` /* 159-byte string literal not displayed */
	// Effective URI.
	URL string `protobuf:"bytes,12,opt,name=URL,proto3" json:"URL,omitempty"`
	// (Unstructured) version. We serialize a representation of the Nighthawk version into this field.
	Version string `protobuf:"bytes,13,opt,name=Version,proto3" json:"Version,omitempty"`
	// Was jitter used Y/N.
	Jitter bool `protobuf:"varint,14,opt,name=Jitter,proto3" json:"Jitter,omitempty"`
	// Run type. Can be "HTTP", "GRPC", and an empty string has also been observed.
	// We only set HTTP for now.
	RunType string `protobuf:"bytes,15,opt,name=RunType,proto3" json:"RunType,omitempty"`
	// Sizes and HeaderSizes seems to mean different things in Fortio depending on if the go stdclient
	// or DIY fastclient was used. We populate this field with response body sizes, and HeaderSizes
	// with header sizes. Both are tracked in bytes. Note: we don't use full histograms here, but
	// rather rely on StreamingStatistic. This means we don't populate percentiles, and only populate
	// min/mean/max/etc with respect to DurationHistogram.
	Sizes *DurationHistogram `protobuf:"bytes,16,opt,name=Sizes,proto3" json:"Sizes,omitempty"`
	// See the 'Sizes' field for detals.
	HeaderSizes *DurationHistogram `protobuf:"bytes,17,opt,name=HeaderSizes,proto3" json:"HeaderSizes,omitempty"`
	// Bytes sent should reflect the bytes sent after protocol serialization, compression, and
	// encryption are applied (i.e., the size of the buffers passed to the send() system call or its
	// equivalent).
	BytesSent uint64 `protobuf:"varint,18,opt,name=BytesSent,proto3" json:"BytesSent,omitempty"`
	// Bytes received should reflect the bytes read before decryption, de-compression, and protocol
	// de-serialization are applied (i.e., the size of bytes read from the recv() system call or its
	// equivalent).
	BytesReceived uint64 `protobuf:"varint,19,opt,name=BytesReceived,proto3" json:"BytesReceived,omitempty"`
	// contains filtered or unexported fields
}

This proto represents that output format that Fortio expects when converted to JSON. Nighthawk can fill in this proto, and then unmarshal to the Fortio-compatible JSON. Therefore, this proto may not follow conventions. aip.dev/not-precedent

func (*FortioResult) Descriptor deprecated

func (*FortioResult) Descriptor() ([]byte, []int)

Deprecated: Use FortioResult.ProtoReflect.Descriptor instead.

func (*FortioResult) GetActualDuration

func (x *FortioResult) GetActualDuration() float64

func (*FortioResult) GetActualQPS

func (x *FortioResult) GetActualQPS() float64

func (*FortioResult) GetBytesReceived

func (x *FortioResult) GetBytesReceived() uint64

func (*FortioResult) GetBytesSent

func (x *FortioResult) GetBytesSent() uint64

func (*FortioResult) GetDurationHistogram

func (x *FortioResult) GetDurationHistogram() *DurationHistogram

func (*FortioResult) GetHeaderSizes

func (x *FortioResult) GetHeaderSizes() *DurationHistogram

func (*FortioResult) GetJitter

func (x *FortioResult) GetJitter() bool

func (*FortioResult) GetLabels

func (x *FortioResult) GetLabels() string

func (*FortioResult) GetNumThreads

func (x *FortioResult) GetNumThreads() uint32

func (*FortioResult) GetRequestedDuration

func (x *FortioResult) GetRequestedDuration() *durationpb.Duration

func (*FortioResult) GetRequestedQPS

func (x *FortioResult) GetRequestedQPS() uint32

func (*FortioResult) GetRetCodes

func (x *FortioResult) GetRetCodes() map[string]uint64

func (*FortioResult) GetRunType

func (x *FortioResult) GetRunType() string

func (*FortioResult) GetSizes

func (x *FortioResult) GetSizes() *DurationHistogram

func (*FortioResult) GetStartTime

func (x *FortioResult) GetStartTime() *timestamppb.Timestamp

func (*FortioResult) GetURL

func (x *FortioResult) GetURL() string

func (*FortioResult) GetVersion

func (x *FortioResult) GetVersion() string

func (*FortioResult) ProtoMessage

func (*FortioResult) ProtoMessage()

func (*FortioResult) ProtoReflect

func (x *FortioResult) ProtoReflect() protoreflect.Message

func (*FortioResult) Reset

func (x *FortioResult) Reset()

func (*FortioResult) String

func (x *FortioResult) String() string

type H1ConnectionReuseStrategy

type H1ConnectionReuseStrategy struct {
	Value H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*H1ConnectionReuseStrategy) Descriptor deprecated

func (*H1ConnectionReuseStrategy) Descriptor() ([]byte, []int)

Deprecated: Use H1ConnectionReuseStrategy.ProtoReflect.Descriptor instead.

func (*H1ConnectionReuseStrategy) ProtoMessage

func (*H1ConnectionReuseStrategy) ProtoMessage()

func (*H1ConnectionReuseStrategy) ProtoReflect

func (*H1ConnectionReuseStrategy) Reset

func (x *H1ConnectionReuseStrategy) Reset()

func (*H1ConnectionReuseStrategy) String

func (x *H1ConnectionReuseStrategy) String() string

type H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions

type H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions int32
const (
	H1ConnectionReuseStrategy_DEFAULT H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions = 0
	H1ConnectionReuseStrategy_MRU     H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions = 1
	H1ConnectionReuseStrategy_LRU     H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions = 2
)

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) Descriptor

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) Enum

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) EnumDescriptor deprecated

Deprecated: Use H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions.Descriptor instead.

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) Number

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) String

func (H1ConnectionReuseStrategy_H1ConnectionReuseStrategyOptions) Type

type MultiTarget

type MultiTarget struct {

	// Whether to use HTTPS in requests to all backends; otherwise HTTP.
	UseHttps *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=use_https,json=useHttps,proto3" json:"use_https,omitempty"`
	// One or more address-port pairs to receive traffic distributed with round robin.
	Endpoints []*MultiTarget_Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
	// The absolute HTTP request path (the part of the URL after host:port, e.g. /x/y/z).
	// A single path is requested from all backends. Ignored when using a RequestSource.
	Path *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*MultiTarget) Descriptor deprecated

func (*MultiTarget) Descriptor() ([]byte, []int)

Deprecated: Use MultiTarget.ProtoReflect.Descriptor instead.

func (*MultiTarget) GetEndpoints

func (x *MultiTarget) GetEndpoints() []*MultiTarget_Endpoint

func (*MultiTarget) GetPath

func (x *MultiTarget) GetPath() *wrapperspb.StringValue

func (*MultiTarget) GetUseHttps

func (x *MultiTarget) GetUseHttps() *wrapperspb.BoolValue

func (*MultiTarget) ProtoMessage

func (*MultiTarget) ProtoMessage()

func (*MultiTarget) ProtoReflect

func (x *MultiTarget) ProtoReflect() protoreflect.Message

func (*MultiTarget) Reset

func (x *MultiTarget) Reset()

func (*MultiTarget) String

func (x *MultiTarget) String() string

type MultiTarget_Endpoint

type MultiTarget_Endpoint struct {
	Address *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port    *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

func (*MultiTarget_Endpoint) Descriptor deprecated

func (*MultiTarget_Endpoint) Descriptor() ([]byte, []int)

Deprecated: Use MultiTarget_Endpoint.ProtoReflect.Descriptor instead.

func (*MultiTarget_Endpoint) GetAddress

func (x *MultiTarget_Endpoint) GetAddress() *wrapperspb.StringValue

func (*MultiTarget_Endpoint) GetPort

func (*MultiTarget_Endpoint) ProtoMessage

func (*MultiTarget_Endpoint) ProtoMessage()

func (*MultiTarget_Endpoint) ProtoReflect

func (x *MultiTarget_Endpoint) ProtoReflect() protoreflect.Message

func (*MultiTarget_Endpoint) Reset

func (x *MultiTarget_Endpoint) Reset()

func (*MultiTarget_Endpoint) String

func (x *MultiTarget_Endpoint) String() string

type NighthawkServiceClient

type NighthawkServiceClient interface {
	//  Accepts a stream of ExecutionRequests, which can be used to initiate, update, or cancel a
	//  test. Returns a stream of ExecutionResponse objects which will contain results for all
	//  Nighthawk runs.
	ExecutionStream(ctx context.Context, opts ...grpc.CallOption) (NighthawkService_ExecutionStreamClient, error)
}

NighthawkServiceClient is the client API for NighthawkService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type NighthawkServiceServer

type NighthawkServiceServer interface {
	//  Accepts a stream of ExecutionRequests, which can be used to initiate, update, or cancel a
	//  test. Returns a stream of ExecutionResponse objects which will contain results for all
	//  Nighthawk runs.
	ExecutionStream(NighthawkService_ExecutionStreamServer) error
}

NighthawkServiceServer is the server API for NighthawkService service.

type NighthawkService_ExecutionStreamClient

type NighthawkService_ExecutionStreamClient interface {
	Send(*ExecutionRequest) error
	Recv() (*ExecutionResponse, error)
	grpc.ClientStream
}

type NighthawkService_ExecutionStreamServer

type NighthawkService_ExecutionStreamServer interface {
	Send(*ExecutionResponse) error
	Recv() (*ExecutionRequest, error)
	grpc.ServerStream
}

type Output

type Output struct {
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Options   *CommandLineOptions    `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	Results   []*Result              `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
	Version   *v3.BuildVersion       `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

func (*Output) Descriptor deprecated

func (*Output) Descriptor() ([]byte, []int)

Deprecated: Use Output.ProtoReflect.Descriptor instead.

func (*Output) GetOptions

func (x *Output) GetOptions() *CommandLineOptions

func (*Output) GetResults

func (x *Output) GetResults() []*Result

func (*Output) GetTimestamp

func (x *Output) GetTimestamp() *timestamppb.Timestamp

func (*Output) GetVersion

func (x *Output) GetVersion() *v3.BuildVersion

func (*Output) ProtoMessage

func (*Output) ProtoMessage()

func (*Output) ProtoReflect

func (x *Output) ProtoReflect() protoreflect.Message

func (*Output) Reset

func (x *Output) Reset()

func (*Output) String

func (x *Output) String() string

type OutputFormat

type OutputFormat struct {
	Value OutputFormat_OutputFormatOptions `protobuf:"varint,1,opt,name=value,proto3,enum=nighthawk.client.OutputFormat_OutputFormatOptions" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*OutputFormat) Descriptor deprecated

func (*OutputFormat) Descriptor() ([]byte, []int)

Deprecated: Use OutputFormat.ProtoReflect.Descriptor instead.

func (*OutputFormat) GetValue

func (*OutputFormat) ProtoMessage

func (*OutputFormat) ProtoMessage()

func (*OutputFormat) ProtoReflect

func (x *OutputFormat) ProtoReflect() protoreflect.Message

func (*OutputFormat) Reset

func (x *OutputFormat) Reset()

func (*OutputFormat) String

func (x *OutputFormat) String() string

type OutputFormat_OutputFormatOptions

type OutputFormat_OutputFormatOptions int32
const (
	OutputFormat_DEFAULT                      OutputFormat_OutputFormatOptions = 0
	OutputFormat_JSON                         OutputFormat_OutputFormatOptions = 1
	OutputFormat_HUMAN                        OutputFormat_OutputFormatOptions = 2
	OutputFormat_YAML                         OutputFormat_OutputFormatOptions = 3
	OutputFormat_DOTTED                       OutputFormat_OutputFormatOptions = 4
	OutputFormat_FORTIO                       OutputFormat_OutputFormatOptions = 5
	OutputFormat_EXPERIMENTAL_FORTIO_PEDANTIC OutputFormat_OutputFormatOptions = 6
)

func (OutputFormat_OutputFormatOptions) Descriptor

func (OutputFormat_OutputFormatOptions) Enum

func (OutputFormat_OutputFormatOptions) EnumDescriptor deprecated

func (OutputFormat_OutputFormatOptions) EnumDescriptor() ([]byte, []int)

Deprecated: Use OutputFormat_OutputFormatOptions.Descriptor instead.

func (OutputFormat_OutputFormatOptions) Number

func (OutputFormat_OutputFormatOptions) String

func (OutputFormat_OutputFormatOptions) Type

type Percentile

type Percentile struct {

	// Types that are assignable to DurationType:
	//	*Percentile_Duration
	//	*Percentile_RawValue
	DurationType isPercentile_DurationType `protobuf_oneof:"duration_type"`
	Percentile   float64                   `protobuf:"fixed64,2,opt,name=percentile,proto3" json:"percentile,omitempty"`
	Count        uint64                    `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

func (*Percentile) Descriptor deprecated

func (*Percentile) Descriptor() ([]byte, []int)

Deprecated: Use Percentile.ProtoReflect.Descriptor instead.

func (*Percentile) GetCount

func (x *Percentile) GetCount() uint64

func (*Percentile) GetDuration

func (x *Percentile) GetDuration() *durationpb.Duration

func (*Percentile) GetDurationType

func (m *Percentile) GetDurationType() isPercentile_DurationType

func (*Percentile) GetPercentile

func (x *Percentile) GetPercentile() float64

func (*Percentile) GetRawValue

func (x *Percentile) GetRawValue() float64

func (*Percentile) ProtoMessage

func (*Percentile) ProtoMessage()

func (*Percentile) ProtoReflect

func (x *Percentile) ProtoReflect() protoreflect.Message

func (*Percentile) Reset

func (x *Percentile) Reset()

func (*Percentile) String

func (x *Percentile) String() string

type Percentile_Duration

type Percentile_Duration struct {
	Duration *durationpb.Duration `protobuf:"bytes,1,opt,name=duration,proto3,oneof"`
}

type Percentile_RawValue

type Percentile_RawValue struct {
	RawValue float64 `protobuf:"fixed64,4,opt,name=raw_value,json=rawValue,proto3,oneof"`
}

type Protocol

type Protocol struct {

	// The protocol to encapsulate requests in.
	Value Protocol_ProtocolOptions `protobuf:"varint,1,opt,name=value,proto3,enum=nighthawk.client.Protocol_ProtocolOptions" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Protocol) Descriptor deprecated

func (*Protocol) Descriptor() ([]byte, []int)

Deprecated: Use Protocol.ProtoReflect.Descriptor instead.

func (*Protocol) GetValue

func (x *Protocol) GetValue() Protocol_ProtocolOptions

func (*Protocol) ProtoMessage

func (*Protocol) ProtoMessage()

func (*Protocol) ProtoReflect

func (x *Protocol) ProtoReflect() protoreflect.Message

func (*Protocol) Reset

func (x *Protocol) Reset()

func (*Protocol) String

func (x *Protocol) String() string

type Protocol_ProtocolOptions

type Protocol_ProtocolOptions int32
const (
	// Encapsulate requests in HTTP/1.
	// This is the default option.
	Protocol_HTTP1 Protocol_ProtocolOptions = 0
	// Encapsulate requests in HTTP/2.
	Protocol_HTTP2 Protocol_ProtocolOptions = 1
	// Encapsulate requests in HTTP/3 Quic.
	//
	// Note that certificate verification for HTTP/3 Quic connections currently
	// cannot be skipped, make sure to include a host or an authority header
	// that will pass the SAN/SNI verification.
	// See https://github.com/envoyproxy/nighthawk/issues/727.
	Protocol_HTTP3 Protocol_ProtocolOptions = 2
)

func (Protocol_ProtocolOptions) Descriptor

func (Protocol_ProtocolOptions) Enum

func (Protocol_ProtocolOptions) EnumDescriptor deprecated

func (Protocol_ProtocolOptions) EnumDescriptor() ([]byte, []int)

Deprecated: Use Protocol_ProtocolOptions.Descriptor instead.

func (Protocol_ProtocolOptions) Number

func (Protocol_ProtocolOptions) String

func (x Protocol_ProtocolOptions) String() string

func (Protocol_ProtocolOptions) Type

type RequestOptions

type RequestOptions struct {
	RequestMethod  v3.RequestMethod        `` /* 141-byte string literal not displayed */
	RequestHeaders []*v3.HeaderValueOption `protobuf:"bytes,2,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty"`
	// Our StreamDecoder depends on bounding the size here, so if this changes, an amendment
	// to that is needed as well.
	RequestBodySize *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=request_body_size,json=requestBodySize,proto3" json:"request_body_size,omitempty"`
	// contains filtered or unexported fields
}

Allows for static configuration of requests that should be send by the load generator.

func (*RequestOptions) Descriptor deprecated

func (*RequestOptions) Descriptor() ([]byte, []int)

Deprecated: Use RequestOptions.ProtoReflect.Descriptor instead.

func (*RequestOptions) GetRequestBodySize

func (x *RequestOptions) GetRequestBodySize() *wrapperspb.UInt32Value

func (*RequestOptions) GetRequestHeaders

func (x *RequestOptions) GetRequestHeaders() []*v3.HeaderValueOption

func (*RequestOptions) GetRequestMethod

func (x *RequestOptions) GetRequestMethod() v3.RequestMethod

func (*RequestOptions) ProtoMessage

func (*RequestOptions) ProtoMessage()

func (*RequestOptions) ProtoReflect

func (x *RequestOptions) ProtoReflect() protoreflect.Message

func (*RequestOptions) Reset

func (x *RequestOptions) Reset()

func (*RequestOptions) String

func (x *RequestOptions) String() string

type RequestOptionsList

type RequestOptionsList struct {

	// Each option is used for a separate request to be sent by the requestSource.
	Options []*RequestOptions `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

Used for providing multiple request options, especially for RequestSourcePlugins.

func (*RequestOptionsList) Descriptor deprecated

func (*RequestOptionsList) Descriptor() ([]byte, []int)

Deprecated: Use RequestOptionsList.ProtoReflect.Descriptor instead.

func (*RequestOptionsList) GetOptions

func (x *RequestOptionsList) GetOptions() []*RequestOptions

func (*RequestOptionsList) ProtoMessage

func (*RequestOptionsList) ProtoMessage()

func (*RequestOptionsList) ProtoReflect

func (x *RequestOptionsList) ProtoReflect() protoreflect.Message

func (*RequestOptionsList) Reset

func (x *RequestOptionsList) Reset()

func (*RequestOptionsList) String

func (x *RequestOptionsList) String() string

type RequestSource

type RequestSource struct {
	Uri string `protobuf:"bytes,19,opt,name=uri,proto3" json:"uri,omitempty"` // [(validate.rules).string.uri = true];
	// contains filtered or unexported fields
}

Configures a remote gRPC source that will deliver to-be-replayed request data to Nighthawks workers.

func (*RequestSource) Descriptor deprecated

func (*RequestSource) Descriptor() ([]byte, []int)

Deprecated: Use RequestSource.ProtoReflect.Descriptor instead.

func (*RequestSource) GetUri

func (x *RequestSource) GetUri() string

func (*RequestSource) ProtoMessage

func (*RequestSource) ProtoMessage()

func (*RequestSource) ProtoReflect

func (x *RequestSource) ProtoReflect() protoreflect.Message

func (*RequestSource) Reset

func (x *RequestSource) Reset()

func (*RequestSource) String

func (x *RequestSource) String() string

type Result

type Result struct {
	Name              string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Statistics        []*Statistic           `protobuf:"bytes,2,rep,name=statistics,proto3" json:"statistics,omitempty"`
	Counters          []*Counter             `protobuf:"bytes,3,rep,name=counters,proto3" json:"counters,omitempty"`
	ExecutionDuration *durationpb.Duration   `protobuf:"bytes,4,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"`
	ExecutionStart    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=execution_start,json=executionStart,proto3" json:"execution_start,omitempty"`
	// contains filtered or unexported fields
}

func (*Result) Descriptor deprecated

func (*Result) Descriptor() ([]byte, []int)

Deprecated: Use Result.ProtoReflect.Descriptor instead.

func (*Result) GetCounters

func (x *Result) GetCounters() []*Counter

func (*Result) GetExecutionDuration

func (x *Result) GetExecutionDuration() *durationpb.Duration

func (*Result) GetExecutionStart

func (x *Result) GetExecutionStart() *timestamppb.Timestamp

func (*Result) GetName

func (x *Result) GetName() string

func (*Result) GetStatistics

func (x *Result) GetStatistics() []*Statistic

func (*Result) ProtoMessage

func (*Result) ProtoMessage()

func (*Result) ProtoReflect

func (x *Result) ProtoReflect() protoreflect.Message

func (*Result) Reset

func (x *Result) Reset()

func (*Result) String

func (x *Result) String() string

type SequencerIdleStrategy

type SequencerIdleStrategy struct {
	Value SequencerIdleStrategy_SequencerIdleStrategyOptions `` /* 137-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*SequencerIdleStrategy) Descriptor deprecated

func (*SequencerIdleStrategy) Descriptor() ([]byte, []int)

Deprecated: Use SequencerIdleStrategy.ProtoReflect.Descriptor instead.

func (*SequencerIdleStrategy) GetValue

func (*SequencerIdleStrategy) ProtoMessage

func (*SequencerIdleStrategy) ProtoMessage()

func (*SequencerIdleStrategy) ProtoReflect

func (x *SequencerIdleStrategy) ProtoReflect() protoreflect.Message

func (*SequencerIdleStrategy) Reset

func (x *SequencerIdleStrategy) Reset()

func (*SequencerIdleStrategy) String

func (x *SequencerIdleStrategy) String() string

type SequencerIdleStrategy_SequencerIdleStrategyOptions

type SequencerIdleStrategy_SequencerIdleStrategyOptions int32
const (
	SequencerIdleStrategy_DEFAULT SequencerIdleStrategy_SequencerIdleStrategyOptions = 0
	SequencerIdleStrategy_SPIN    SequencerIdleStrategy_SequencerIdleStrategyOptions = 1
	SequencerIdleStrategy_POLL    SequencerIdleStrategy_SequencerIdleStrategyOptions = 2
	SequencerIdleStrategy_SLEEP   SequencerIdleStrategy_SequencerIdleStrategyOptions = 3
)

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) Descriptor

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) Enum

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) EnumDescriptor deprecated

Deprecated: Use SequencerIdleStrategy_SequencerIdleStrategyOptions.Descriptor instead.

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) Number

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) String

func (SequencerIdleStrategy_SequencerIdleStrategyOptions) Type

type StartRequest

type StartRequest struct {
	Options *CommandLineOptions `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

func (*StartRequest) Descriptor deprecated

func (*StartRequest) Descriptor() ([]byte, []int)

Deprecated: Use StartRequest.ProtoReflect.Descriptor instead.

func (*StartRequest) GetOptions

func (x *StartRequest) GetOptions() *CommandLineOptions

func (*StartRequest) ProtoMessage

func (*StartRequest) ProtoMessage()

func (*StartRequest) ProtoReflect

func (x *StartRequest) ProtoReflect() protoreflect.Message

func (*StartRequest) Reset

func (x *StartRequest) Reset()

func (*StartRequest) String

func (x *StartRequest) String() string

type Statistic

type Statistic struct {
	Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	Id    string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Types that are assignable to MeanType:
	//	*Statistic_Mean
	//	*Statistic_RawMean
	MeanType isStatistic_MeanType `protobuf_oneof:"mean_type"`
	// Types that are assignable to PstdevType:
	//	*Statistic_Pstdev
	//	*Statistic_RawPstdev
	PstdevType  isStatistic_PstdevType `protobuf_oneof:"pstdev_type"`
	Percentiles []*Percentile          `protobuf:"bytes,5,rep,name=percentiles,proto3" json:"percentiles,omitempty"`
	// Types that are assignable to MinType:
	//	*Statistic_Min
	//	*Statistic_RawMin
	MinType isStatistic_MinType `protobuf_oneof:"min_type"`
	// Types that are assignable to MaxType:
	//	*Statistic_Max
	//	*Statistic_RawMax
	MaxType isStatistic_MaxType `protobuf_oneof:"max_type"`
	// contains filtered or unexported fields
}

func (*Statistic) Descriptor deprecated

func (*Statistic) Descriptor() ([]byte, []int)

Deprecated: Use Statistic.ProtoReflect.Descriptor instead.

func (*Statistic) GetCount

func (x *Statistic) GetCount() uint64

func (*Statistic) GetId

func (x *Statistic) GetId() string

func (*Statistic) GetMax

func (x *Statistic) GetMax() *durationpb.Duration

func (*Statistic) GetMaxType

func (m *Statistic) GetMaxType() isStatistic_MaxType

func (*Statistic) GetMean

func (x *Statistic) GetMean() *durationpb.Duration

func (*Statistic) GetMeanType

func (m *Statistic) GetMeanType() isStatistic_MeanType

func (*Statistic) GetMin

func (x *Statistic) GetMin() *durationpb.Duration

func (*Statistic) GetMinType

func (m *Statistic) GetMinType() isStatistic_MinType

func (*Statistic) GetPercentiles

func (x *Statistic) GetPercentiles() []*Percentile

func (*Statistic) GetPstdev

func (x *Statistic) GetPstdev() *durationpb.Duration

func (*Statistic) GetPstdevType

func (m *Statistic) GetPstdevType() isStatistic_PstdevType

func (*Statistic) GetRawMax

func (x *Statistic) GetRawMax() uint64

func (*Statistic) GetRawMean

func (x *Statistic) GetRawMean() float64

func (*Statistic) GetRawMin

func (x *Statistic) GetRawMin() uint64

func (*Statistic) GetRawPstdev

func (x *Statistic) GetRawPstdev() float64

func (*Statistic) ProtoMessage

func (*Statistic) ProtoMessage()

func (*Statistic) ProtoReflect

func (x *Statistic) ProtoReflect() protoreflect.Message

func (*Statistic) Reset

func (x *Statistic) Reset()

func (*Statistic) String

func (x *Statistic) String() string

type Statistic_Max

type Statistic_Max struct {
	Max *durationpb.Duration `protobuf:"bytes,7,opt,name=max,proto3,oneof"`
}

type Statistic_Mean

type Statistic_Mean struct {
	Mean *durationpb.Duration `protobuf:"bytes,3,opt,name=mean,proto3,oneof"`
}

type Statistic_Min

type Statistic_Min struct {
	Min *durationpb.Duration `protobuf:"bytes,6,opt,name=min,proto3,oneof"`
}

type Statistic_Pstdev

type Statistic_Pstdev struct {
	Pstdev *durationpb.Duration `protobuf:"bytes,4,opt,name=pstdev,proto3,oneof"`
}

type Statistic_RawMax

type Statistic_RawMax struct {
	RawMax uint64 `protobuf:"varint,13,opt,name=raw_max,json=rawMax,proto3,oneof"`
}

type Statistic_RawMean

type Statistic_RawMean struct {
	RawMean float64 `protobuf:"fixed64,8,opt,name=raw_mean,json=rawMean,proto3,oneof"`
}

type Statistic_RawMin

type Statistic_RawMin struct {
	RawMin uint64 `protobuf:"varint,12,opt,name=raw_min,json=rawMin,proto3,oneof"`
}

type Statistic_RawPstdev

type Statistic_RawPstdev struct {
	RawPstdev float64 `protobuf:"fixed64,10,opt,name=raw_pstdev,json=rawPstdev,proto3,oneof"`
}

type UnimplementedNighthawkServiceServer

type UnimplementedNighthawkServiceServer struct {
}

UnimplementedNighthawkServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedNighthawkServiceServer) ExecutionStream

type UpdateRequest

type UpdateRequest struct {
	// contains filtered or unexported fields
}

TODO(oschaaf): Not implemented yet.

func (*UpdateRequest) Descriptor deprecated

func (*UpdateRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.

func (*UpdateRequest) ProtoMessage

func (*UpdateRequest) ProtoMessage()

func (*UpdateRequest) ProtoReflect

func (x *UpdateRequest) ProtoReflect() protoreflect.Message

func (*UpdateRequest) Reset

func (x *UpdateRequest) Reset()

func (*UpdateRequest) String

func (x *UpdateRequest) String() string

type Verbosity

type Verbosity struct {
	Value Verbosity_VerbosityOptions `protobuf:"varint,1,opt,name=value,proto3,enum=nighthawk.client.Verbosity_VerbosityOptions" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Verbosity) Descriptor deprecated

func (*Verbosity) Descriptor() ([]byte, []int)

Deprecated: Use Verbosity.ProtoReflect.Descriptor instead.

func (*Verbosity) GetValue

func (x *Verbosity) GetValue() Verbosity_VerbosityOptions

func (*Verbosity) ProtoMessage

func (*Verbosity) ProtoMessage()

func (*Verbosity) ProtoReflect

func (x *Verbosity) ProtoReflect() protoreflect.Message

func (*Verbosity) Reset

func (x *Verbosity) Reset()

func (*Verbosity) String

func (x *Verbosity) String() string

type Verbosity_VerbosityOptions

type Verbosity_VerbosityOptions int32
const (
	Verbosity_DEFAULT  Verbosity_VerbosityOptions = 0
	Verbosity_INFO     Verbosity_VerbosityOptions = 1
	Verbosity_TRACE    Verbosity_VerbosityOptions = 2
	Verbosity_DEBUG    Verbosity_VerbosityOptions = 3
	Verbosity_WARN     Verbosity_VerbosityOptions = 4
	Verbosity_ERROR    Verbosity_VerbosityOptions = 5
	Verbosity_CRITICAL Verbosity_VerbosityOptions = 6
)

func (Verbosity_VerbosityOptions) Descriptor

func (Verbosity_VerbosityOptions) Enum

func (Verbosity_VerbosityOptions) EnumDescriptor deprecated

func (Verbosity_VerbosityOptions) EnumDescriptor() ([]byte, []int)

Deprecated: Use Verbosity_VerbosityOptions.Descriptor instead.

func (Verbosity_VerbosityOptions) Number

func (Verbosity_VerbosityOptions) String

func (Verbosity_VerbosityOptions) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL