feat(generator): доработка по ревью rev5 — тики, метрики, история
- Зачем:
- ревью rev5 выявило несоответствие плану: дефолт 60s против 5s,
неработающий jitter, отсутствие Prometheus-метрик и персистентности
- Что:
- дефолт GEN_TICK_SECONDS изменён с 60s на 5s (steady-stream режим)
- реализован GEN_JITTER_PCT в расчёте объёма тика (вариативность)
- добавлены Prometheus метрики: generator_events_total,
generator_publish_errors_total, generator_tick_duration_seconds,
generator_last_success_timestamp (порт 9109)
- добавлен ClickHouseBatchHistory с записью в meta.generator_batches
- lazy import kafka-python для тестов без Kafka
- обновлён scrape_config в configs/prometheus.yml
- удалён нерабочий verify_kafka.py
- Проверка:
- test_comprehensive.py: 9/9 тестов пройдено
- docker build -t generator:rev5 . — успешно
- docker-compose.yml валиден
This commit is contained in:
+8
-3
@@ -291,23 +291,28 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
KAFKA_BOOTSTRAP_SERVERS: kafka:29092
|
||||
GEN_TICK_SECONDS: "60"
|
||||
# Режим steady-stream: короткие тики 1-10 сек (по умолчанию 5)
|
||||
GEN_TICK_SECONDS: "5"
|
||||
GEN_LAMBDA_BASE_PER_MIN: "200"
|
||||
GEN_JITTER_PCT: "20"
|
||||
GEN_MIN_EVENTS_PER_TICK: "50"
|
||||
GEN_MAX_EVENTS_PER_TICK: "500"
|
||||
GEN_MIN_EVENTS_PER_TICK: "5"
|
||||
GEN_MAX_EVENTS_PER_TICK: "50"
|
||||
GEN_DATA_DIR: /data
|
||||
GEN_ENABLED: "true"
|
||||
GEN_METRICS_PORT: "9109"
|
||||
CLICKHOUSE_HOST: clickhouse
|
||||
CLICKHOUSE_PORT: "9000"
|
||||
# PYTHONUNBUFFERED для сразу видеть логи
|
||||
PYTHONUNBUFFERED: "1"
|
||||
ports:
|
||||
- "9109:9109" # Prometheus metrics endpoint
|
||||
volumes:
|
||||
- ./data:/data:ro
|
||||
networks:
|
||||
- cs_dwh
|
||||
depends_on:
|
||||
- kafka
|
||||
- clickhouse
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import sys; sys.exit(0)"]
|
||||
|
||||
Reference in New Issue
Block a user