Zum Inhalt

Runtime-Konfiguration

Mit der Runtime-Konfiguration steuerst du das Verhalten der Generierung zur Laufzeit. Du kannst Logging, Paging, Snapshot-Semantik und Tuning für Integrationen wie Kafka, Redis und Mongo an deine Workload anpassen.

Zugriff

  • Projekt → Einstellungen → Runtime Configuration

Funktionsweise

Die Runtime-Configuration-Oberfläche ist capability-gesteuert. Abschnitte und Felder werden vom Server bereitgestellt, damit die UI immer zu den tatsächlich verfügbaren Backend-Funktionen passt.

Note

Änderungen werden nach kurzer Verzögerung automatisch gespeichert. Es werden nur geänderte Felder geschrieben; das Leeren eines Wertes entfernt ihn aus der Konfiguration.


Bereiche

Encoding & Delimiter

Konfiguriert Standard-Encoding und Standard-Trennzeichen für Dateidownloads und externe Datenquellen.

  • Default Encoding: Zeichenkodierung für Downloads und externe Quellen. Standard: UTF-8
  • Default Separator: CSV-Trennzeichen für Downloads und externe Quellen. Standard: ;

Unterstützte Encodings

Encoding Beschreibung
UTF-8 Unicode (Standard, empfohlen)
UTF-16 Unicode 16-Bit
ISO-8859-1 Latin-1 Westeuropa
windows-1252 Windows Westeuropa
ASCII 7-Bit-ASCII

Unterstützte Trennzeichen

Trennzeichen Zeichen Typischer Einsatz
Semikolon ; Standard, europäische CSV-Konvention
Pipe \| Empfohlen für Data Interchange
Komma , Standard-CSV, problematisch bei Kommas im Inhalt
Tab \t Tab-separierte Werte

Upload-Verhalten

Beim Upload von Dateien erkennt die Plattform Encoding und Trennzeichen automatisch. Diese Einstellungen wirken sich nur auf Downloads und externe Datenquellen aus.

Logging & Metrics

  • Log Level (INFO, DEBUG, WARNING, ERROR, CRITICAL)
  • Log Source Metrics (CONTROL, PAGE, SUMMARY, LEASE)
  • Log Export Metrics (Exporter-/Target-Durchsatz)

Tip

Nutze DEBUG nur vorübergehend zur Analyse. Für den Normalbetrieb ist INFO meist die richtige Wahl.

Preview & Exporter

  • Preview Record Limit (Zeilen)
  • Disable Preview Exporter (deaktiviert UI-Preview-Daten)

Paging & Snapshot

  • Page Mode (bytes, rows, auto)
  • Target Bytes (MB) / Target Rows
  • Snapshot Mode (auto, rr, scn, snapshot, copy)
  • Statement Timeout (ms)
  • Require Index

Kafka

  • Producer- und Consumer-Tuning: Batch-Größe, Flush-Intervalle, maximale In-Flight-Requests, Poll-Timeout, Retries

Mongo

  • Allow Aggregate Paging (erweitert)
  • Heavy Advance Factor

Memstore & Flow

  • Batch Size
  • Cyclic Max Records
  • Cleanup on Exit
  • Parallel Fetch
  • Cyclic Cache Max (MB)

Redis & Leases

  • Disable Redis
  • Socket-/Connect-Timeouts, Health-Check-Intervall
  • Max Connections
  • Lease Cleanup on Exit, Retention (Sekunden)
  • Cleanup on Exit für Log-/Preview-/Testresult-Keyspaces

Planning & Fallback (RDBMS)

  • Allow Unverified User Order
  • Fallback Mode (temp_rownum, cursor_only, pg_ctid)
  • Allow CTID Fallback (Postgres)

Platform (Client Healthcheck)

  • Healthcheck on Registration
  • Timeout (ms)

Tipps

  • Für speichersensitive Workloads ist Page Mode = bytes meist die sicherste Wahl.
  • Für große RDBMS-Exporte ohne stabile Sortierung ist cursor_only oft der konservativste Fallback.

Referenz

Unterstützte Runtime-Keys (Kurzüberblick)

Key Typ Default Beschreibung
default_encoding str UTF-8 Standard-Encoding für Downloads und externe Quellen
default_separator str ; Standard-CSV-Trennzeichen für Downloads und externe Quellen
ds_log_source_metrics bool false Quellmetriken CONTROL/PAGE/SUMMARY/LEASE loggen
ds_log_export_metrics bool false Exporter-/Target-Durchsatz loggen
preview_record_limit int 20 Anzahl der Preview-Samples auf Root-Ebene
disable_preview_exporter bool false UI-Preview-Exporter deaktivieren
disable_redis bool false Redis-gestützte Handler/Leases deaktivieren
memstore_batch_size int 1000 Flush-Schwelle für Memstore-Exporter
memstore_cyclic_max_records int 2000000 Guardrail für zyklische Memstore-Fetches
memstore_cleanup_on_exit bool true Entfernt Task-Memstore-Keys beim Exit
kafka_consumer_poll_timeout_ms int Poll-Timeout für Kafka-Consumer
kafka_consumer_max_retries int 3 Maximale Anzahl leerer Poll-Retries
kafka_exporter_flush_batch int 100 Puffergöße für Kafka-Exporter-Flush
kafka_max_messages_per_sec float Producer-Throttling (Messages/Sekunde)
kafka_throttle_burst int Burst-Kapazität für Throttling
kafka_producer_flush_every int Flush nach N Sends
kafka_producer_flush_interval_ms int Periodisches Flush-Intervall
kafka_max_inflight_futures int 1000 Maximale Anzahl paralleler Producer-Futures
kafka_future_get_timeout_ms int 60000 Timeout für future.get
ds_page_mode str (bytes\|rows\|auto) bytes Einheit für Paging
ds_target_bytes_mb float 128.0 Byte-Budget pro Seite
ds_target_rows int 20000 Zeilen pro Seite
ds_snapshot_mode str (auto\|rr\|scn\|snapshot\|copy) auto Snapshot-/Transaktionssemantik
ds_statement_timeout_ms int 600000 Statement-Timeout innerhalb von Snapshot-Transaktionen
ds_require_index bool false Fail-fast bei fehlendem Index auf Order-Key
ds_mongo_allow_aggregate_paging bool false Source-level Paging für Aggregates erlauben
ds_mongo_heavy_advance_factor int 2 Heuristik für Token-Range-/Advance-Entscheidungen

Erweiterte Runtime-Keys

Diese Keys sind funktional, werden aber typischerweise eher von Engineers als von Operateuren angepasst.

  • Redis-Client-Tuning
  • redis_socket_timeout_ms (int, Default 5000)
  • redis_connect_timeout_ms (int, Default 3000)
  • redis_health_check_interval_s (int, Default 0)
  • redis_max_connections (int|null)
  • Lease-/Cleanup-Steuerung
  • ds_lease_cleanup_on_exit (bool, Default false)
  • ds_lease_retention_seconds (int, Default 604800)
  • redis_cleanup_log_on_exit (bool, Default false)
  • redis_cleanup_preview_on_exit (bool, Default false)
  • redis_cleanup_testresult_on_exit (bool, Default false)
  • Manifest-Cache
  • ds_manifest_cache_enable (bool, Default false)
  • ds_manifest_cache_max_entries (int, Default 256)
  • ds_manifest_cache_ttl_minutes (int, Default 60)
  • RDBMS Ordering / Fallback
  • ds_allow_unverified_user_order (bool, Default true)
  • ds_fallback_mode (str: temp_rownum|cursor_only|pg_ctid, Default temp_rownum)
  • ds_pg_allow_ctid_fallback (bool, Default false)
  • Unload-Schwellen
  • ds_unload_auto_row_threshold (int, Default 50000000)
  • ds_unload_auto_size_gb (float, Default 50.0)
  • Mongo / Fastops
  • fastops_mongo_sample_every (int, Default 8)
  • fastops_mongo_use_server_stats (bool, Default true)
  • Rust / Fast Generators
  • rust_fast_generators (bool, Default true)
  • rust_fast_buffer_size (int, Default 8192)
  • Memstore / Datenfluss
  • memstore_parallel_fetch (bool, Default false)
  • ds_cyclic_cache_max_mb (float, Default 100.0)

Client Healthcheck (Preflight)

Prüft Konnektivität und Authentifizierung für registrierte Clients direkt bei der Registrierung. Standard ist strikt fail-fast.

  • client_healthcheck_on_registration (bool, Default true): Führt einen kurzen Healthcheck für jeden registrierten Client mit denselben Credentials aus, die auch im Run verwendet werden.
  • client_healthcheck_timeout_ms (int, Default 3000): Ziel-Timeout für einzelne Probes, sofern unterstützt.

Wann du diese Einstellungen nutzen solltest

  • Logging
  • Erhöhe log_level vorübergehend auf DEBUG, wenn du Fehler analysierst; für den Normalbetrieb ist INFO meist passend.
  • Aktiviere ds_log_source_metrics / ds_log_export_metrics, wenn du Durchsatz oder Latenz untersuchen willst.
  • Preview & Exporter
  • Senke preview_record_limit bei sehr großen Datenmengen; deaktiviere den Preview-Exporter, um Batch-Läufe schlanker zu halten.
  • Paging & Snapshot
  • ds_page_mode: bytes begrenzt Speicherverbrauch, rows liefert feste Seitengrößen, auto ist ein guter Standardfall.
  • Passe ds_target_bytes_mb oder ds_target_rows an Datensatzgröße und Downstream-Limits an.
  • ds_snapshot_mode: nutze transaktionale Modi wie rr oder scn, wenn Konsistenz wichtig ist.
  • Kafka
  • Nutze kafka_max_messages_per_sec / kafka_throttle_burst zur Drosselung; passe Flush-Intervalle und Batch-Größen an Broker-Latenz an.
  • Redis & Leases
  • Setze disable_redis nur, wenn wirklich kein Redis vorhanden ist; ansonsten erhöht Redis Robustheit und Beobachtbarkeit.
  • Planning & Fallback (RDBMS)
  • Halte ds_require_index in strikten Umgebungen aktiv; nutze cursor_only, wenn Indizes fehlen.

Wenn du detailliertere Empfehlungen brauchst, nenne Quelle/Ziel, Datenmengen und Latenzgrenzen. Dann lassen sich konkrete Werte ableiten.