Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // PerfTestBroadcast sends broadcast messages PerfTestBroadcast fftypes.FFEnum = "msg_broadcast" // PerfTestPrivateMsg sends private messages to a recipient in the consortium PerfTestPrivateMsg fftypes.FFEnum = "msg_private" // PerfTestTokenMint mints tokens in a token pool PerfTestTokenMint fftypes.FFEnum = "token_mint" // PerfTestCustomEthereumContract invokes a custom smart contract and checks events emitted by it PerfTestCustomEthereumContract fftypes.FFEnum = "custom_ethereum_contract" // PerfTestCustomEthereumContract invokes an erc20 transfer and checks events emitted by it PerfTestERC20TransferContract fftypes.FFEnum = "erc20_transfer" // PerfTestCustomFabricContract invokes a custom smart contract and checks events emitted by it PerfTestCustomFabricContract fftypes.FFEnum = "custom_fabric_contract" // PerfTestBlobBroadcast broadcasts a blob PerfTestBlobBroadcast fftypes.FFEnum = "blob_broadcast" // PerfTestBlobPrivateMsg privately sends a blob PerfTestBlobPrivateMsg fftypes.FFEnum = "blob_private" )
View Source
var ( // DelinquentActionExit causes ffperf to exit after detecting delinquent messages DelinquentActionExit fftypes.FFEnum = "exit" // DelinquentActionLog causes ffperf to log and move on after delinquent messages DelinquentActionLog fftypes.FFEnum = "log" )
View Source
var ValidPerfTests = map[string]fftypes.FFEnum{ PerfTestBroadcast.String(): PerfTestBroadcast, PerfTestPrivateMsg.String(): PerfTestPrivateMsg, PerfTestTokenMint.String(): PerfTestTokenMint, PerfTestCustomEthereumContract.String(): PerfTestCustomEthereumContract, PerfTestCustomFabricContract.String(): PerfTestCustomFabricContract, PerfTestBlobBroadcast.String(): PerfTestBlobBroadcast, PerfTestBlobPrivateMsg.String(): PerfTestBlobPrivateMsg, }
Functions ¶
func GenerateWSConfig ¶
func GenerateWSConfig(nodeURL string, conf *FireFlyWsConfig) *wsclient.WSConfig
Types ¶
type ContractOptions ¶
type FireFlyWsConfig ¶
type FireFlyWsConfig struct {
WSPath string `mapstructure:"wsPath" json:"wsPath" yaml:"wsPath"`
ReadBufferSize int `mapstructure:"readBufferSize" json:"readBufferSize" yaml:"readBufferSize"`
WriteBufferSize int `mapstructure:"writeBufferSize" json:"writeBufferSize" yaml:"writeBufferSize"`
InitialDelay time.Duration `mapstructure:"initialDelay" json:"initialDelay" yaml:"initialDelay"`
MaximumDelay time.Duration `mapstructure:"maximumDelay" json:"maximumDelay" yaml:"maximumDelay"`
InitialConnectAttempts int `mapstructure:"initialConnectAttempts" json:"initialConnectAttempts" yaml:"initialConnectAttempts"`
HeartbeatInterval time.Duration `mapstructure:"heartbeatInterval" json:"heartbeatInterval" yaml:"heartbeatInterval"`
AuthUsername string `mapstructure:"authUsername" json:"authUsername" yaml:"authUsername"`
AuthPassword string `mapstructure:"authPassword" json:"authPassword" yaml:"authPassword"`
AuthToken string `mapstructure:"authToken" json:"authToken" yaml:"authToken"`
DisableTLSVerification bool `mapstructure:"disableTLSVerification" json:"disableTLSVerification" yaml:"disableTLSVerification"`
ConnectionTimeout time.Duration `mapstructure:"connectionTimeout" json:"connectionTimeout" yaml:"connectionTimeout"`
}
type InstanceConfig ¶
type InstanceConfig struct {
Name string `yaml:"name" json:"name"`
Tests []TestCaseConfig `yaml:"tests" json:"tests"`
Length time.Duration `yaml:"length" json:"length"`
MessageOptions MessageOptions `json:"messageOptions,omitempty" yaml:"messageOptions,omitempty"`
InvokeOptions interface{} `json:"invokeOptions,omitempty" yaml:"invokeOptions,omitempty"`
Sender int `json:"sender" yaml:"sender"`
ManualNodeIndex int `json:"manualNodeIndex" yaml:"manualNodeIndex"`
Recipient *int `json:"recipient,omitempty" yaml:"recipient,omitempty"`
SigningKey string `json:"signingKey,omitempty" yaml:"signingKey,omitempty"`
TokenOptions TokenOptions `json:"tokenOptions,omitempty" yaml:"tokenOptions,omitempty"`
ContractOptions ContractOptions `json:"contractOptions,omitempty" yaml:"contractOptions,omitempty"`
APIPrefix string `json:"apiPrefix,omitempty" yaml:"apiPrefix,omitempty"`
FFNamespace string `json:"fireflyNamespace,omitempty" yaml:"fireflyNamespace,omitempty"`
FFNamespaceBasePath string `json:"namespaceBasePath,omitempty" yaml:"namespaceBasePath,omitempty"`
MaxTimePerAction time.Duration `json:"maxTimePerAction,omitempty" yaml:"maxTimePerAction,omitempty"`
MaxActions int64 `json:"maxActions,omitempty" yaml:"maxActions,omitempty"`
RampLength time.Duration `json:"rampLength,omitempty" yaml:"rampLength,omitempty"`
SkipMintConfirmations bool `json:"skipMintConfirmations" yaml:"skipMintConfirmations"` // deprecated
NoWaitSubmission bool `json:"noWaitSubmission" yaml:"noWaitSubmission"`
MaxSubmissionsPerSecond int `json:"maxSubmissionsPerSecond" yaml:"maxSubmissionsPerSecond"`
DelinquentAction string `json:"delinquentAction,omitempty" yaml:"delinquentAction,omitempty"`
PerWorkerSigningKeyPrefix string `json:"perWorkerSigningKeyPrefix,omitempty" yaml:"perWorkerSigningKeyPrefix,omitempty"`
SubscriptionCoreOptions *core.SubscriptionCoreOptions `json:"subscriptionOptions,omitempty" yaml:"subscriptionOptions,omitempty"`
}
type MessageOptions ¶
type MessageOptions struct {
LongMessage bool `json:"longMessage" yaml:"longMessage"`
}
type NodeConfig ¶
type NodeConfig struct {
Name string `json:"name" yaml:"name"`
APIEndpoint string `json:"apiEndpoint,omitempty" yaml:"apiEndpoint,omitempty"`
AuthUsername string `json:"authUsername,omitempty" yaml:"authUsername,omitempty"`
AuthPassword string `json:"authPassword,omitempty" yaml:"authPassword,omitempty"`
AuthToken string `json:"authToken,omitempty" yaml:"authToken,omitempty"`
}
type PerformanceTestConfig ¶
type PerformanceTestConfig struct {
LogLevel string `yaml:"logLevel" json:"logLevel"`
StackJSONPath string `json:"stackJSONPath" yaml:"stackJSONPath"`
Instances []InstanceConfig `json:"instances" yaml:"instances"`
WSConfig FireFlyWsConfig `json:"wsConfig,omitempty" yaml:"wsConfig,omitempty"`
Daemon bool `json:"daemon,omitempty" yaml:"daemon,omitempty"`
Nodes []NodeConfig `yaml:"nodes" json:"nodes"`
LogEvents bool `json:"logEvents,omitempty" yaml:"logEvents,omitempty"`
}
type RunnerConfig ¶
type RunnerConfig struct {
LogLevel string
Tests []TestCaseConfig
Length time.Duration
MessageOptions MessageOptions
InvokeOptions interface{}
RecipientOrg string
RecipientAddress string
SigningKey string
PerWorkerSigningKeyPrefix string
TokenOptions TokenOptions
ContractOptions ContractOptions
WebSocket FireFlyWsConfig
NodeURLs []string
StackJSONPath string
DelinquentAction string
Daemon bool
LogEvents bool
SenderURL string
APIPrefix string
FFNamespace string
FFNamespacePath string
MaxTimePerAction time.Duration
MaxActions int64
RampLength time.Duration
SkipMintConfirmations bool // deprecated
NoWaitSubmission bool
MaxSubmissionsPerSecond int
SubscriptionCoreOptions *core.SubscriptionCoreOptions
}
type TestCaseConfig ¶
type TokenConfig ¶
type TokenOptions ¶
type TokenOptions struct {
TokenType string `json:"tokenType" yaml:"tokenType"`
TokenPoolConnectorName string `json:"poolConnectorName" yaml:"poolConnectorName"`
SupportsData *bool `json:"supportsData" yaml:"supportsData"` // Needs to be a pointer to allow defaulting to 'true'
SupportsURI bool `json:"supportsURI" yaml:"supportsURI"`
ExistingPoolName string `json:"existingPoolName" yaml:"existingPoolName"`
RecipientAddress string `json:"mintRecipient,omitempty" yaml:"mintRecipient,omitempty"`
Config TokenConfig `json:"config" yaml:"config"`
MaxTokenBalanceWait time.Duration `json:"maxTokenBalanceWait,omitempty" yaml:"maxTokenBalanceWait,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.