Skip to content

Commit

Permalink
Remove data generator (#2387)
Browse files Browse the repository at this point in the history
* Remove the data generator module and all references to it.
* Move TransactionSuppliers and anything else needed by the monitor into the monitor module
* Add unit tests for the TransactionSuppliers

Signed-off-by: Ian Jungmann <ian.jungmann@hedera.com>
  • Loading branch information
Ian Jungmann authored Aug 18, 2021
1 parent 014b1b6 commit dc8570c
Show file tree
Hide file tree
Showing 102 changed files with 2,041 additions and 2,093 deletions.
4 changes: 2 additions & 2 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,13 +249,13 @@ Name | Default | D
`hedera.mirror.monitor.publish.scenarios.<name>.enabled` | true | Whether this publish scenario is enabled
`hedera.mirror.monitor.publish.scenarios.<name>.limit` | 0 | How many transactions to publish before halting. 0 for unlimited
`hedera.mirror.monitor.publish.scenarios.<name>.logResponse` | false | Whether to log the response from HAPI
`hedera.mirror.monitor.publish.scenarios.<name>.properties` | {} | Key/value pairs used to configure the [`TransactionSupplier`](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier) associated with this scenario type
`hedera.mirror.monitor.publish.scenarios.<name>.properties` | {} | Key/value pairs used to configure the [`TransactionSupplier`](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction) associated with this scenario type
`hedera.mirror.monitor.publish.scenarios.<name>.receiptPercent` | 0.0 | The percentage of receipts to retrieve from HAPI. Accepts values between 0-1
`hedera.mirror.monitor.publish.scenarios.<name>.recordPercent` | 0.0 | The percentage of records to retrieve from HAPI. Accepts values between 0-1
`hedera.mirror.monitor.publish.scenarios.<name>.retry.maxAttempts` | 1 | The maximum number of times a scenario transaction will be attempted
`hedera.mirror.monitor.publish.scenarios.<name>.timeout` | 12s | How long to wait for the transaction result
`hedera.mirror.monitor.publish.scenarios.<name>.tps` | 1.0 | The rate at which transactions will publish
`hedera.mirror.monitor.publish.scenarios.<name>.type` | | The type of transaction to publish. See the [`TransactionType`](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier/TransactionType.java) enum for a list of possible values
`hedera.mirror.monitor.publish.scenarios.<name>.type` | | The type of transaction to publish. See the [`TransactionType`](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction/TransactionType.java) enum for a list of possible values
`hedera.mirror.monitor.publish.statusFrequency` | 10s | How often to log publishing statistics
`hedera.mirror.monitor.publish.warmupPeriod` | 30s | The amount of time the publisher should ramp up its rate before reaching its stable (maximum) rate
`hedera.mirror.monitor.subscribe.clients` | 1 | How many SDK clients should be created to subscribe to mirror node APIs. Clients will be used in a round-robin fashion
Expand Down
8 changes: 4 additions & 4 deletions docs/monitor.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ ensuring the load is distributed evenly across all nodes.

The `type` property specifies which transaction type to publish. It also affects which `properties` need to be
specified, with different transaction types requiring different properties to be set. See the
[TransactionType](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier/TransactionType.java)
[TransactionType](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction/TransactionType.java)
enum for a list of possible values for `type`. The properties can be seen as fields on the various
[TransactionSupplier](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier) classes that
[TransactionSupplier](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction) classes that
the `TransactionType` enum references. Most of these properties have a default and don't need to be explicitly
specified, but some are empty and may need to be populated.

For example, if you want to publish a topic message, you would open the `TransactionType` class,
find `CONSENSUS_SUBMIT_MESSAGE`, then open the
[ConsensusSubmitMessageTransactionSupplier](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier/consensus/ConsensusSubmitMessageTransactionSupplier.java)
[ConsensusSubmitMessageTransactionSupplier](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction/consensus/ConsensusSubmitMessageTransactionSupplier.java)
class that it references. From there, you can see that fields `maxTransactionFee`, `message`, `retry`, and `topicId` are
available as properties. Only `topicId` doesn't have a default and will be required. Here's a YAML excerpt that
specifies some of those properties:
Expand All @@ -96,7 +96,7 @@ hedera:
```

Some properties, such as `transferTypes` in
the [CryptoTransferTransactionSupplier](/hedera-mirror-datagenerator/src/main/java/com/hedera/datagenerator/sdk/supplier/account/CryptoTransferTransactionSupplier.java)
the [CryptoTransferTransactionSupplier](/hedera-mirror-monitor/src/main/java/com/hedera/mirror/monitor/publish/transaction/account/CryptoTransferTransactionSupplier.java)
, are Collections, which requires the YAML list syntax.

#### Scheduled Transactions
Expand Down
Loading

0 comments on commit dc8570c

Please sign in to comment.