b66b5a2f37
[ #42 ] registry: Optimize Count() for ObjSelector
...
It is the heaviest function executing on setup stage.
The culprit is the linear dependency between its execution
time and the amount of objects in registry. The solution is to store
object by status. While the optimization doesn't work for objects with
no status, it is currently provided by all scenarios.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-15 16:08:26 +03:00
22d7996f79
[ #42 ] registry: Optimize ObjectInfo
marshaling
...
1. Get rid of JSON in the database.
2. Store `CreatedAt` as int64. It decreases JSON marshaling time by
about ~25% with no changes for native scheme.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-15 16:08:26 +03:00
da01f4bc2a
[ #59 ] Revert scheme to http for s3 cli script
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-05-11 15:09:56 +03:00
81b7d3f536
Check NOFILE limit before creating local storage engine
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-21 14:01:30 +03:00
5ab7cfed7c
[ #52 ] Add debug_logger flag to local scenarios
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-19 10:44:45 +03:00
8109df7de7
[ #51 ] Add constant arrival rate (car) scenarios for grpc and s3
...
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2023-04-14 11:05:20 +03:00
7bb16cdd94
[ #49 ] Import and use k6-utils library for uuidv4
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-13 16:31:54 +03:00
de6747fc0f
[ #14 ] Add s3 local loader
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-13 13:00:38 +00:00
6832771973
[ #47 ] Raise default STREAM_TIMEOUT to 60s
...
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2023-04-07 12:01:50 +03:00
ef6f5bdf48
[ #45 ] scenarios: Support ENV file in local.js
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-24 09:08:42 +00:00
cea265a3f8
[ #43 ] generator: Fix initial payload generation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-24 07:29:32 +00:00
220a822377
[ #39 ] Add bug label; edit feature request
...
Add bug label in the bug report template. Edit feature request
Signed-off-by: Liza <e.chichindaeva@yadro.com>
2023-03-24 06:22:26 +00:00
7efb6315dc
[ #14 ]: Add local target support
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-03-23 11:58:11 +00:00
47b6d0fb8b
[ #37 ] scenarios: Make run_scenarios.md render properly
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-21 17:58:05 +03:00
ed58333aba
[ #11 ] Support reading env variables from file
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-15 09:13:34 +03:00
c5a250618c
[ #33 ] scenarios: Fix imports
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-13 12:31:17 +03:00
b1f7b29848
[TrueCloudLab#22] datagen: Use local randomness source
...
`math/rand.Read` is deprecated.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-10 06:03:38 +00:00
e96d83549b
[TrueCloudLab#22] datagen: Allocate buffer once
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-10 06:03:38 +00:00
e82b1ebd1d
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 17:53:17 +03:00
614bee3581
[ #19 ] Add json output for k6 scenarios
...
This is required for autotests to be able to parse summaries and do checks
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2023-03-01 15:12:23 +03:00
bed807b09f
[TrueCloudLab#17] .github: Fix CODEOWNERS
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-28 16:37:04 +03:00
9212cefb0e
[ #9 ] scenarios: Unify error log entries
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-28 14:18:53 +03:00
4ea872d6c3
[ #9 ] logging: Make logger more functional
...
Previous iteration was bad, because `Logger` instance was shared and
endpoints in different VUs were overriding each other.
New interface is much better, it supports logger extension in any
context with arbitrary fields.
```
const l = logging.new().withFields({endpoint: "my endpoint"});
...
l.withField("cid", container).info("not found");
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-28 14:18:53 +03:00
4a2b01f5a4
[ #8 ] internal: Add full timestamp and endpoint to logs
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-03 17:12:26 +03:00
e52a315752
[ #50 ] Use native.connect
timeouts everywhere
...
Also, use defaults from the SDK itself, allow user to provide 0.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-03 17:12:26 +03:00
b24baf06ca
fix format %w
...
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2023-01-11 20:10:57 +03:00
ce4595fca1
Change logo
...
Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
2023-01-07 18:20:28 +03:00
43fddcb28b
sys.exit with exit codes if no containers/objects during preset
...
correct statistics - total counts of request contains only successful requests.
add endpoint to grpc connection error message
added ability to change workers count during preset
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2022-12-30 17:30:50 +03:00
171327cdda
[ #2 ] Deep rebranding
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-12-30 11:05:20 +03:00
88b2129b54
[ #50 ] Allow to set timeouts for native scenario
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
(cherry picked from commit 1337eed6df45492f1045541021e8b14a42c5a286)
2022-12-29 17:35:13 +03:00
d2541486ae
Add wallet params since -g flag is deprecated
...
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
(cherry picked from commit 3120b9bd7d85b8170a14c153c08b956a31aa8c70)
2022-12-29 17:35:13 +03:00
Denis Kirillov
23feb6c937
[ #44 ] Add params to disable tls check on s3
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
(cherry picked from commit cb21178ae7e1ba6e956b3b3ea0a845fe6b0ca48a)
2022-12-29 17:35:13 +03:00
966fee0e55
[ #1 ] Build K6 extension with FrostFS dependencies
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-12-22 11:13:47 +03:00
Denis Kirillov
f6695f3b4c
[ #29 ] Add delete metrics
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-12-02 13:05:04 +03:00
a.chetaev
9501e300c1
Add documentation for new scripts
...
Signed-off-by: a.chetaev <alex.chetaev@gmail.com>
2022-11-18 17:36:29 +03:00
a.chetaev
22e97339c9
Add script to check policy complience
...
Signed-off-by: a.chetaev <alex.chetaev@gmail.com>
2022-11-18 17:36:29 +03:00
a.chetaev
ed25e553b2
[ #38 ] Move common function to helpers for preset
...
Signed-off-by: a.chetaev <alex.chetaev@gmail.com>
2022-11-18 11:44:06 +03:00
97fbe9af82
[ #37 ] run_scenarios.md: K6 doc updates
...
Signed-off-by: Vladislav Karakozov <v.karakozov@yadro.com>
2022-11-18 11:42:47 +03:00
a.chetaev
9c08b45619
[ #34 ] Add script to check preset objects state
...
Signed-off-by: a.chetaev <alex.chetaev@gmail.com>
2022-11-15 19:38:24 +03:00
aa1cbb957c
[ #32 ] scenarios: Log object info on errors
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-11-11 10:26:27 +03:00
883c3c259a
[ #32 ] registry: Allow to customize cache size for DELETE
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-11-11 10:26:27 +03:00
Pavel Karpy
c43f73704e
[ #30 ] grpc: Cache object getters
...
Includes:
1. Logic simplification: no need to call `ObjSelector.Reset` from JS code,
everything could be done inside the Go code. Remove unused mutexes.
2. Do not handle object twice ever: Once handled, any error is expected to be
logged on the JS side and never be handled again. It solves "already removed"
error.
3. Object caching: no need to call bolt's `View` on every object removal: it
blocks other calls and slows down the execution. Read 100 objects (or less if
not available yet), cache them and send to buffered channel.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
1434d95e81
[ #30 ] go.mod: Update neofs-sdk
...
It fixes panic using go 1.19+.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
dbfadc83d0
[ #30 ] preset: Print container progress
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
70d4b1db9d
[ #30 ] grpc: Do not start deleters without registry
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
0e34bf64bd
[ #30 ] presets: Pretty JSON files
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
3fbaf0753d
[ #30 ] gitignore: Add dir for presets
...
Could be useful for local runs
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
af840ed376
[ #30 ] preset: Create missing files
...
Also, stop if none of the container creation commands succeeded.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
0dda9f17fa
[ #30 ] preset: Stop execution if no new containers were created
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00
Pavel Karpy
0088fbd7d6
[ #30 ] preset: PEP 8 refactor
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-11-03 13:11:50 +03:00