Observability Pipeline
Log Specification
Every component emits structured JSON logs with the following required fields.
Log levels:
DEBUG: Tensor shape details, scheduler pollingINFO: Job completion, state transitions, artifact storageWARN: Retry attempts, fallback to CPU, fair-share deficitERROR: Merge failure, benchmark crash, GPU OOM
Metrics Specification
Metrics are emitted in Prometheus exposition format. Key metric categories: System metrics:emep_gpu_utilization_percent{gpu_id, worker_id}emep_gpu_vram_used_bytes{gpu_id, worker_id}emep_gpu_vram_total_bytes{gpu_id, worker_id}emep_scheduler_queue_depth{queue_name}emep_scheduler_wait_time_seconds{queue_name, priority}
emep_candidate_throughput_per_hour{experiment_id}emep_fitness_distribution{experiment_id, percentile}emep_merge_duration_seconds{strategy}emep_eval_duration_seconds{benchmark_name}
emep_experiment_state_duration_seconds{experiment_id, state}emep_experiment_candidate_count{experiment_id, status}emep_population_generation{experiment_id}
Trace Specification
Distributed traces follow OpenTelemetry conventions. Spans are created at job submission, queue wait, GPU allocation, execution phases, and artifact storage. Key spans:merge_job.submit(API Server)merge_job.queue_wait(Scheduler)merge_job.gpu_allocate(Scheduler)merge_job.tensor_load(TensorEngine)merge_job.merge_execute(MergeEngine)merge_job.artifact_store(ArtifactStore)