redis-benchmarks-specification 0.1.313__py3-none-any.whl → 0.1.316__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of redis-benchmarks-specification might be problematic. Click here for more details.
- redis_benchmarks_specification/__builder__/builder.py +39 -14
- redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +63 -7
- {redis_benchmarks_specification-0.1.313.dist-info → redis_benchmarks_specification-0.1.316.dist-info}/METADATA +1 -1
- {redis_benchmarks_specification-0.1.313.dist-info → redis_benchmarks_specification-0.1.316.dist-info}/RECORD +7 -7
- {redis_benchmarks_specification-0.1.313.dist-info → redis_benchmarks_specification-0.1.316.dist-info}/LICENSE +0 -0
- {redis_benchmarks_specification-0.1.313.dist-info → redis_benchmarks_specification-0.1.316.dist-info}/WHEEL +0 -0
- {redis_benchmarks_specification-0.1.313.dist-info → redis_benchmarks_specification-0.1.316.dist-info}/entry_points.txt +0 -0
|
@@ -73,6 +73,18 @@ def main():
|
|
|
73
73
|
parser.add_argument(
|
|
74
74
|
"--arch", type=str, default="amd64", help="arch to build artifacts"
|
|
75
75
|
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
"--builder-group",
|
|
78
|
+
type=str,
|
|
79
|
+
default=STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
|
|
80
|
+
help="Consumer group name to read from the stream",
|
|
81
|
+
)
|
|
82
|
+
parser.add_argument(
|
|
83
|
+
"--builder-id",
|
|
84
|
+
type=str,
|
|
85
|
+
default="1",
|
|
86
|
+
help="Consumer id to read from the stream",
|
|
87
|
+
)
|
|
76
88
|
parser.add_argument(
|
|
77
89
|
"--setups-folder",
|
|
78
90
|
type=str,
|
|
@@ -149,7 +161,14 @@ def main():
|
|
|
149
161
|
|
|
150
162
|
build_spec_image_prefetch(builders_folder, different_build_specs)
|
|
151
163
|
|
|
152
|
-
|
|
164
|
+
builder_group = args.builder_group
|
|
165
|
+
builder_id = args.builder_id
|
|
166
|
+
if builder_group is None:
|
|
167
|
+
builder_group = STREAM_GH_EVENTS_COMMIT_BUILDERS_CG
|
|
168
|
+
if builder_id is None:
|
|
169
|
+
builder_id = "1"
|
|
170
|
+
|
|
171
|
+
builder_consumer_group_create(conn, builder_group)
|
|
153
172
|
if args.github_token is not None:
|
|
154
173
|
logging.info("detected a github token. will update as much as possible!!! =)")
|
|
155
174
|
previous_id = args.consumer_start_id
|
|
@@ -162,28 +181,26 @@ def main():
|
|
|
162
181
|
args.docker_air_gap,
|
|
163
182
|
arch,
|
|
164
183
|
args.github_token,
|
|
184
|
+
builder_group,
|
|
185
|
+
builder_id,
|
|
165
186
|
)
|
|
166
187
|
|
|
167
188
|
|
|
168
|
-
def builder_consumer_group_create(
|
|
189
|
+
def builder_consumer_group_create(
|
|
190
|
+
conn, builder_group=STREAM_GH_EVENTS_COMMIT_BUILDERS_CG, id="$"
|
|
191
|
+
):
|
|
169
192
|
try:
|
|
170
193
|
conn.xgroup_create(
|
|
171
194
|
STREAM_KEYNAME_GH_EVENTS_COMMIT,
|
|
172
|
-
|
|
195
|
+
builder_group,
|
|
173
196
|
mkstream=True,
|
|
174
197
|
id=id,
|
|
175
198
|
)
|
|
176
199
|
logging.info(
|
|
177
|
-
"Created consumer group named {} to distribute work.".format(
|
|
178
|
-
STREAM_GH_EVENTS_COMMIT_BUILDERS_CG
|
|
179
|
-
)
|
|
200
|
+
"Created consumer group named {} to distribute work.".format(builder_group)
|
|
180
201
|
)
|
|
181
202
|
except redis.exceptions.ResponseError:
|
|
182
|
-
logging.info(
|
|
183
|
-
"Consumer group named {} already existed.".format(
|
|
184
|
-
STREAM_GH_EVENTS_COMMIT_BUILDERS_CG
|
|
185
|
-
)
|
|
186
|
-
)
|
|
203
|
+
logging.info("Consumer group named {} already existed.".format(builder_group))
|
|
187
204
|
|
|
188
205
|
|
|
189
206
|
def check_benchmark_build_comment(comments):
|
|
@@ -205,14 +222,22 @@ def builder_process_stream(
|
|
|
205
222
|
docker_air_gap=False,
|
|
206
223
|
arch="amd64",
|
|
207
224
|
github_token=None,
|
|
225
|
+
builder_group=None,
|
|
226
|
+
builder_id=None,
|
|
208
227
|
):
|
|
209
228
|
new_builds_count = 0
|
|
210
229
|
auto_approve_github_comments = True
|
|
211
230
|
build_stream_fields_arr = []
|
|
212
|
-
|
|
213
|
-
|
|
231
|
+
if builder_group is None:
|
|
232
|
+
builder_group = STREAM_GH_EVENTS_COMMIT_BUILDERS_CG
|
|
233
|
+
if builder_id is None:
|
|
234
|
+
builder_id = "1"
|
|
235
|
+
consumer_name = "{}-proc#{}".format(builder_group, builder_id)
|
|
236
|
+
logging.info(
|
|
237
|
+
f"Entering blocking read waiting for work. building for arch: {arch}. Using consumer id {consumer_name}"
|
|
238
|
+
)
|
|
214
239
|
newTestInfo = conn.xreadgroup(
|
|
215
|
-
|
|
240
|
+
builder_group,
|
|
216
241
|
consumer_name,
|
|
217
242
|
{STREAM_KEYNAME_GH_EVENTS_COMMIT: previous_id},
|
|
218
243
|
count=1,
|
|
@@ -107,6 +107,37 @@ from redis_benchmarks_specification.__self_contained_coordinator__.artifacts imp
|
|
|
107
107
|
from redis_benchmarks_specification.__self_contained_coordinator__.build_info import (
|
|
108
108
|
extract_build_info_from_streamdata,
|
|
109
109
|
)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def print_directory_logs(directory_path, description=""):
|
|
113
|
+
"""Print all files in a directory for debugging purposes."""
|
|
114
|
+
if not os.path.exists(directory_path):
|
|
115
|
+
logging.warning(f"Directory {directory_path} does not exist")
|
|
116
|
+
return
|
|
117
|
+
|
|
118
|
+
logging.info(f"Printing all files in {description} directory: {directory_path}")
|
|
119
|
+
try:
|
|
120
|
+
for root, dirs, files in os.walk(directory_path):
|
|
121
|
+
for file in files:
|
|
122
|
+
file_path = os.path.join(root, file)
|
|
123
|
+
logging.info(f"Found file: {file_path}")
|
|
124
|
+
try:
|
|
125
|
+
# Try to read and print the file content if it's a text file
|
|
126
|
+
with open(file_path, "r", encoding="utf-8", errors="ignore") as f:
|
|
127
|
+
content = f.read()
|
|
128
|
+
if content.strip(): # Only print non-empty files
|
|
129
|
+
logging.info(f"Content of {file_path}:")
|
|
130
|
+
logging.info("-" * 40)
|
|
131
|
+
logging.info(content)
|
|
132
|
+
logging.info("-" * 40)
|
|
133
|
+
else:
|
|
134
|
+
logging.info(f"File {file_path} is empty")
|
|
135
|
+
except Exception as e:
|
|
136
|
+
logging.warning(f"Could not read file {file_path}: {e}")
|
|
137
|
+
except Exception as e:
|
|
138
|
+
logging.error(f"Error walking directory {directory_path}: {e}")
|
|
139
|
+
|
|
140
|
+
|
|
110
141
|
from redis_benchmarks_specification.__self_contained_coordinator__.cpuset import (
|
|
111
142
|
extract_db_cpu_limit,
|
|
112
143
|
generate_cpuset_cpus,
|
|
@@ -1319,6 +1350,18 @@ def process_self_contained_coordinator_stream(
|
|
|
1319
1350
|
|
|
1320
1351
|
print("-" * 60)
|
|
1321
1352
|
|
|
1353
|
+
# Print all log files in the temporary directories for debugging
|
|
1354
|
+
logging.critical(
|
|
1355
|
+
"Printing all files in temporary directories for debugging..."
|
|
1356
|
+
)
|
|
1357
|
+
try:
|
|
1358
|
+
print_directory_logs(temporary_dir, "Redis server")
|
|
1359
|
+
print_directory_logs(temporary_dir_client, "Client")
|
|
1360
|
+
except Exception as log_error:
|
|
1361
|
+
logging.error(
|
|
1362
|
+
f"Failed to print directory logs: {log_error}"
|
|
1363
|
+
)
|
|
1364
|
+
|
|
1322
1365
|
test_result = False
|
|
1323
1366
|
# tear-down
|
|
1324
1367
|
logging.info("Tearing down setup")
|
|
@@ -1349,14 +1392,27 @@ def process_self_contained_coordinator_stream(
|
|
|
1349
1392
|
)
|
|
1350
1393
|
)
|
|
1351
1394
|
pass
|
|
1352
|
-
logging.info(
|
|
1353
|
-
"Removing temporary dirs {} and {}".format(
|
|
1354
|
-
temporary_dir, temporary_dir_client
|
|
1355
|
-
)
|
|
1356
|
-
)
|
|
1357
1395
|
|
|
1358
|
-
|
|
1359
|
-
|
|
1396
|
+
# Only remove temporary directories if test passed
|
|
1397
|
+
if test_result:
|
|
1398
|
+
logging.info(
|
|
1399
|
+
"Test passed. Removing temporary dirs {} and {}".format(
|
|
1400
|
+
temporary_dir, temporary_dir_client
|
|
1401
|
+
)
|
|
1402
|
+
)
|
|
1403
|
+
shutil.rmtree(temporary_dir, ignore_errors=True)
|
|
1404
|
+
shutil.rmtree(
|
|
1405
|
+
temporary_dir_client, ignore_errors=True
|
|
1406
|
+
)
|
|
1407
|
+
else:
|
|
1408
|
+
logging.warning(
|
|
1409
|
+
"Test failed. Preserving temporary dirs for debugging: {} and {}".format(
|
|
1410
|
+
temporary_dir, temporary_dir_client
|
|
1411
|
+
)
|
|
1412
|
+
)
|
|
1413
|
+
# Print all log files in the temporary directories for debugging
|
|
1414
|
+
print_directory_logs(temporary_dir, "Redis server")
|
|
1415
|
+
print_directory_logs(temporary_dir_client, "Client")
|
|
1360
1416
|
|
|
1361
1417
|
overall_result &= test_result
|
|
1362
1418
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.316
|
|
4
4
|
Summary: The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
|
|
5
5
|
Author: filipecosta90
|
|
6
6
|
Author-email: filipecosta.90@gmail.com
|
|
@@ -4,7 +4,7 @@ redis_benchmarks_specification/__api__/api.py,sha256=k_CMICtMm1z8jY3hByaL0hIr_5v
|
|
|
4
4
|
redis_benchmarks_specification/__api__/app.py,sha256=JzQm84DjIVdfLbDO423BJbrds6gFzMbA0syRkHE_aUU,7063
|
|
5
5
|
redis_benchmarks_specification/__builder__/Readme.md,sha256=O6MV_J3OSgzW-ir2TbukP8Vhkm_LOzQJJndG1Cykqic,111
|
|
6
6
|
redis_benchmarks_specification/__builder__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
7
|
-
redis_benchmarks_specification/__builder__/builder.py,sha256=
|
|
7
|
+
redis_benchmarks_specification/__builder__/builder.py,sha256=XdyCrYanImUNi_kC1uJg4qIh0X00NMVs9ht1pWJZUkM,29075
|
|
8
8
|
redis_benchmarks_specification/__builder__/schema.py,sha256=1wcmyVJBcWrBvK58pghN9NCoWLCO3BzPsmdKWYfkVog,584
|
|
9
9
|
redis_benchmarks_specification/__cli__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
10
10
|
redis_benchmarks_specification/__cli__/args.py,sha256=uZkk1Jom9i0xJ_OpVMrIWbw_70jFo7IswLV2EtKTKEA,7210
|
|
@@ -36,7 +36,7 @@ redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=e
|
|
|
36
36
|
redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py,sha256=sVLKNnWdAqYY9DjVdqRC5tDaIrVSaI3Ca7w8-DQ-LRM,776
|
|
37
37
|
redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py,sha256=1UeFr2T1ZQBcHCSd4W1ZtaWgXyFPfjLyDi_DgDc1eTA,2957
|
|
38
38
|
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=noRHn9leTfEm2fa1yHBHQd8TUGhFDoU86QQkHABnWSs,30073
|
|
39
|
-
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=
|
|
39
|
+
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=Epmn33YJG2ZvAJ1i1nJg5RTKzdVuwnrqqlcipWBdf5U,82394
|
|
40
40
|
redis_benchmarks_specification/__setups__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
redis_benchmarks_specification/__setups__/topologies.py,sha256=xQ1IJkcTji_ZjLiJd3vOxZpvbNtBLZw9cPkw5hGJKHU,481
|
|
42
42
|
redis_benchmarks_specification/__spec__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
@@ -276,8 +276,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-st
|
|
|
276
276
|
redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml,sha256=2egtIxPxCze2jlbAfgsk4v9JSQHNMoPLbDWFEW8olDg,7006
|
|
277
277
|
redis_benchmarks_specification/test-suites/template.txt,sha256=ezqGiRPOvuSDO0iG7GEf-AGXNfHbgXI89_G0RUEzL88,481
|
|
278
278
|
redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml,sha256=PD7ow-k4Ll2BkhEC3aIqiaCZt8Hc4aJIp96Lw3J3mcI,791
|
|
279
|
-
redis_benchmarks_specification-0.1.
|
|
280
|
-
redis_benchmarks_specification-0.1.
|
|
281
|
-
redis_benchmarks_specification-0.1.
|
|
282
|
-
redis_benchmarks_specification-0.1.
|
|
283
|
-
redis_benchmarks_specification-0.1.
|
|
279
|
+
redis_benchmarks_specification-0.1.316.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
280
|
+
redis_benchmarks_specification-0.1.316.dist-info/METADATA,sha256=L66m-6PEpln632fhKapPVqyHEDNhjNrcRT3lKNXM3Iw,22726
|
|
281
|
+
redis_benchmarks_specification-0.1.316.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
282
|
+
redis_benchmarks_specification-0.1.316.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
|
|
283
|
+
redis_benchmarks_specification-0.1.316.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|