Summary
init_tracing() is never called by the SDK. Without it, every ingested score has trace_id=null, and every Kibana evaluator short-circuits to label="unavailable". Running an experiment with default settings produces no usable evaluation results.
Problem
init_tracing() is only called in example scripts, never from run_experiment()
evaluators/kibana.py:226-231 returns "unavailable" when trace_id is None
- Nothing in the docs warns users about this
Fix
Call init_tracing(config.tracing) automatically in ElasticEvalsClient.__init__. TracingConfig.enabled already exists as the opt-out: setting ELASTIC_EVALS_TRACING_ENABLED=false in the environment disables tracing before the client is constructed. No new API parameter is needed.
Done when
Summary
init_tracing()is never called by the SDK. Without it, every ingested score hastrace_id=null, and every Kibana evaluator short-circuits tolabel="unavailable". Running an experiment with default settings produces no usable evaluation results.Problem
init_tracing()is only called in example scripts, never fromrun_experiment()evaluators/kibana.py:226-231returns"unavailable"whentrace_idis NoneFix
Call
init_tracing(config.tracing)automatically inElasticEvalsClient.__init__.TracingConfig.enabledalready exists as the opt-out: settingELASTIC_EVALS_TRACING_ENABLED=falsein the environment disables tracing before the client is constructed. No new API parameter is needed.Done when
run_experiment()without callinginit_tracing()first does not producetrace_id=nullscoresELASTIC_EVALS_TRACING_ENABLED=false) is documented