Skip to main content

Env var reference

Complete list. See Environment variables for where to set them and how precedence works. The HERMES_OTEL_* table is generated from HermesOtelConfig by scripts/gen_config_docs.py; a test fails if it drifts.

Backend selection​

VarValueEffect
LANGSMITH_TRACINGtrue/falseEnables LangSmith backend
LANGSMITH_API_KEYlsv2_...LangSmith auth
LANGSMITH_ENDPOINTURLLangSmith endpoint (default: https://api.smith.langchain.com)
LANGSMITH_PROJECTstringLangSmith project name
LANGSMITH_WORKSPACE_IDstringLangSmith workspace id header (multi-workspace orgs)
OTEL_LANGFUSE_PUBLIC_API_KEYpk-lf-...Langfuse public key (plugin-specific)
OTEL_LANGFUSE_SECRET_API_KEYsk-lf-...Langfuse secret key (plugin-specific)
OTEL_LANGFUSE_ENDPOINTURLLangfuse OTLP endpoint
LANGFUSE_PUBLIC_KEYpk-lf-...Langfuse public key (SDK-standard fallback; does not enable Langfuse in env-var mode on its own)
LANGFUSE_SECRET_KEYsk-lf-...Langfuse secret key (SDK-standard)
LANGFUSE_BASE_URLURLLangfuse base URL (SDK-standard)
OTEL_SIGNOZ_ENDPOINTURLSigNoz OTLP endpoint (self-host: http://localhost:4328/v1/traces)
OTEL_SIGNOZ_INGESTION_KEYsz-...SigNoz Cloud ingestion key
OTEL_JAEGER_ENDPOINTURLJaeger OTLP endpoint (http://localhost:4318/v1/traces)
OTEL_TEMPO_ENDPOINTURLTempo OTLP endpoint
OTEL_PHOENIX_ENDPOINTURLPhoenix OTLP endpoint (http://localhost:6006/v1/traces)
OTEL_UPTRACE_ENDPOINTURLUptrace OTLP endpoint; enables Uptrace in env-var mode
OTEL_UPTRACE_DSN / UPTRACE_DSNDSNUptrace DSN (uptrace-dsn header)
OTEL_OPENOBSERVE_ENDPOINTURLOpenObserve .../api/<org>/v1/traces; enables OpenObserve in env-var mode
OTEL_OPENOBSERVE_USER / OPENOBSERVE_USERstringOpenObserve Basic-auth user
OTEL_OPENOBSERVE_PASSWORD / OPENOBSERVE_PASSWORDstringOpenObserve Basic-auth password
OTEL_OPENOBSERVE_STREAMstringOptional OpenObserve stream name
OTEL_PARSEABLE_ENDPOINTURLParseable ingestor .../v1/traces; enables Parseable in env-var mode
OTEL_PARSEABLE_API_KEY / PARSEABLE_API_KEYstringParseable API key
PARSEABLE_TRACES_DATASET / PARSEABLE_METRICS_DATASET / PARSEABLE_LOGS_DATASETstringParseable dataset per signal (defaults hermes-traces / hermes-metrics / hermes-logs)
OTEL_ELASTIC_ENDPOINTURLElastic OTLP endpoint (Elastic Cloud mOTLP or EDOT Collector); enables Elastic in env-var mode
OTEL_ELASTIC_API_KEYstringElastic API key (Authorization: ApiKey); needs OTEL_ELASTIC_ENDPOINT to enable Elastic in env-var mode (there is no default host)
ELASTIC_API_KEYstringElastic API key fallback; does not enable Elastic in env-var mode on its own
OTEL_OPENLIT_ENDPOINTURLOpenLIT OTLP/HTTP receiver base (http://localhost:4338 for the bundled stack); enables OpenLIT in env-var mode
OTEL_OPENLIT_API_KEYstringOpenLIT API key (Authorization: Bearer); optional, needs OTEL_OPENLIT_ENDPOINT to enable OpenLIT in env-var mode
OPENLIT_API_KEYstringOpenLIT API key fallback; does not enable OpenLIT in env-var mode on its own
OTEL_MLFLOW_ENDPOINTURLMLflow tracking server (http://localhost:5001 for the bundled stack); enables MLflow in env-var mode
OTEL_MLFLOW_EXPERIMENT_ID / MLFLOW_EXPERIMENT_IDstringExperiment for the mandatory x-mlflow-experiment-id header (default 0, the Default experiment)
OTEL_MLFLOW_API_KEY / MLFLOW_TRACKING_TOKENstringTracking token (Authorization: Bearer); optional, does not enable MLflow on its own
OTEL_OPIK_ENDPOINTURLOpik base URL (http://localhost:5173 for the bundled stack; default Comet cloud); enables Opik in env-var mode
OTEL_OPIK_API_KEYstringOpik API key (bare Authorization header); enables Opik in env-var mode (cloud default host)
OPIK_API_KEY / OPIK_URL_OVERRIDE / OPIK_WORKSPACE / OPIK_PROJECT_NAMEstringOpik SDK variables used as fallbacks for the key, base URL, Comet-Workspace and projectName; never enable export on their own
OTEL_LAMINAR_API_KEYstringLaminar project API key (Authorization: Bearer); enables Laminar in env-var mode (cloud default host)
OTEL_LAMINAR_ENDPOINTURLLaminar app-server base (http://localhost:8100 for the bundled stack); needs a key to resolve
LMNR_PROJECT_API_KEY / LMNR_BASE_URLstringLaminar SDK variables used as fallbacks for the key and base URL; never enable export on their own
OTEL_LANGWATCH_API_KEYstringLangWatch project API key (sk-lw-…, Authorization: Bearer); enables LangWatch in env-var mode (cloud default host)
OTEL_LANGWATCH_ENDPOINTURLLangWatch base (http://localhost:5560 for the bundled stack); needs a key to resolve
LANGWATCH_API_KEY / LANGWATCH_ENDPOINT / LANGWATCH_PROJECT_IDstringLangWatch SDK variables used as fallbacks for the key, base URL and X-Project-Id; never enable export on their own
OTEL_LATITUDE_API_KEYstringLatitude API key (Authorization: Bearer); enables Latitude in env-var mode together with LATITUDE_PROJECT (cloud default host)
OTEL_LATITUDE_ENDPOINTURLLatitude ingest base (http://localhost:3002 for the bundled stack); needs a key and project to resolve
LATITUDE_API_KEY / LATITUDE_PROJECT / LATITUDE_INGEST_URLstringLatitude variables used for the key, the mandatory X-Latitude-Project slug and the ingest URL; never enable export on their own
OTEL_HONEYCOMB_API_KEYhcaik_...Honeycomb ingest key (x-honeycomb-team); enables Honeycomb in env-var mode
HONEYCOMB_API_KEYhcaik_...Honeycomb key fallback; does not enable Honeycomb in env-var mode on its own
OTEL_HONEYCOMB_ENDPOINTURLHoneycomb endpoint override (default: US region)
OTEL_WEAVE_API_KEYstringW&B API key (plugin-specific); enables Weave in env-var mode when routing vars are also set
WANDB_API_KEYstringW&B API key fallback; does not enable Weave in env-var mode on its own
WANDB_ENTITYstringW&B entity/team for Weave routing (wandb.entity)
WANDB_PROJECTstringW&B project for Weave routing (wandb.project)
DEFAULT_WANDB_ENTITYstringWeave entity fallback, useful with an OTel Collector
DEFAULT_WANDB_PROJECTstringWeave project fallback, useful with an OTel Collector
OTEL_WEAVE_ENDPOINTURLFull Weave OTLP traces endpoint override
WANDB_OTLP_ENDPOINTURLWeave OTLP endpoint alias used by W&B docs
OTEL_WEAVE_BASE_URLURLW&B base URL; plugin appends the trace ingest path
WANDB_BASE_URLURLW&B base URL alias for Dedicated Cloud / Self-Managed
OTEL_PROJECT_NAMEstringopeninference.project.name on the Resource (the Phoenix project). service.name is always hermes-agent; override it with resource_attributes:

HERMES_OTEL_* overrides​

Every scalar field of the config file can be overridden by HERMES_OTEL_<FIELD> (upper-case field name). Maps (headers, global_tags, resource_attributes) and backends are yaml-only. An env var that cannot be parsed as the field's type logs a warning and is ignored.

Env varMaps toTypeDefault
HERMES_OTEL_ENABLEDenabledbooltrue
HERMES_OTEL_SAMPLE_RATEsample_ratefloatnull
HERMES_OTEL_ROOT_SPAN_TTL_MSroot_span_ttl_msint600000
HERMES_OTEL_FLUSH_INTERVAL_MSflush_interval_msint60000
HERMES_OTEL_PREVIEW_MAX_CHARSpreview_max_charsint1200
HERMES_OTEL_CAPTURE_PREVIEWScapture_previewsbooltrue
HERMES_OTEL_TOOL_INPUT_PREVIEW_MAX_CHARStool_input_preview_max_charsintnull
HERMES_OTEL_TOOL_OUTPUT_PREVIEW_MAX_CHARStool_output_preview_max_charsintnull
HERMES_OTEL_LLM_INPUT_PREVIEW_MAX_CHARSllm_input_preview_max_charsintnull
HERMES_OTEL_LLM_OUTPUT_PREVIEW_MAX_CHARSllm_output_preview_max_charsintnull
HERMES_OTEL_PROJECT_NAMEproject_namestring(unset)
HERMES_OTEL_SPAN_BATCH_MAX_QUEUE_SIZEspan_batch_max_queue_sizeint2048
HERMES_OTEL_SPAN_BATCH_SCHEDULE_DELAY_MSspan_batch_schedule_delay_msint1000
HERMES_OTEL_SPAN_BATCH_MAX_EXPORT_BATCH_SIZEspan_batch_max_export_batch_sizeintnull
HERMES_OTEL_SPAN_BATCH_EXPORT_TIMEOUT_MSspan_batch_export_timeout_msint30000
HERMES_OTEL_FORCE_FLUSH_ON_SESSION_ENDforce_flush_on_session_endbooltrue
HERMES_OTEL_FORCE_FLUSH_WAIT_MSforce_flush_wait_msint1500
HERMES_OTEL_CAPTURE_CONVERSATION_HISTORYcapture_conversation_historyboolfalse
HERMES_OTEL_CONVERSATION_HISTORY_MAX_CHARSconversation_history_max_charsint20000
HERMES_OTEL_CONTENT_CAPTUREcontent_capturestring"full"
HERMES_OTEL_CAPTURE_FULL_PROMPTScapture_full_promptsbooltrue
HERMES_OTEL_CAPTURE_FULL_RESPONSEScapture_full_responsesbooltrue
HERMES_OTEL_CAPTURE_SENDER_IDcapture_sender_idboolfalse
HERMES_OTEL_CAPTURE_LOGScapture_logsboolfalse
HERMES_OTEL_LOG_LEVELlog_levelstring"INFO"
HERMES_OTEL_LOG_ATTACH_LOGGERlog_attach_loggerstring(unset)
HERMES_OTEL_LOG_ONLY_IN_TURNlog_only_in_turnboolfalse
HERMES_OTEL_LOG_MAX_ATTRIBUTE_LENGTHlog_max_attribute_lengthint4096
HERMES_OTEL_LOG_BATCH_SCHEDULE_DELAY_MSlog_batch_schedule_delay_msint1000
HERMES_OTEL_LOG_BATCH_MAX_QUEUE_SIZElog_batch_max_queue_sizeint2048
HERMES_OTEL_LOG_BATCH_MAX_EXPORT_BATCH_SIZElog_batch_max_export_batch_sizeint512
HERMES_OTEL_LOG_BATCH_EXPORT_TIMEOUT_MSlog_batch_export_timeout_msint30000
HERMES_OTEL_LOG_LIVE_MIN_LEVELlog_live_min_levelstring"INFO"
HERMES_OTEL_LOG_EVENTSlog_eventsboolfalse
HERMES_OTEL_LOG_EVENTS_CONTENTlog_events_contentstring"inherit"
HERMES_OTEL_EMIT_GENAI_METRICSemit_genai_metricsbooltrue
HERMES_OTEL_METRICS_TEMPORALITYmetrics_temporalitystring(unset)
HERMES_OTEL_METRICS_HISTOGRAMmetrics_histogramstring"explicit"
HERMES_OTEL_METRICS_LABEL_LIMITmetrics_label_limitint100
HERMES_OTEL_SKILL_SPANSskill_spansbooltrue
HERMES_OTEL_DISCOVERY_PROMPTdiscovery_promptboolfalse
HERMES_OTEL_DASHBOARD_LIVEdashboard_livebooltrue
HERMES_OTEL_DASHBOARD_LIVE_MAX_SPANSdashboard_live_max_spansint1000
HERMES_OTEL_DASHBOARD_LIVE_RETENTION_HOURSdashboard_live_retention_hoursfloat168.0
HERMES_OTEL_HOST_METRICShost_metricsboolfalse
HERMES_OTEL_HOST_METRICS_GPUhost_metrics_gpustring"auto"
HERMES_OTEL_HOST_METRICS_INTERVAL_MShost_metrics_interval_msint1000
HERMES_OTEL_SUPPRESS_MCP_PING_SPANSsuppress_mcp_ping_spansbooltrue

Paths​

VarEffect
HERMES_OTEL_CONFIGExplicit path to the config file; highest precedence — see Where does the config live?
HERMES_HOMEHermes' home (default ~/.hermes); the plugin resolves hermes_otel.yaml, the live store and the debug log under it. Inside a multiplexed gateway each profile's plugin uses that profile's home instead, via Hermes's own resolver (profiles)
HERMES_OTEL_LIVE_DBPath of the live dashboard's SQLite store (default $HERMES_HOME/hermes_otel_live.db)

Debug​

VarValueEffect
HERMES_OTEL_DEBUGtrue/falseEnables the debug log at $HERMES_HOME/plugins/hermes_otel/debug.log (~/.hermes by default)

Boolean accepted values​

TrueFalse
true / 1 / yes / onfalse / 0 / no / off / ""

Case-insensitive. Anything else logs a warning naming the variable and is ignored (the yaml value or default is kept).