-
Notifications
You must be signed in to change notification settings - Fork 0
/
caliper.yaml
228 lines (225 loc) · 8.99 KB
/
caliper.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
caliper:
# Settings related to the authorization
auth:
# Prometheus Push Gateway
prometheuspush:
# username
username:
# password
password:
# Prometheus Server
prometheus:
# username
username:
# password
password:
# Settings related to the binding command
bind:
# The binding specification of the SUT in the <SUT type>:<SDK version> format
sut:
# The CWD to use for the binding (i.e., npm install) command
cwd:
# The additional args to pass to the binding (i.e., npm install) command
args:
# The file to use when binding (replace supported defaults)
file:
# Report file-related options
report:
# The absolute or workspace-relative path of the report file.
path: "report.html"
# The options to pass to fs.writeFile
options:
flag: "w"
mode: 0666
# Precision (significant figures) for the report output
precision: 3
# Charting options
charting:
hue: 21
scheme: "triade"
transparency: 0.6
# Workspace directory that contains all configuration information
workspace: "./"
# The file path for the project-level configuration file. Can be relative to the workspace.
projectconfig:
# The file path for the user-level configuration file. Can be relative to the workspace.
userconfig:
# The file path for the user-level configuration file. Can be relative to the workspace.
machineconfig:
# Path to the benchmark workload file that describes the test workers(s), test rounds and monitor
benchconfig:
# Path to the blockchain configuration file that contains information required to interact with the SUT
networkconfig:
# Configurations related to caliper test progress
progress:
# Progress reports
reporting:
# Enable the reporting action
enabled: true
# Reporting frequency
interval: 5000
# Configurations related to caliper test monitors
monitor:
# Default update interval
defaultinterval: 10000
# Default scrape port for prometheus tx observer
prometheusscrapeport: 3000
# Configurations related to the logging mechanism
logging:
# Specifies the message structure through placeholders
template: "%timestamp%%level%%label%%module%%message%%metadata%"
# Enables the different formats to apply to the log messages FOR ALL transports
# Each format can be disabled by setting it to false
formats:
# Adds a timestamp to the messages with the following format
timestamp: "YYYY.MM.DD-HH:mm:ss.SSS"
# Adds a specified label to every message. Useful for distributed workers scenario
label: caliper
# serializes the log messages as JSON
json: false
# pads the levels to be the same length
pad: true
# adds a tab delimiter before the message to align it in the same place
align: true
# specifies formatting strings for different log message attributes
attributeformat:
# add a space before the level
level: " %attribute%"
# put [] around the label and space before it
label: " [%attribute%]"
# put [] around the module name and space before/after it
module: " [%attribute%] "
# put () around the metadata and space before it
metadata: " (%attribute%)"
# defines coloring for the different levels for each (or all) message property
colorize:
# Apply it to levels
level: true
# Apply it to messages
message: false
# The colors for each level
colors:
info: green
error: red
warn: yellow
debug: grey
# Lists the targets (winston transports)
targets:
console:
target: console # Defines a console target
enabled: true # Enables the target
options: # These are passed to the winston console target as-is
level: info
# Defines a target with debug level
file:
target: file
enabled: true
options:
level: debug
filename: caliper.log
maxSize: 5m
zippedArchive: false
options:
flags: a
mode: 0666
# Worker options
worker:
# Indicate if workers are in distributed mode
remote: false
# Worker communication details
communication:
# Method used (process | mqtt)
method: process
# Address used for mqtt communications
address: mqtt://localhost:1883
# Worker update configuration
update:
# update interval for sending round statistics to the manager
interval: 1000
# Caliper flow options
flow:
# Skip options
skip:
# Indicates whether to skip the start command script in the network configuration file, if provided
start: false
# Indicates whether to skip the init phase of the benchmark
init: false
# Indicates whether to skip the smart contract install phase of the benchmark
install: false
# Indicates whether to skip the test phase of the benchmark
test: false
# Indicates whether to skip the end command script in the network configuration file, if provided
end: false
# Only options
only:
# Indicates whether to only perform the start command script in the network configuration file, if provided
start: false
# Indicates whether to only perform the init phase of the benchmark
init: false
# Indicates whether to only perform the smart contract install phase of the benchmark
install: false
# Indicates whether to only perform the test phase of the benchmark
test: true
# Indicates whether to only perform the end command script in the network configuration file, if provided
end: false
# Configurations related to the Fabric CCP adapter
fabric:
# Sets the sleep behaviors after different init actions
sleepafter:
# The time in milliseconds to sleep after creating the channels (if created channels at all)
createchannel: 5000
# The time in milliseconds to sleep after joining the channels (if joined channels at all)
joinchannel: 5000
# The time in milliseconds to sleep after instantiated the contracts (if instantiated contracts at all)
instantiatecontract: 5000
# Enables extra verification steps during the transaction proposal phase
verify:
# Indicates whether to verify the identity of the endorsers and their signatures for each proposal response after endorsing a transaction.
# Note, that this is a CPU intensive step, use it with caution
proposalresponse: false
# Indicates whether to verify that the read-write sets returned by the endorsers match
readwritesets: true
# Contains worker-side timeouts related to the initialization part of the adapter
timeout:
# Timeout in milliseconds for the endorsement part of a contract instantiation
contractinstantiate: 300000
# Timeout in milliseconds for receiving the event about the result of a contract instantiation
contractinstantiateevent: 100000
# The default timeout in milliseconds to use for invoking or querying transactions (applied for the entire life-cycle)
invokeorquery: 60000
# Determines how automatic load balancing is applied if the worker callback module doesn’t provide explicit targets.
# Use the value 'worker' to perform worker-based load balancing, meaning that each worker process will have fix target peers and target orderer.
# Use the value 'tx' to perform transaction-based load balancing, meaning that the peer and orderer targets change for every submitted transaction or query.
loadbalancing: tx
# Indicates whether to temporarily set the GOPATH environment variable to the Caliper root directory
overwritegopath: true
# Determines the reported commit time of a transaction based on the given percentage of event sources
latencythreshold: 1.0
# Indicates whether to count queries as workload, i.e., whether the generated report should include them
countqueryasload: true
# Settings for the Fabric Gateway API
gateway:
# Indicates whether to use the Fabric Gateway API
enabled: true
# Indicates whether to use the localhost default within the Fabric Gateway API
localhost: true
# Indicates whether to use the Fabric discovery mechanism (via Gateway API)
discovery: true
# Which event strategy to use
eventstrategy: msp_any
# Which query strategy to use
querystrategy: msp_round_robin
sawtooth: