App Install
Measure app installation speed. This scenario has two roles:
minimal: Installs a simple app which implements initialisation callbacks but otherwise doesn't contain a lot of code.large: Installs a larger app that contains some dependencies and some generated data as padding to make the bundle larger.
These are intended to catch a compilation slowdown or issues with copying around large WASMs (e.g. accidental cloning or tracing). In each case, the behaviour will uninstall the app it installed so that it can re-install it on the next iteration.
-
minimal(1 agent)
App Install
Measure app installation speed. This scenario has two roles:
minimal: Installs a simple app which implements initialisation callbacks but otherwise doesn't contain a lot of code.large: Installs a larger app that contains some dependencies and some generated data as padding to make the bundle larger.
These are intended to catch a compilation slowdown or issues with copying around large WASMs (e.g. accidental cloning or tracing). In each case, the behaviour will uninstall the app it installed so that it can re-install it on the next iteration.
-
large(1 agent)
DHT Sync Lag
Measure lag time between an agent publishing data and other peers being able to see it. This scenario has two roles:
write: A simple job that just creates entries with a timestamp field. Those entries are linked to a known base hash. For each write, the metricws.custom.dht_sync_sent_countis incremented.record_lag: A job that repeatedly queries for links from the known base hash. It keeps track of records that it has seen and when a new record is found, and calculates the time difference between the timestamp of the new record and the current time. That time difference is then recorded as a custom metric calledwt.custom.dht_sync_lag.
After each behaviour loop the metric ws.custom.dht_sync_recv_count is incremented.
-
record_lag(1 agent) -
write(1 agent)
agent:uhCAk3_egVi7NXuWKZByiYJaYLeIl1CMsL1ytd8-844Mm0QLtEXoe
agent:uhCAkARfFziRZf1aUgSDUVRkb61Fc8RQVodq1k6nx8Z-JeNCmqPMb
agent:uhCAkKiaieenlzDWlL5Ups_Wfw5x79k7kzb_AdSt6S7ezHfUmv3wN
agent:uhCAkejzgoFJbTMJt3JhXbWMdXvAFwZI758yNAj2IMBmi6BssrlQz
agent:uhCAkmCoFhmKaXOMgSglW4rA-3HvTYpty_jOxPenfVmmNDWSU3sKQ
agent:uhCAk1tBQuXBR9GI05H3sY2HSucOgQJhH5Oel6R51oKJc6GlZ2Ur9
agent:uhCAk8I8sxcxY_ELmuh4i6r3flFrbTTdGUoPAMoO8asqeT2j5toaW
agent:uhCAkD3K1YKeANxjtJNU7ju7BAXzUzSq3VXTHbCS9_hRyzVKgoAF2
agent:uhCAkqQx4iLEU39N7iKGiMb0c05WD06T7Gnwy2G1IEwjtZCngbBcT
agent:uhCAkzAAowuIFF1i7sjZxVaCHc250wQsiCmzLI6LnU7HMuRbN5Gpa
agent:uhCAk1tBQuXBR9GI05H3sY2HSucOgQJhH5Oel6R51oKJc6GlZ2Ur9
agent:uhCAk8I8sxcxY_ELmuh4i6r3flFrbTTdGUoPAMoO8asqeT2j5toaW
agent:uhCAkD3K1YKeANxjtJNU7ju7BAXzUzSq3VXTHbCS9_hRyzVKgoAF2
agent:uhCAkqQx4iLEU39N7iKGiMb0c05WD06T7Gnwy2G1IEwjtZCngbBcT
agent:uhCAkzAAowuIFF1i7sjZxVaCHc250wQsiCmzLI6LnU7HMuRbN5Gpa
post_commit durationFirst Call
This scenario installs a simple app which implements the init callback, and measures the time elapsed between start of install and calling init. It will uninstall the app it installed so that it can re-install it on the next iteration. This is required to re-run the initialisation callback.
-
default(1 agent)
init.Full-Arc Create (Validated) / Zero-Arc Read
A full-arc/zero-arc mixed scenario where full-arc nodes create data that gets validated and zero-arc nodes read the data. The scenario has two roles:
full: A full-arc conductor that creates entries with a timestamp field. Those entries get validated and then retrieved by zero-arc nodes.zero: A zero-arc conductor that reads the entries created by the full-arc node(s) and records the time lag between when the entry had been created and when it was first discovered.
-
full(1 agent) -
zero(1 agent)
agent:uhCAkFAI2HrESpW5DSBa9O8iz-yI4PvoXP36-FvgAupAZ326cZ31A
agent:uhCAkKEJ3cA07oMqYip7uP_a37hiz_3im5kZg9PiB79RjUz-IHLOl
agent:uhCAkV9gQ0RxL1sIXQHhZRhkIRYyE_0hYxPNPGQDE28OPeX4s76Y9
agent:uhCAkt6T4lS53ZFYpMSlG1vQVOeFtWywzZwn_aZDQ0471Z7_69AjB
get_timed_local_entries zome function.agent:uhCAkD059vAp-s5h_w76Gn5CF9LQ9nZMB1NyspdMlxDxU3xKwb3YG
agent:uhCAkGlTNfz7v-bq8sPU_DNLmfqEZ9pjPF8n-855o4R_J5SMagy8g
agent:uhCAkQy420yiITkRycKASltXiQIMDzszgV2IPjLk8J5DcfUEbaP7B
agent:uhCAkf3FP0sLfOKVddk_gcevjrU3IWvUpsii6QnbrrWnUXqaDepxx
agent:uhCAkg_9YwJ_ueaaFJOuQUzEHc0UoES_IXvD8Yhzf0Bn3RJN9b4ZL
agent:uhCAkjUIKdYJbHHjlQEptuVn9vRBPxsxRMUo8LfkMhvGkxlKA9dQg
agent:uhCAkD059vAp-s5h_w76Gn5CF9LQ9nZMB1NyspdMlxDxU3xKwb3YG
agent:uhCAkGlTNfz7v-bq8sPU_DNLmfqEZ9pjPF8n-855o4R_J5SMagy8g
agent:uhCAkQy420yiITkRycKASltXiQIMDzszgV2IPjLk8J5DcfUEbaP7B
agent:uhCAkf3FP0sLfOKVddk_gcevjrU3IWvUpsii6QnbrrWnUXqaDepxx
agent:uhCAkg_9YwJ_ueaaFJOuQUzEHc0UoES_IXvD8Yhzf0Bn3RJN9b4ZL
agent:uhCAkjUIKdYJbHHjlQEptuVn9vRBPxsxRMUo8LfkMhvGkxlKA9dQg
Local Signals
This scenario is for testing the speed and reliability of local signals. It uses a zome with a function that will emit 10,000 signals. The scenario measures how long it takes to send the signals and how many have been received by the time the zome call ends.
-
default(1 agent)
Mixed Arc get_agent_activity
A mixed-arc scenario that measures the DHT's ability to propagate agent activity and make it available via get_agent_activity calls. The scenario has three roles:
zero_write: A zero-arc conductor that creates entries on its source chain.full_write: A full-arc conductor that creates entries on its source chain.zero_read: A zero-arc conductor that picks a random writer and repeatedly callsget_agent_activityto observe new entries appearing on the writer's chain, measuring the lag between creation and discovery.
-
full_write(1 agent) -
zero_read(1 agent) -
zero_write(1 agent)
agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0lbehaviour:full_write
agent:uhCAkdnlrpL-ojNmKyRPJkhcuDDWaets-wDiiBakKUq8pVqCrF0Khbehaviour:full_write
agent:uhCAkf804bxIMqFLT7aPqinNxtVoCFfxZ7Mp2lsM1Dl5MFy0-bhKtbehaviour:zero_write
agent:uhCAkh_fBXrT8pWdMCz8KHU8Che5wZMpbdnLaUjNXpg3HH8Lfohh-behaviour:zero_write
action_seqget_agent_activity. This reflects the DHT's ability to propagate agent activity ops and make them available to querying peers.get_agent_activity_agent:uhCAkAZhlADWmjSNpPsV9G7FxaU5LQeCHswVn2qzYBio-_xiKsUnRwrite_agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0l
get_agent_activity_agent:uhCAkBw8uy2nFmsJaBNXo5n04w7I7eGqPUVeLIJRsJkgRVTCA33M6write_agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0l
get_agent_activity_agent:uhCAkMwyFnW4m0eQy152KnBocCDo7RXhaIFD-GsDfaVubE1RstrlWwrite_agent:uhCAkdnlrpL-ojNmKyRPJkhcuDDWaets-wDiiBakKUq8pVqCrF0Kh
get_agent_activity_agent:uhCAkP5HXCUGIlyeouDQ9f8W6e4CKlcKVmLiGUR-0bT2Cw6zH5ByBwrite_agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0l
get_agent_activity_agent:uhCAkRzMd4IQofD-pgTC87aW0Ue5BK0ekY_GoBeH6wsFkRvFX1MKXwrite_agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0l
get_agent_activity_agent:uhCAkp9NgSMhKU7vOFMcF502awhX2eP5luCZ1xk8yDV3ps6NtNF0cwrite_agent:uhCAk8fDfuAZmODbAqzCIuShl0m1HkwpqVJrGqPmsZEYz5PrNSJ0l
get_agent_activity. This is measured per new action in the chain.agent:uhCAkAZhlADWmjSNpPsV9G7FxaU5LQeCHswVn2qzYBio-_xiKsUnR
agent:uhCAkBw8uy2nFmsJaBNXo5n04w7I7eGqPUVeLIJRsJkgRVTCA33M6
agent:uhCAkMwyFnW4m0eQy152KnBocCDo7RXhaIFD-GsDfaVubE1RstrlW
agent:uhCAkP5HXCUGIlyeouDQ9f8W6e4CKlcKVmLiGUR-0bT2Cw6zH5ByB
agent:uhCAkRzMd4IQofD-pgTC87aW0Ue5BK0ekY_GoBeH6wsFkRvFX1MKX
agent:uhCAkp9NgSMhKU7vOFMcF502awhX2eP5luCZ1xk8yDV3ps6NtNF0c
agent:uhCAkAZhlADWmjSNpPsV9G7FxaU5LQeCHswVn2qzYBio-_xiKsUnR
agent:uhCAkBw8uy2nFmsJaBNXo5n04w7I7eGqPUVeLIJRsJkgRVTCA33M6
agent:uhCAkMwyFnW4m0eQy152KnBocCDo7RXhaIFD-GsDfaVubE1RstrlW
agent:uhCAkP5HXCUGIlyeouDQ9f8W6e4CKlcKVmLiGUR-0bT2Cw6zH5ByB
agent:uhCAkRzMd4IQofD-pgTC87aW0Ue5BK0ekY_GoBeH6wsFkRvFX1MKX
agent:uhCAkp9NgSMhKU7vOFMcF502awhX2eP5luCZ1xk8yDV3ps6NtNF0c
get_agent_activity_full zome call timingget_agent_activity_full zome call that queries a writer's chain.agent:uhCAkAZhlADWmjSNpPsV9G7FxaU5LQeCHswVn2qzYBio-_xiKsUnR
agent:uhCAkBw8uy2nFmsJaBNXo5n04w7I7eGqPUVeLIJRsJkgRVTCA33M6
agent:uhCAkMwyFnW4m0eQy152KnBocCDo7RXhaIFD-GsDfaVubE1RstrlW
agent:uhCAkP5HXCUGIlyeouDQ9f8W6e4CKlcKVmLiGUR-0bT2Cw6zH5ByB
agent:uhCAkRzMd4IQofD-pgTC87aW0Ue5BK0ekY_GoBeH6wsFkRvFX1MKX
agent:uhCAkp9NgSMhKU7vOFMcF502awhX2eP5luCZ1xk8yDV3ps6NtNF0c
get_agent_activity.agent:uhCAkAZhlADWmjSNpPsV9G7FxaU5LQeCHswVn2qzYBio-_xiKsUnR
agent:uhCAkBw8uy2nFmsJaBNXo5n04w7I7eGqPUVeLIJRsJkgRVTCA33M6
agent:uhCAkMwyFnW4m0eQy152KnBocCDo7RXhaIFD-GsDfaVubE1RstrlW
agent:uhCAkP5HXCUGIlyeouDQ9f8W6e4CKlcKVmLiGUR-0bT2Cw6zH5ByB
agent:uhCAkRzMd4IQofD-pgTC87aW0Ue5BK0ekY_GoBeH6wsFkRvFX1MKX
agent:uhCAkp9NgSMhKU7vOFMcF502awhX2eP5luCZ1xk8yDV3ps6NtNF0c
behaviour:full_write
behaviour:zero_read
behaviour:zero_write
Mixed Arc must_get_agent_activity
A scenario where write agents create entries in batches of 10, while must_get_agent_activity agents each pick a random write agent and repeatedly attempt to create an entry that references the chain top of their latest batch. This reference means that the entry's validation function needs to make a must_get_agent_activity call.
The purpose of this scenario is to measure the time it takes for published agent activity data to be gossiped among authorities and become available to peers that query it via must_get_agent_activity.
This test is similar to Write Validated must_get_agent_activity, but some write agents are zero-arc and all must_get_agent_activity agents are zero-arc. This forces the must_get_agent_activity host call to go to the network.
-
full_write(1 agent) -
zero_must_get_agent_activity(1 agent) -
zero_write(1 agent)
action_seqaction_seq of a write agent successfully retrieved by a must_get_agent_activity agent. This reflects the DHT's ability to propagate agent activity ops and make them available to querying peers.write agent's creation of a batch and a must_get_agent_activity agent's successful discovery of the batch and creation/self-validation of a new entry that depends on it.must_get_agent_activity_agent:uhCAk0Sg3dLJ3Ao8soJtL07m4vq1TMHJUfeUxWpfgOaNSzLq3ehFv
must_get_agent_activity_agent:uhCAkLbFoszzEYWSSuibuEHISnzFqV0l0RvAItcY3kE4CglPLGlT3
must_get_agent_activity_agent:uhCAkSYZX9KNkBDuuIa3kTWhYyZ5szMTH1sd3AwNBYhSIDEjzKf70
must_get_agent_activity_agent:uhCAkc265E60fbeHP5T3K2ikd2RZp2KGPw21kHez3BTU0aALF1RYH
must_get_agent_activity_agent:uhCAkh-4rB6oV-RSOF8xUXQ9K9f_hsh8yu0hFbDF3ZI_ymoYfAqnb
must_get_agent_activity agent was able to discover batches and create/self-validate new entries that depend on them.must_get_agent_activity_agent:uhCAk0Sg3dLJ3Ao8soJtL07m4vq1TMHJUfeUxWpfgOaNSzLq3ehFv
must_get_agent_activity_agent:uhCAkLbFoszzEYWSSuibuEHISnzFqV0l0RvAItcY3kE4CglPLGlT3
must_get_agent_activity_agent:uhCAkSYZX9KNkBDuuIa3kTWhYyZ5szMTH1sd3AwNBYhSIDEjzKf70
must_get_agent_activity_agent:uhCAkc265E60fbeHP5T3K2ikd2RZp2KGPw21kHez3BTU0aALF1RYH
must_get_agent_activity_agent:uhCAkh-4rB6oV-RSOF8xUXQ9K9f_hsh8yu0hFbDF3ZI_ymoYfAqnb
create_validated_sample_entry zome call timingwrite agent's source chain.agent:uhCAk0Sg3dLJ3Ao8soJtL07m4vq1TMHJUfeUxWpfgOaNSzLq3ehFv
agent:uhCAkLbFoszzEYWSSuibuEHISnzFqV0l0RvAItcY3kE4CglPLGlT3
agent:uhCAkSYZX9KNkBDuuIa3kTWhYyZ5szMTH1sd3AwNBYhSIDEjzKf70
agent:uhCAkc265E60fbeHP5T3K2ikd2RZp2KGPw21kHez3BTU0aALF1RYH
agent:uhCAkh-4rB6oV-RSOF8xUXQ9K9f_hsh8yu0hFbDF3ZI_ymoYfAqnb
must_get_agent_activity calls.agent:uhCAk0Sg3dLJ3Ao8soJtL07m4vq1TMHJUfeUxWpfgOaNSzLq3ehFv
agent:uhCAkLbFoszzEYWSSuibuEHISnzFqV0l0RvAItcY3kE4CglPLGlT3
agent:uhCAkSYZX9KNkBDuuIa3kTWhYyZ5szMTH1sd3AwNBYhSIDEjzKf70
agent:uhCAkc265E60fbeHP5T3K2ikd2RZp2KGPw21kHez3BTU0aALF1RYH
agent:uhCAkh-4rB6oV-RSOF8xUXQ9K9f_hsh8yu0hFbDF3ZI_ymoYfAqnb
behaviour:full_write
behaviour:zero_must_get_agent_activity
behaviour:zero_write
Remote Call Rate
Test the throughput of remote_call operations. Each agent in this scenario waits for a certain number of peers to be available or for up to two minutes, whichever happens first, before starting its behaviour.
-
default(1 agent)
agent:uhCAkHY2CSCdkep9-oFF2YsuqkaaWQQZ-nxlVbavoF46CaaMAjgJV
agent:uhCAkp_RgOY08enVIq2dCmRF71EkvSLvoSAA0CaMGb_qhZC1gJn6x
agent:uhCAkHY2CSCdkep9-oFF2YsuqkaaWQQZ-nxlVbavoF46CaaMAjgJV
agent:uhCAkp_RgOY08enVIq2dCmRF71EkvSLvoSAA0CaMGb_qhZC1gJn6x
Single-write, many-read
Creates an entry in the agent setup, then read one's own record back. This tests the maximum read performance for reading back local data when the chain is short.
-
default(1 agent)
read call timingread call rate (10s)Two-party countersigning
This scenario tests the performance of countersigning operations. There are two roles: initiate and participate. The participants commit an entry to advertise that they are willing to participate in sessions. They listen for sessions and participate in one at a time.
-
initiate(1 agent) -
participate(1 agent)
agent:uhCAkSBRo7fk6Tin-dUFlR4_sjU3bm1LXeptXwM_Sive4GZ_xVFGq
agent:uhCAkpN6gadVWtQE57SaHHqGILiLMfeRPmI9fWupUpZRCZK9tjjfI
agent:uhCAkSBRo7fk6Tin-dUFlR4_sjU3bm1LXeptXwM_Sive4GZ_xVFGq
agent:uhCAkpN6gadVWtQE57SaHHqGILiLMfeRPmI9fWupUpZRCZK9tjjfI
agent:uhCAkSBRo7fk6Tin-dUFlR4_sjU3bm1LXeptXwM_Sive4GZ_xVFGq
agent:uhCAkpN6gadVWtQE57SaHHqGILiLMfeRPmI9fWupUpZRCZK9tjjfI
agent:uhCAkZ0izbe6nI5k1osvoIoZs-9ZdShBqJOhlCNlw4R7tSWz5tBbI
agent:uhCAkZ0izbe6nI5k1osvoIoZs-9ZdShBqJOhlCNlw4R7tSWz5tBbI
agent:uhCAkZ0izbe6nI5k1osvoIoZs-9ZdShBqJOhlCNlw4R7tSWz5tBbI
Validation Receipts
Creates an entry, wait for required validation receipts, then repeat. Records the amount of time it took to accumulate the required number of receipts for all DHT operations. This is measured to the nearest 20ms so that we don't keep the agent too busy checking for receipts.
Each agent in this scenario waits for a certain number of peers to be available or for up to two minutes, whichever happens first, before starting its behaviour.
By default, this scenario will wait for a complete set of validation receipts before committing the next record. If the NO_VALIDATION_COMPLETE environment variable is set, it will instead publish new records on every round, building up an ever-growing list of action hashes to check on.
-
default(1 agent)
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:RegisterAgentActivity
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:StoreEntry
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:StoreRecord
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:RegisterAgentActivity
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:StoreEntry
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:StoreRecord
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:RegisterAgentActivity
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:StoreEntry
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:StoreRecord
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:RegisterAgentActivity
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:StoreEntry
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:StoreRecord
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:RegisterAgentActivity
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:StoreEntry
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:StoreRecord
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:RegisterAgentActivity
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:StoreEntry
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:StoreRecord
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:RegisterAgentActivity
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:StoreEntry
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:StoreRecord
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:RegisterAgentActivity
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:StoreEntry
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:StoreRecord
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:RegisterAgentActivity
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:StoreEntry
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:StoreRecord
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:RegisterAgentActivity
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:StoreEntry
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:StoreRecord
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:RegisterAgentActivity
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:StoreEntry
agent:uhCAk-U3apCYcRBkgQrAnQMHkxkha8TRRBqzMKfjkqEIYDFvWeLRDop_type:StoreRecord
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:RegisterAgentActivity
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:StoreEntry
agent:uhCAk0OF3kJaA_P-WTakDNoLCZz9Epep5sgbVsyI-tkYpSaxGifxdop_type:StoreRecord
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:RegisterAgentActivity
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:StoreEntry
agent:uhCAk1z3Ck1T-hX5ndFaQQuQiTm4bp_YlpN1JKHuduy_vbx0WjTkJop_type:StoreRecord
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:RegisterAgentActivity
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:StoreEntry
agent:uhCAkEp65iNK59HxrwoDOj8C5QUypMPrx7SGwOr3FqQmqMWIyf2u0op_type:StoreRecord
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:RegisterAgentActivity
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:StoreEntry
agent:uhCAkK59aE3uTK6WREk7bhycdCcoxyJv95hKAa_xTvypa8rYiCctAop_type:StoreRecord
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:RegisterAgentActivity
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:StoreEntry
agent:uhCAkL9R68JipLLJJBopcVEUsnpcd_i4NaDOO58rrEaFKgqvHeFLrop_type:StoreRecord
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:RegisterAgentActivity
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:StoreEntry
agent:uhCAkRz2jbiQxM5ta-YXoODKwq0vbA5tc4MxWq_qAIq-kh2zV0Jnpop_type:StoreRecord
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:RegisterAgentActivity
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:StoreEntry
agent:uhCAkScJkGgfWUQEE2p-UA61kPHdcn_zFYCv2GehQeDGFlMK_GOnOop_type:StoreRecord
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:RegisterAgentActivity
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:StoreEntry
agent:uhCAkjNMcv0TDfs_P0ek6pBUttHBvHmc7pmGydiCnOSPLxx6n7Fsxop_type:StoreRecord
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:RegisterAgentActivity
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:StoreEntry
agent:uhCAks8TFLYASR4jWnCxFsL5cQ4hgpKgwLCAUYJzACCnzO3bjSRKQop_type:StoreRecord
Write/Query
Creates an entry, then queries the source chain and performs a simple operation on the entries, then repeats.
-
default(1 agent)
Write/Read
Creates an entry and reads it back, then repeats.
-
default(1 agent)
Write validated
Creates an entry, updates it and links the create to the update, then repeats. Each of the three actions is validated by the included hApp.
-
default(1 agent)
Write Validated must_get_agent_activity
A scenario where write agents create entries in batches of 10, while must_get_agent_activity agents each pick a random write agent and repeatedly attempt to create an entry that references the chain top of their latest batch. This reference means that the entry's validation function needs to make a must_get_agent_activity call.
The purpose of this scenario is to measure the time it takes for published agent activity data to be gossiped among authorities and become available to peers that query it via must_get_agent_activity.
This test is similar to Mixed-Arc must_get_agent_activity, but all agents are full-arc.
-
must_get_agent_activity(1 agent) -
write(1 agent)
action_seqaction_seq of a write agent successfully retrieved by a must_get_agent_activity agent. This reflects the DHT's ability to propagate agent activity ops and make them available to querying peers.write agent's creation of a batch and a must_get_agent_activity agent's successful discovery of the batch and creation/self-validation of a new entry that depends on it.must_get_agent_activity_agent:uhCAk_ZEolIV6-BS_WeWHjen4DIibUGOVHn9tusU30eWbgoLrGUpe
must_get_agent_activity agent was able to discover batches and create/self-validate new entries that depend on them.must_get_agent_activity_agent:uhCAk_ZEolIV6-BS_WeWHjen4DIibUGOVHn9tusU30eWbgoLrGUpe
create_validated_sample_entry zome call timingwrite agent's source chain.agent:uhCAk_ZEolIV6-BS_WeWHjen4DIibUGOVHn9tusU30eWbgoLrGUpe
must_get_agent_activity calls.agent:uhCAk_ZEolIV6-BS_WeWHjen4DIibUGOVHn9tusU30eWbgoLrGUpe
Zero-Arc Create and Read
A zero-arc/full-arc mixed scenario with two types of zero-arc nodes -- ones that create data and ones that read data -- as well as full arc nodes to "relay" the data. The scenario has three roles:
zero_write: A zero-arc conductor that just creates entries with a timestamp field. Those entries are linked to a known base hash so thatzero_readnodes can retrieve them.zero_read: A zero-arc conductor that reads the entries created by the zero-arc node(s) and records the time lag between when the entry had been created and when it was first discovered.full: A full-arc conductor that is just here to serve entries to zero arc nodes.
-
full(1 agent) -
zero_read(1 agent) -
zero_write(1 agent)
agent:uhCAk3clXshPSoepPcSY8UVQ9xNuTVp43RM29Q3iOCEA426-cfehN
agent:uhCAkF83qhno4N3xp_9ySBhQVoMRC9HH4k1fvslXn6tG0jhKO36r2
agent:uhCAkuxrPj7hdK0iNVve1HM-eyUjMAYw5c6CsN2d1F5tg5g9j1hY6
get_timed_local_entries zome function.agent:uhCAkQMhIdx1inU6uvCRR5zlE73dlpjCFlNFFwvYNQXm4uLEON1fA
agent:uhCAkgmcLEpWxokZoh5ouQI0Dwg91FecB86iLm8QLt-0mQYR27GzL
agent:uhCAkl1HlpMUO10Alzy_dT27enYP5oTpkBsjDpPa7PM3GXziMQWku
agent:uhCAkQMhIdx1inU6uvCRR5zlE73dlpjCFlNFFwvYNQXm4uLEON1fA
agent:uhCAkgmcLEpWxokZoh5ouQI0Dwg91FecB86iLm8QLt-0mQYR27GzL
agent:uhCAkl1HlpMUO10Alzy_dT27enYP5oTpkBsjDpPa7PM3GXziMQWku
Zero-Arc Create Data
zero: A zero-arc conductor that just creates entries with a timestamp field. Those entries are linked to a known base hash so that full-arc nodes can retrieve them.full: A full-arc conductor that reads the entries created by the zero-arc node(s) and records the time lag between when the entry had been created and when it was first discovered.
-
full(1 agent) -
zero(1 agent)
agent:uhCAkb-y6TzKRfA1tx3gtVlXROIC6uJk8Q4pP96wXEM7CZhlJZO5I
agent:uhCAke1hocfztFBH2NZrNJFNerY4_kWsOnUdHjb4bMLDI6L8-I4mY
agent:uhCAkkhndPM_XHPbWLc6Dz8dAiEEBnksHb8cJfXwErPJMG3Ay2Yyp
agent:uhCAku-XYs4m8cfcGIDhj5YXSVeLWVoV79DXDxQZDhp9wklLzxDK3
agent:uhCAkvvhFR3gZW3o2bKQdI_PIoXkFCw3VznvZVFJMPTaTHZFbIsCT
agent:uhCAkwV_E9kOGDzBmnfw6nWAnQIjtcPuTX6AZ5VQk0Azb1_mEaluB
get_timed_local_entries zome function.agent:uhCAk7yaQAzz2vdUCzWDPSv8PpN_CljZtaykNwID1j8VmBkAHxurO
agent:uhCAkJ2oF7zSCHKmBmD9OO6YMcFbdNyhAFCfTXcZvJ-LIvS-qdybj
agent:uhCAkQsKbghDL7Liqh3E_NCd8pKHS08m2jlPBjZmo84E7BUIru1fX
agent:uhCAk7yaQAzz2vdUCzWDPSv8PpN_CljZtaykNwID1j8VmBkAHxurO
agent:uhCAkJ2oF7zSCHKmBmD9OO6YMcFbdNyhAFCfTXcZvJ-LIvS-qdybj
agent:uhCAkQsKbghDL7Liqh3E_NCd8pKHS08m2jlPBjZmo84E7BUIru1fX
Zero-arc Create Data (Validated)
A zero-arc/full-arc mixed scenario where zero-arc nodes create data that gets validated and full-arc nodes read the data. The scenario has two roles:
zero: A zero-arc conductor that just creates entries with a timestamp field. Those entries are linked to a known base hash so that full-arc nodes can retrieve them.full: A full-arc conductor that reads the entries created by the zero-arc node(s) and records the time lag between when the entry had been created and when it was first discovered.
-
full(1 agent) -
zero(1 agent)
agent:uhCAk9Dyz52a18xpPv3f6SQqA7a8zkqa-BggzqWgnmGpNPePBGo18
agent:uhCAkUpca0e4NQXLYVa0snJhUBvJNJW4QQxjOYqvtZxtA4EFPQzL_
agent:uhCAkVQrIxw1WX4ox7E0LuLUpduBI21MqN51wGye03EdE4hVGxs8V
agent:uhCAkb12zEFNQZtoCyie7ZpMlBFLoUZrzsYuaOIDmFjJA2l1hECe4
agent:uhCAkb1ffQOU_HqJ4DIxgkIybXAtgDw6sWdHjguRNh4jSHk157cqC
agent:uhCAkz-h4uGpBAjFwyLOGiWxpyNDFbXE2qPsV850v90BtyhsCa2gL
get_timed_local_entries zome function.agent:uhCAkgtuPnoGTOQ9N1KW-H3EKHakVjJw4xzUdMtByELRrKBORkqWG
agent:uhCAkl8lquRWhVP7FX4yaCw-o9EuqzPb2GYtuyBW3fjlH61T3zDT6
agent:uhCAkp4wIQwAeIYxAiVBmwJIFl4hL1SYhxW4hsdDkUV79n50jQ2LP
agent:uhCAkwTTH8BZryq4QL52C8CyK4uDYaiJJ3QrMMp0Ny3lP21MU9zhF
agent:uhCAkgtuPnoGTOQ9N1KW-H3EKHakVjJw4xzUdMtByELRrKBORkqWG
agent:uhCAkl8lquRWhVP7FX4yaCw-o9EuqzPb2GYtuyBW3fjlH61T3zDT6
agent:uhCAkp4wIQwAeIYxAiVBmwJIFl4hL1SYhxW4hsdDkUV79n50jQ2LP
agent:uhCAkwTTH8BZryq4QL52C8CyK4uDYaiJJ3QrMMp0Ny3lP21MU9zhF
Zome Call, Single Value
Calls a zome function that returns a fixed value. This tests the maximum performance of zome calls when the zome function is not calling into Holochain other otherwise doing any work.
-
default(1 agent)