Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support input arguments templating #109

Closed
guoger opened this issue Nov 24, 2020 · 6 comments
Closed

Support input arguments templating #109

guoger opened this issue Nov 24, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed MergeInComing Merge Into Main In Next Release pinned Pin this issue to prevent from auto-closing
Milestone

Comments

@guoger
Copy link
Member

guoger commented Nov 24, 2020

today, tape only support static and fixed arguments upon start. Although this is way too limited. We need to pick and support a templating language. For example: https://ghz.sh/docs/examples#metadata-using-template-variables

@guoger guoger added enhancement New feature or request pinned Pin this issue to prevent from auto-closing labels Nov 24, 2020
@guoger
Copy link
Member Author

guoger commented Dec 8, 2020

cc @SamYuan1990

@wangxinalex
Copy link
Contributor

wangxinalex commented Jun 16, 2021

How about the dynamic variables in postman? https://learning.postman.com/docs/writing-scripts/script-references/variables-list/. Some random data generator can be leveraged like https://github.com/brianvoe/gofakeit

@SamYuan1990
Copy link
Member

How about the dynamic variables in postman? https://learning.postman.com/docs/writing-scripts/script-references/variables-list/. Some random data generator can be leveraged like https://github.com/brianvoe/gofakeit

well, my personal opinion doesn't limit for any kind of implementation.
for post man, well @wangxinalex could you explain more about how integrate post man with tape(a golang base program?)
for the random data generator is a good point. however, if we extend our view. the use case is that

tape user input something in config.yaml xxx word and during tape running replace xxx word with data.
for random case, if user wants random data, this library is very good for us.
@guoger , could you please help comparing the different between https://ghz.sh/docs/examples#metadata-using-template-variables and https://ghz.sh/docs/examples#metadata-using-template-variables ?

@wangxinalex
Copy link
Contributor

How about the dynamic variables in postman? https://learning.postman.com/docs/writing-scripts/script-references/variables-list/. Some random data generator can be leveraged like https://github.com/brianvoe/gofakeit

well, my personal opinion doesn't limit for any kind of implementation.
for post man, well @wangxinalex could you explain more about how integrate post man with tape(a golang base program?)
for the random data generator is a good point. however, if we extend our view. the use case is that

tape user input something in config.yaml xxx word and during tape running replace xxx word with data.
for random case, if user wants random data, this library is very good for us.
@guoger , could you please help comparing the different between https://ghz.sh/docs/examples#metadata-using-template-variables and https://ghz.sh/docs/examples#metadata-using-template-variables ?

In my view, the dynamic variables in postman could provide some insights for tape due since they are both popular request generator. It is unnecessary to port these features from postman 100% because it is based on Javascript, instead we can try to leverage fake data generators like https://github.com/brianvoe/gofakeit to produce some fake data with semantic meaning.

On the other hand, ghz can replace templates with some contextual data https://github.com/bojand/ghz/blob/06f029c14c97612a09095f55075474442ffc8243/runner/calldata.go#L24, of course which can be seen as some random info source, however this may be insufficient if we want semantically meaningful payload.

@guoger
Copy link
Member Author

guoger commented Jun 17, 2021

How about the dynamic variables in postman? learning.postman.com/docs/writing-scripts/script-references/variables-list. Some random data generator can be leveraged like brianvoe/gofakeit

this looks promising.

Suppose following scenario:

1. create 1M accounts with random initial balance, then
2. randomly transfer among those accounts

1 should be easy with dynamic variable. Although I'm scratching my head around 2, where accounts are inherited from 1.

Anyway, satisfying 1 should be a good starting point already, and we could always build on top of it.

@wangxinalex interested?

@wangxinalex
Copy link
Contributor

How about the dynamic variables in postman? learning.postman.com/docs/writing-scripts/script-references/variables-list. Some random data generator can be leveraged like brianvoe/gofakeit

this looks promising.

Suppose following scenario:

1. create 1M accounts with random initial balance, then
2. randomly transfer among those accounts

1 should be easy with dynamic variable. Although I'm scratching my head around 2, where accounts are inherited from 1.

Anyway, satisfying 1 should be a good starting point already, and we could always build on top of it.

@wangxinalex interested?

Sure, let's start with simple semantic random variables.

@SamYuan1990 SamYuan1990 assigned SamYuan1990 and unassigned guoger Jul 17, 2021
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Jul 17, 2021
Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit that referenced this issue Jul 20, 2021
* 1st impl for #109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 4, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Aug 24, 2021
* 1st impl for Hyperledger-TWGC#109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
@SamYuan1990 SamYuan1990 added the MergeInComing Merge Into Main In Next Release label Oct 31, 2021
SamYuan1990 added a commit to SamYuan1990/tape that referenced this issue Oct 31, 2021
Signed-off-by: Sam Yuan <yy19902439@126.com>
davidkhala pushed a commit that referenced this issue Mar 23, 2022
* 1st impl for #109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
davidkhala pushed a commit that referenced this issue Mar 23, 2022
* 109 to alpha (#189)

* 1st impl for #109

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* Arch refactor alpha (#190)

* add crpto interface as repare for #127

Signed-off-by: Sam Yuan <yy19902439@126.com>

* adding Worker interface for #56 and decouple Assembler and Integrator

Signed-off-by: Sam Yuan <yy19902439@126.com>

* refactor for worker interface

Signed-off-by: Sam Yuan <yy19902439@126.com>

* package structure

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* package refactor

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* remove Envelope from elements

Signed-off-by: Sam Yuan <yy19902439@126.com>

* add memeory free

Signed-off-by: Sam Yuan <yy19902439@126.com>

* remove Proposal from Elements

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* move start time to ctx

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up for time setting (#191)

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for #173 supports for configurable signers in parallel (#194)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* adding for commit phase only dummy impl (#195)

* adding for commit phase only dummy impl

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for endorsement only

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* update document and prepare for release (#196)

* update document and prepare for release

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up in readme (#197)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for #200 (#207)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* Impl173 (#208)

* adjust code

Signed-off-by: Sam Yuan <yy19902439@126.com>

* code refactor

Signed-off-by: Sam Yuan <yy19902439@126.com>

* code refactor

Signed-off-by: Sam Yuan <yy19902439@126.com>

* use const instead

Signed-off-by: Sam Yuan <yy19902439@126.com>

* adding parallel flag

Signed-off-by: Sam Yuan <yy19902439@126.com>

* try to check escapes in ci (#209)

* try to check escapes in ci

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* add benchmark test and adjust regex impl solution

Signed-off-by: Sam Yuan <yy19902439@126.com>

* attempt

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* 174 (#210)

* use kingpin global flag and adding test case with timeout command

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for #174

Signed-off-by: Sam Yuan <yy19902439@126.com>

* adding test case

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* add signal listening

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* adding patch for #174 (#211)

* adding patch for #174

Signed-off-by: Sam Yuan <yy19902439@126.com>

* bug fix

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for #213 (#214)

* impl for #213

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* add orderer observer into full workflow process (#216)

* add orderer observer into full workflow process

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for txid tracing at traffic generate (#218)

* impl for txid tracing at traffic generate

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* try to add tx tracing for observer (#219)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* nit fix (#220)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* Nitfix for date format (#221)

* use RFC3339Nano

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for #223 (#225)

* impl for #223

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up (#226)

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up (#227)

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up delete map to avoid OOM (#228)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* update for git doc (#235)

Signed-off-by: Sam Yuan <yy19902439@126.com>

* impl for policy support (#237)

* add plan

Signed-off-by: Sam Yuan <yy19902439@126.com>

* update ginkgo and add test for policy impl

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* try to impl with policy support

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>

* fix up

Signed-off-by: Sam Yuan <yy19902439@126.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed MergeInComing Merge Into Main In Next Release pinned Pin this issue to prevent from auto-closing
Development

Successfully merging a pull request may close this issue.

3 participants