Skip to content

Commit f3c54fe

Browse files
fixed random instance id and sets not showing up
Signed-off-by: Elena Kolevska <[email protected]>
1 parent 3c4e460 commit f3c54fe

File tree

7 files changed

+13
-12
lines changed

7 files changed

+13
-12
lines changed

.env.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ TEST_TARGET_OPS_PER_SECOND=
2626
TEST_WORKLOAD_PROFILE=basic_rw
2727
TEST_OPERATIONS=SET,GET
2828
TEST_OPERATION_WEIGHTS=
29-
TEST_KEY_PREFIX=test_key
29+
TEST_KEY_PREFIX=rw_test
3030
TEST_KEY_RANGE=10000
3131
TEST_VALUE_SIZE_MIN=100
3232
TEST_VALUE_SIZE_MAX=1000
@@ -61,7 +61,7 @@ OTEL_RESOURCE_ATTRIBUTES=service.name=redis-py-test-app,service.version=1.0.0
6161

6262
# Multi-App Identification
6363
APP_NAME=python
64-
INSTANCE_ID=python-redis-test-1
64+
INSTANCE_ID=
6565

6666
# Output Configuration
6767
OUTPUT_FILE=

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ TEST_THREADS_PER_CLIENT=3
287287

288288
# Application Identity
289289
APP_NAME=python-dev
290-
INSTANCE_ID=dev-instance-1
290+
INSTANCE_ID= # Auto-generated random ID if not specified
291291
VERSION=v1.0.0
292292

293293
# OpenTelemetry

cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def cli():
8787
@click.option('--otel-service-name', default=lambda: get_env_or_default('OTEL_SERVICE_NAME', 'redis-load-test'), help='OpenTelemetry service name')
8888
@click.option('--otel-export-interval', type=int, default=lambda: get_env_or_default('OTEL_EXPORT_INTERVAL', 5000, int), help='OpenTelemetry export interval in milliseconds')
8989
@click.option('--app-name', default=lambda: get_env_or_default('APP_NAME', 'python'), help='Application name for multi-app filtering (python, go, java, etc.)')
90-
@click.option('--instance-id', default=lambda: get_env_or_default('INSTANCE_ID', None), help='Unique instance identifier')
90+
@click.option('--instance-id', default=lambda: get_env_or_default('INSTANCE_ID', None), help='Unique instance identifier (auto-generated if not provided)')
9191
@click.option('--version', default=lambda: get_env_or_default('VERSION', None), help='Version identifier (defaults to redis-py package version)')
9292
@click.option('--output-file', default=lambda: get_env_or_default('OUTPUT_FILE', None), help='Output file for metrics export (JSON)')
9393
@click.option('--quiet', is_flag=True, default=lambda: get_env_or_default('QUIET', False, bool), help='Suppress periodic stats output')

config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ def get_profile(profile_name: str) -> WorkloadConfig:
226226
"operation_weights": {"SET": 0.4, "GET": 0.5, "DEL": 0.1},
227227
"valueSize": 100,
228228
"iterationCount": 1000,
229-
"keyPrefix": "test_key",
229+
"keyPrefix": "rw_test",
230230
"keyRange": 10000
231231
}
232232
),

metrics.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import statistics
1010
import json
1111
import os
12+
import uuid
1213

1314
# Prometheus imports (for backward compatibility)
1415
from prometheus_client import Counter, Histogram, Gauge, start_http_server
@@ -57,7 +58,7 @@ def __init__(self, enable_prometheus: bool = True, prometheus_port: int = 8000,
5758
self.service_version = service_version
5859
self.otel_export_interval_ms = otel_export_interval_ms
5960
self.app_name = app_name
60-
self.instance_id = instance_id or f"{app_name}-{int(time.time())}"
61+
self.instance_id = instance_id if instance_id and instance_id.strip() else f"{app_name}-{str(uuid.uuid4())[:8]}"
6162
self.version = version or "unknown"
6263

6364
# Thread-safe metrics storage
@@ -118,9 +119,9 @@ def _setup_opentelemetry(self):
118119
)
119120

120121
self.otel_operation_duration = self.meter.create_histogram(
121-
name="redis_operation_duration_ms",
122+
name="redis_operation_duration",
122123
description="Duration of Redis operations in milliseconds",
123-
unit="1"
124+
unit="ms"
124125
)
125126

126127
self.otel_connections_counter = self.meter.create_counter(

observability/grafana/provisioning/dashboards/redis-test-dashboard.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,13 @@
171171
},
172172
"targets": [
173173
{
174-
"expr": "histogram_quantile(0.95, sum(rate(redis_operation_duration_ms_bucket{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation, le))",
174+
"expr": "histogram_quantile(0.95, sum(rate(redis_operation_duration_bucket{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation, le))",
175175
"interval": "",
176176
"legendFormat": "95th percentile - {{operation}}",
177177
"refId": "A"
178178
},
179179
{
180-
"expr": "histogram_quantile(0.50, sum(rate(redis_operation_duration_ms_bucket{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation, le))",
180+
"expr": "histogram_quantile(0.50, sum(rate(redis_operation_duration_bucket{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation, le))",
181181
"interval": "",
182182
"legendFormat": "50th percentile - {{operation}}",
183183
"refId": "B"
@@ -258,7 +258,7 @@
258258
},
259259
"targets": [
260260
{
261-
"expr": "sum(rate(redis_operation_duration_ms_sum{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation) / sum(rate(redis_operation_duration_ms_count{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation)",
261+
"expr": "sum(rate(redis_operation_duration_sum{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation) / sum(rate(redis_operation_duration_count{app_name=~\"$app_name\", instance_id=~\"$instance_id\", operation=~\"$operation\", version=~\"$version\"}[5m])) by (operation)",
262262
"interval": "",
263263
"legendFormat": "Average - {{operation}}",
264264
"refId": "A"

workloads.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def _generate_key(self) -> str:
3939
key_id = self._key_counter
4040
self._key_counter += 1
4141

42-
key_prefix = self.config.get_option("keyPrefix", "test_key")
42+
key_prefix = self.config.get_option("keyPrefix", "rw_test")
4343
return f"{key_prefix}:{key_id}"
4444

4545
def _generate_value(self) -> str:

0 commit comments

Comments
 (0)