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:uhCAk6q4HrfBPYpgnna_9zGGiwLMjZ6sz7kizT4OgWwGW0C36l_hi
agent:uhCAkD3V5Z98Y0yPwDSNVRPhteRJWq52mlMlMUDeBHMU5o4PNEnSn
agent:uhCAkJ2ytJ2XY5P9AQTqLFA4t_1sGFRmICrJaAyiDQaIuZNRpjHlf
agent:uhCAkPtGtmbhnRuJVzePPsIavJHTDR_3mUZgRbc0RVVHEjYztg8_S
agent:uhCAkr16UgNyHvDSQ6YdWbZrGeq0MAogDknRllI-nCfPF5OnOk90w
agent:uhCAk3f_YSe8yZEA4fidK2mVmf8Kq5yHVjxUb7KJrYkT73iYM8C9C
agent:uhCAkMateTa1MFDorqhaEay9Eagh3TFC6Y-HDBX97yEzsdyWe67Al
agent:uhCAkQCFWVg-5ZuP5YymOdcSd1ISGCpI2xma7iY2ev_8wmlKOOKFP
agent:uhCAk3f_YSe8yZEA4fidK2mVmf8Kq5yHVjxUb7KJrYkT73iYM8C9C
agent:uhCAkMateTa1MFDorqhaEay9Eagh3TFC6Y-HDBX97yEzsdyWe67Al
agent:uhCAkQCFWVg-5ZuP5YymOdcSd1ISGCpI2xma7iY2ev_8wmlKOOKFP
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:uhCAkR3DA31hekdvWLrVFd9VPVI-oHmu1fzbmzXP46PpjtupUazVi
agent:uhCAkq0SL6dZ8XKW4hzjCAl-H-V788-5JlCp6H919HE55pHMWyLaR
agent:uhCAkq7tMN4kqVJCfBTU-gwVfgVzip_V5Nrg2RD2kOYvuCqovImfg
agent:uhCAksm32aupUYbEAmODU9NqBCTzi0jCvZddSnNAlK10MPZM8HJby
get_timed_local_entries zome function.agent:uhCAk-ElW-1SSEA0ZMgC4Hcuz1bbgw42X_vCpuDid9aCAZf512YJy
agent:uhCAk9MyoN8D2LnPNEqAIKMfzS8oaa3-iljh8EKt2wPz9sVWnGwaa
agent:uhCAkLXXrszcHQ3ruWKdSnVkg2SBqywrU3v-0WsJkDhdgefKkQFID
agent:uhCAkklFCuMQhU3lD33RrLkuntBen3U2z4A6XtrmWQkq4ANJZAdA5
agent:uhCAkqHDYQ80Ewatrj1JCtWTMBTqD56ZYPP6hGB5rSZB91LEcd_jg
agent:uhCAkrafUGDiR4zmq53nGpfOJ8RaCPSeWh7f1kzSYT1zFU4zHpv8H
agent:uhCAk-ElW-1SSEA0ZMgC4Hcuz1bbgw42X_vCpuDid9aCAZf512YJy
agent:uhCAk9MyoN8D2LnPNEqAIKMfzS8oaa3-iljh8EKt2wPz9sVWnGwaa
agent:uhCAkLXXrszcHQ3ruWKdSnVkg2SBqywrU3v-0WsJkDhdgefKkQFID
agent:uhCAkklFCuMQhU3lD33RrLkuntBen3U2z4A6XtrmWQkq4ANJZAdA5
agent:uhCAkqHDYQ80Ewatrj1JCtWTMBTqD56ZYPP6hGB5rSZB91LEcd_jg
agent:uhCAkrafUGDiR4zmq53nGpfOJ8RaCPSeWh7f1kzSYT1zFU4zHpv8H
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:uhCAk-ZVHY80dA2Ko4enbMRlRKTLVChM3pbLNeYrJKvPLOq3T649Gbehaviour:full_write
agent:uhCAk2WrTXC2Cb0lsWfB-lrTtcvbCDDDL-tD46I7CUxjcEmYmSZmwbehaviour:zero_write
agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUUbehaviour:full_write
agent:uhCAkry3uTc-wd6aBN7xrc6F0TgmsCITNotBCtXpuGIS5MGm1uGzBbehaviour: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:uhCAk290z4pB9uxyezi4e_1Px4vkal9cehg97Cj9PSvIJjXdqvRVKwrite_agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUU
get_agent_activity_agent:uhCAkA0s51mb2s7Ph2HlTxTlibn6SyyYfeJC6O8unqbhwnUA_iXWzwrite_agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUU
get_agent_activity_agent:uhCAkTvWAbRGEd4UFY56CES__R3tuYayfYo6TYPqqjuSJuuOlAxdHwrite_agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUU
get_agent_activity_agent:uhCAkbJKR7OR3W0tWqVOLAM4Qmz_mp1YLSbHpfV0GtnEEl0XYMHy-write_agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUU
get_agent_activity_agent:uhCAkeIaYdUBrWlnS4yKg72UVyjCTAp_hV1VU_UkeQu282k1svWeEwrite_agent:uhCAkVjHjDHpMzy4an27ZNJbLr90p7SUgX42XvIPaklGD6NzB3bUU
get_agent_activity. This is measured per new action in the chain.agent:uhCAk290z4pB9uxyezi4e_1Px4vkal9cehg97Cj9PSvIJjXdqvRVK
agent:uhCAkA0s51mb2s7Ph2HlTxTlibn6SyyYfeJC6O8unqbhwnUA_iXWz
agent:uhCAkTvWAbRGEd4UFY56CES__R3tuYayfYo6TYPqqjuSJuuOlAxdH
agent:uhCAkbJKR7OR3W0tWqVOLAM4Qmz_mp1YLSbHpfV0GtnEEl0XYMHy-
agent:uhCAkeIaYdUBrWlnS4yKg72UVyjCTAp_hV1VU_UkeQu282k1svWeE
agent:uhCAk290z4pB9uxyezi4e_1Px4vkal9cehg97Cj9PSvIJjXdqvRVK
agent:uhCAkA0s51mb2s7Ph2HlTxTlibn6SyyYfeJC6O8unqbhwnUA_iXWz
agent:uhCAkTvWAbRGEd4UFY56CES__R3tuYayfYo6TYPqqjuSJuuOlAxdH
agent:uhCAkbJKR7OR3W0tWqVOLAM4Qmz_mp1YLSbHpfV0GtnEEl0XYMHy-
agent:uhCAkeIaYdUBrWlnS4yKg72UVyjCTAp_hV1VU_UkeQu282k1svWeE
get_agent_activity_full zome call timingget_agent_activity_full zome call that queries a writer's chain.agent:uhCAk290z4pB9uxyezi4e_1Px4vkal9cehg97Cj9PSvIJjXdqvRVK
agent:uhCAkA0s51mb2s7Ph2HlTxTlibn6SyyYfeJC6O8unqbhwnUA_iXWz
agent:uhCAkTvWAbRGEd4UFY56CES__R3tuYayfYo6TYPqqjuSJuuOlAxdH
agent:uhCAkbJKR7OR3W0tWqVOLAM4Qmz_mp1YLSbHpfV0GtnEEl0XYMHy-
agent:uhCAkeIaYdUBrWlnS4yKg72UVyjCTAp_hV1VU_UkeQu282k1svWeE
get_agent_activity.agent:uhCAk290z4pB9uxyezi4e_1Px4vkal9cehg97Cj9PSvIJjXdqvRVK
agent:uhCAkA0s51mb2s7Ph2HlTxTlibn6SyyYfeJC6O8unqbhwnUA_iXWz
agent:uhCAkTvWAbRGEd4UFY56CES__R3tuYayfYo6TYPqqjuSJuuOlAxdH
agent:uhCAkbJKR7OR3W0tWqVOLAM4Qmz_mp1YLSbHpfV0GtnEEl0XYMHy-
agent:uhCAkeIaYdUBrWlnS4yKg72UVyjCTAp_hV1VU_UkeQu282k1svWeE
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:uhCAkAFvfS1NiYgE6spSlMmwutxnalQianoOTuqPhjjOKpl7LKApc
must_get_agent_activity_agent:uhCAkAhHHDvOawS-ggQCLzc0jcE7AIV1S1PiOM6Aq7klrnlg1VW2k
must_get_agent_activity_agent:uhCAkUCQ4f6LaLnWNqRZMCPZhUpiCin2rxUWgAcFrrTn5Nx6cRLOx
must_get_agent_activity_agent:uhCAkjOf1gCUY5nofCqZM20ODtvcaiUd55mmIbPO_7V0L-jXx4c-K
must_get_agent_activity_agent:uhCAkn-H4zrWVgChWGGDffoSnlmiKzhKF59X6ziDtFes21_lzgxN2
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:uhCAkAFvfS1NiYgE6spSlMmwutxnalQianoOTuqPhjjOKpl7LKApc
must_get_agent_activity_agent:uhCAkAhHHDvOawS-ggQCLzc0jcE7AIV1S1PiOM6Aq7klrnlg1VW2k
must_get_agent_activity_agent:uhCAkUCQ4f6LaLnWNqRZMCPZhUpiCin2rxUWgAcFrrTn5Nx6cRLOx
must_get_agent_activity_agent:uhCAkjOf1gCUY5nofCqZM20ODtvcaiUd55mmIbPO_7V0L-jXx4c-K
must_get_agent_activity_agent:uhCAkn-H4zrWVgChWGGDffoSnlmiKzhKF59X6ziDtFes21_lzgxN2
create_validated_sample_entry zome call timingwrite agent's source chain.agent:uhCAkAFvfS1NiYgE6spSlMmwutxnalQianoOTuqPhjjOKpl7LKApc
agent:uhCAkAhHHDvOawS-ggQCLzc0jcE7AIV1S1PiOM6Aq7klrnlg1VW2k
agent:uhCAkUCQ4f6LaLnWNqRZMCPZhUpiCin2rxUWgAcFrrTn5Nx6cRLOx
agent:uhCAkjOf1gCUY5nofCqZM20ODtvcaiUd55mmIbPO_7V0L-jXx4c-K
agent:uhCAkn-H4zrWVgChWGGDffoSnlmiKzhKF59X6ziDtFes21_lzgxN2
must_get_agent_activity calls.agent:uhCAkAFvfS1NiYgE6spSlMmwutxnalQianoOTuqPhjjOKpl7LKApc
agent:uhCAkAhHHDvOawS-ggQCLzc0jcE7AIV1S1PiOM6Aq7klrnlg1VW2k
agent:uhCAkUCQ4f6LaLnWNqRZMCPZhUpiCin2rxUWgAcFrrTn5Nx6cRLOx
agent:uhCAkjOf1gCUY5nofCqZM20ODtvcaiUd55mmIbPO_7V0L-jXx4c-K
agent:uhCAkn-H4zrWVgChWGGDffoSnlmiKzhKF59X6ziDtFes21_lzgxN2
behaviour:full_write
behaviour:zero_must_get_agent_activity
behaviour:zero_write
Remote Signals
This scenario tests the throughput of remote_signals operations.
-
default(1 agent)
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)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:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:RegisterAgentActivity
agent:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:StoreEntry
agent:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:StoreRecord
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:RegisterAgentActivity
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:StoreEntry
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:StoreRecord
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:RegisterAgentActivity
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:StoreEntry
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:StoreRecord
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:RegisterAgentActivity
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:StoreEntry
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:StoreRecord
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:RegisterAgentActivity
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:StoreEntry
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:StoreRecord
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:RegisterAgentActivity
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:StoreEntry
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:StoreRecord
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:RegisterAgentActivity
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:StoreEntry
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:StoreRecord
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:RegisterAgentActivity
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:StoreEntry
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:StoreRecord
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:RegisterAgentActivity
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:StoreEntry
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:StoreRecord
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_type:RegisterAgentActivity
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_type:StoreEntry
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_type:StoreRecord
agent:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:RegisterAgentActivity
agent:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:StoreEntry
agent:uhCAkJE-0E4e2JVGAhepFBmBU0J5yJKw6r4FLTbdA_yF62T5p70Nlop_type:StoreRecord
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:RegisterAgentActivity
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:StoreEntry
agent:uhCAkMAAc2BGEzbv6WN5ySD0m7sGb2kyNfjoS2JT4-ziDAChjDhscop_type:StoreRecord
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:RegisterAgentActivity
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:StoreEntry
agent:uhCAkSMLlukJJrRi-L-ebcckHH-efGsGxVv80FdyS-yOcX7jMEx_uop_type:StoreRecord
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:RegisterAgentActivity
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:StoreEntry
agent:uhCAkbzFQkq_oRJX2G9Dh9GUHiBU0yA5uf4gh0XSPPbS5YoIbAHoaop_type:StoreRecord
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:RegisterAgentActivity
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:StoreEntry
agent:uhCAkdA4kod1xucgMN6VldZbSYOju6Rq_xWwEQMNZYNJ-cUNa5ekQop_type:StoreRecord
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:RegisterAgentActivity
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:StoreEntry
agent:uhCAkgTdXM4Ywgeoy5YM8Z0Vrv3bbSckZAOKjckUufeavD45PHbznop_type:StoreRecord
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:RegisterAgentActivity
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:StoreEntry
agent:uhCAkjMGlX6BaC-Ujb7emu3pl7sxC7ePTB4wwcFjTJUJqwsR1Kp-Hop_type:StoreRecord
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:RegisterAgentActivity
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:StoreEntry
agent:uhCAknuS16yVKUt9sSMv-TZzgFEGroJd-Ibj8aHgHG1xkwdgJEKnIop_type:StoreRecord
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:RegisterAgentActivity
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:StoreEntry
agent:uhCAkrF3wnIcKloj0pp466lF6S5KsDRq6tqGFtrLJgozDVMNI_Twyop_type:StoreRecord
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_type:RegisterAgentActivity
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_type:StoreEntry
agent:uhCAkyDOTADn_qdtnCumOL6GSD0abreg-yudvuoqAxrN7usymhgYDop_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:uhCAkSBcejsexLQsXD_TApP6fIanepZycug2g-2oa2TGI0sy2rtF3
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:uhCAkSBcejsexLQsXD_TApP6fIanepZycug2g-2oa2TGI0sy2rtF3
create_validated_sample_entry zome call timingwrite agent's source chain.agent:uhCAkSBcejsexLQsXD_TApP6fIanepZycug2g-2oa2TGI0sy2rtF3
must_get_agent_activity calls.agent:uhCAkSBcejsexLQsXD_TApP6fIanepZycug2g-2oa2TGI0sy2rtF3
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:uhCAk4q9dAHw8FHTQJ74K1d102fVyVEEbithaZydU3rT0aITbf_ph
agent:uhCAkE7olLu9Tlv2ZXFFsXbocEZJJLt89PhCJnabnDf4gyVx3COvO
agent:uhCAkItpSQKMnqpnvM5gx6RF_64JakvlKJb23g5VsDAw2Nu3ogzWG
get_timed_local_entries zome function.agent:uhCAkB-Awm_dVIH3wAziHmXWOFzLDVLT1mic4aM1WLaAnOYuOy5og
agent:uhCAkwf8jgY4ssfcC2VjQxC8Hgn0onILUPFJefKIVe3kndFXhXpjb
agent:uhCAkB-Awm_dVIH3wAziHmXWOFzLDVLT1mic4aM1WLaAnOYuOy5og
agent:uhCAkwf8jgY4ssfcC2VjQxC8Hgn0onILUPFJefKIVe3kndFXhXpjb
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:uhCAk1OzjvSu3RJ2uNRZaxjVv9XdzF6olGFcaQYJcp5eDas8ACNsl
agent:uhCAk9-xpRrRikuFOkFbjZJj2FZ57juqJK6ZM8Wsl4u7qsgIvipud
agent:uhCAkADo9fXhK_6UiCuZGvyjIBEJ5JnwWGLXg1DHq0Q_3HkhF3X0V
agent:uhCAkrOlQSbwj4skyEa1Ch5DLNz58l3FLRIS-m0deva1tnY2GUGSU
agent:uhCAkvB5it3FAq1QyybgpxNNTtY9m_8qlePpYyxWOvrFTvx27ieJc
get_timed_local_entries zome function.agent:uhCAkRZh-AD0f2V7I3A-ZsuMSZyCdID4RpLnCemQo5X3OjgO1YGYu
agent:uhCAkTC8EdP6tjJr56sTP69SeXKgfgsl3BzjqbP7UuqafA030Ykxd
agent:uhCAk_eYZfgkmeNv93UKuB-hjK_aFvY_0SNQ7o-BtZbOGFy7m0tp3
agent:uhCAkx_Jxjia6K5N69TuAvQ1TI5AB5-2aXU6FhNUIWAs67RCPfeQ-
agent:uhCAkRZh-AD0f2V7I3A-ZsuMSZyCdID4RpLnCemQo5X3OjgO1YGYu
agent:uhCAkTC8EdP6tjJr56sTP69SeXKgfgsl3BzjqbP7UuqafA030Ykxd
agent:uhCAk_eYZfgkmeNv93UKuB-hjK_aFvY_0SNQ7o-BtZbOGFy7m0tp3
agent:uhCAkx_Jxjia6K5N69TuAvQ1TI5AB5-2aXU6FhNUIWAs67RCPfeQ-
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:uhCAkLWsqbHwe3OVUGCshvdaAHj6OekD52Wg9bAf3_Rk4BDUHafWp
agent:uhCAkdELKM4VkctNsQcqCp-jfslkjKkrgdByzKiEx3H5wZempm4ta
agent:uhCAkgvUe5AULm6f6tuhTvUe8gi0p-5nlTp9EAieUYGrAxjX4iqqJ
agent:uhCAknS_MzK3u77qOa-95k9pVQ4z3tyTp--_bySya3pvK-2Lmz2pc
agent:uhCAkvGaLOX08oeZr0LeQr9fUfm7XgbCKa1CSbSx5AhCtPlogn5ix
agent:uhCAkwY8e1a_8ws5tm-n_8gs04cwwgRu8XM99d3V-HwHNUs0NCxPi
get_timed_local_entries zome function.agent:uhCAkAwgWUFYPh2DdoD5PE3T-0FFjVeup8NdWF-cbY44LS7b56sft
agent:uhCAkBScFiFsH07qZ78Oi9Oq6vpOaqEqwMtIx5koCSiJncYzzQr-I
agent:uhCAkbbhjaF6v7xpep289tL0ifklonvhEwxRKbItg96n5uQT1MDgg
agent:uhCAkcCWZtR41X1pZO8tg4aV7XQueJqERGozA-G7SGxf-BFQkPXfm
agent:uhCAkAwgWUFYPh2DdoD5PE3T-0FFjVeup8NdWF-cbY44LS7b56sft
agent:uhCAkBScFiFsH07qZ78Oi9Oq6vpOaqEqwMtIx5koCSiJncYzzQr-I
agent:uhCAkbbhjaF6v7xpep289tL0ifklonvhEwxRKbItg96n5uQT1MDgg
agent:uhCAkcCWZtR41X1pZO8tg4aV7XQueJqERGozA-G7SGxf-BFQkPXfm
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)