Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.
Online evaluations run your evaluators automatically on ingested traces. This gives you continuous quality scores alongside your cost and latency metrics, without adding latency to your application.
LLM evaluator configuration with event filters, sampling percentage, and prompt editor
3
Enable the evaluator
Toggle the Enabled switch in the evaluators table. This tells HoneyHive to run this evaluator on all matching traces.
4
Set a sampling percentage
Set the Sampling percentage to control what fraction of matching events get evaluated (e.g., 25%). This controls cost for LLM-based evaluators at high volumes.
Each evaluator has event filters that determine which traces it runs on. You can filter by event type, event name, and any event property from your schema. For example, you might run a hallucination evaluator only on model events named generate_response, or add a filter like metadata.environment is production to limit evaluation to specific contexts.See Event Filters for the full list of supported filter options and operators (which vary by field type).
Use client-side evaluators for checks that need to happen during execution (guardrails, blocking unsafe responses). Use online evaluations for quality scoring that can happen asynchronously.
Check event filters: Verify the evaluator’s event type and event name filters match your traces. Filters are AND-ed, so all conditions must match.
Check enabled status: The evaluator must be toggled Enabled in the evaluators table.
Check sampling: At low sampling percentages, some matching events are intentionally skipped. Increase sampling to verify the evaluator works, then reduce.
Check event properties: Property-based filters use dot-path matching (e.g. metadata.environment). Verify the property exists on your events and the value matches.
If an evaluator fails 100+ times within 1 hour, HoneyHive automatically disables it and creates a version snapshot. This prevents a broken evaluator from consuming resources across all your traces.To recover:
Go to the Evaluators table and find the disabled evaluator
Check the error by running the evaluator manually against a sample event
Create code-based evaluators for programmatic checks
LLM Evaluators
Use LLMs to score quality, relevance, and tone
Evaluator Templates
Start from ready-made Python, LLM, and conversation templates
Custom Charts
Visualize evaluator scores in dashboards
Alerts
Get notified when quality metrics drop
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"HoneyHive AI Docs","description":"AI observability and evaluation platform. Trace, evaluate, monitor, and improve AI agents and LLM applications.","colors":{"primary":"#A56311","light":"#E8A23D","dark":"#A56311"},"logo":{"light":"https://mintcdn.com/honeyhiveai/lWy7JAPdMsmL06l1/logo/light.svg?fit=max\u0026auto=format\u0026n=lWy7JAPdMsmL06l1\u0026q=85\u0026s=419c99bb22ce1e89ae8fb4a87c589528","dark":"https://mintcdn.com/honeyhiveai/lWy7JAPdMsmL06l1/logo/dark.svg?fit=max\u0026auto=format\u0026n=lWy7JAPdMsmL06l1\u0026q=85\u0026s=2cee835bc5438cd29005218a18e0168b"},"favicon":{"light":"https://mintcdn.com/honeyhiveai/W7aN2oGPMTbOQxZv/images/favicon.svg?fit=max\u0026auto=format\u0026n=W7aN2oGPMTbOQxZv\u0026q=85\u0026s=1c201da27b06120f1c630bf53ad1a831","dark":"https://mintcdn.com/honeyhiveai/W7aN2oGPMTbOQxZv/images/favicon-dark.svg?fit=max\u0026auto=format\u0026n=W7aN2oGPMTbOQxZv\u0026q=85\u0026s=01cb0bffc66454f0e19853e701832110"},"api":{"openapi":["output.yaml","https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/data_plane_openapi.yaml","https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/control_plane_openapi.yaml"],"mdx":{"auth":{"method":"key","name":"key"},"server":"https://api.dp1.us.honeyhive.ai"}},"appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#101010"}},"navbar":{"links":[{"href":"https://discord.gg/vqctGpqA97","label":"Community"}],"primary":{"type":"button","label":"Log In","href":"https://app.us.honeyhive.ai"}},"footer":{"socials":{"x":"https://x.com/honeyhiveai","linkedin":"https://www.linkedin.com/company/honeyhive-ai","github":"https://github.com/honeyhiveai"},"links":[{"header":"Resources","items":[{"label":"Quickstart","href":"https://docs.honeyhive.ai/v2/introduction/tracing-quickstart"},{"label":"SDK Reference","href":"https://docs.honeyhive.ai/v2/sdk-reference/overview"},{"label":"API Reference","href":"https://docs.honeyhive.ai/v2/api-reference-autogen/sessions/start-a-new-session"},{"label":"Integrations","href":"https://docs.honeyhive.ai/v2/integrations/openai"},{"label":"Changelog","href":"https://docs.honeyhive.ai/v2/changelog/product"}]},{"header":"Explore","items":[{"label":"Sign Up","href":"https://app.us.honeyhive.ai"},{"label":"Pricing","href":"https://www.honeyhive.ai/pricing"},{"label":"Blog","href":"https://honeyhive.ai/blog"}]},{"header":"Platform","items":[{"label":"Observability","href":"https://honeyhive.ai/observability"},{"label":"Evaluation","href":"https://honeyhive.ai/evaluation"},{"label":"Prompt Management","href":"https://honeyhive.ai/playground"}]},{"header":"Legal","items":[{"label":"Terms of Service","href":"https://honeyhive.ai/terms"},{"label":"Privacy Policy","href":"https://honeyhive.ai/privacy"}]}]},"search":{"prompt":"Search or ask AI..."},"seo":{"metatags":{"og:site_name":"HoneyHive AI Docs"},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_CtmMXHNhIs1Iem8viAsXYH7lB0aaj4X2nCrCunPqDbF","sessionRecording":false},"telemetry":{"enabled":true}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode",{"title":"Join Discord","description":"Get help from the HoneyHive community","icon":"discord","href":"https://discord.gg/vqctGpqA97"}],"display":"header"},"styling":{"latex":false},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"honeyhiveai","hasAudioNarration":false,"actualSubdomain":"honeyhiveai","customDomains":["docs.honeyhive.ai"],"gitSource":{"type":"github","owner":"honeyhiveai","repo":"honeyhive-ai-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"issues":false,"edits":false,"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee1313a829c37e3ffc25d8","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"v2","count":395},{"language":"default","tag":"SDK Reference","count":175},{"language":"default","tag":"Reference","count":172},{"language":"default","tag":"TypeScript API SDK","count":114},{"language":"default","tag":"Documentation","count":91},{"language":"default","tag":"API Reference","count":71},{"language":"default","tag":"Data Plane API","count":51},{"language":"default","tag":"TypeScript Control Plane SDK","count":50},{"language":"default","tag":"Experiments","count":40},{"language":"default","tag":"Integrations","count":34}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@honeyhive.ai"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".update-container .hh-update-entry:first-child>h2{margin-top:0}"}],"page":{"pagePath":"v2/monitoring/onlineevals","slug":"/v2/monitoring/onlineevals","pageMetadata":{"title":"Online Evaluations","description":"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.","href":"/v2/monitoring/onlineevals"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Online evaluations run your `,_jsx(_components.a,{href:`/v2/evaluators/introduction`,children:`evaluators`}),` automatically on ingested traces. This gives you continuous quality scores alongside your cost and latency metrics, without adding latency to your application.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How It Works`}),`\n`,_jsx(_components.p,{children:`When you enable an evaluator, HoneyHive runs it asynchronously on incoming traces:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Your application sends traces to HoneyHive`}),`\n`,_jsxs(_components.li,{children:[`HoneyHive matches traces against your evaluator’s `,_jsx(_components.a,{href:`#event-filters`,children:`event filters`})]}),`\n`,_jsxs(_components.li,{children:[`Matching events are evaluated (subject to your `,_jsx(_components.a,{href:`#sampling`,children:`sampling rate`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Results appear as metrics in your `,_jsx(_components.a,{href:`/v2/monitoring/charts`,children:`dashboard`}),` and on individual traces`]}),`\n`]}),`\n`,_jsx(Note,{children:`Online evaluations run on all ingested traces that match your evaluator’s event filters, including both production and experiment traces.`}),`\n`,_jsx(Heading,{level:`2`,id:`enabling-online-evaluation`,children:`Enabling Online Evaluation`}),`\n`,_jsx(_components.p,{children:`You can enable online evaluation on any server-side evaluator (Python or LLM):`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Go to the Evaluators page`,children:_jsxs(_components.p,{children:[`Navigate to the `,_jsx(_components.a,{href:`https://app.us.honeyhive.ai/metrics`,children:_jsx(_components.strong,{children:`Evaluators`})}),` tab in HoneyHive.`]})}),_jsxs(Step,{title:`Create or select an evaluator`,children:[_jsxs(_components.p,{children:[`Create a new `,_jsx(_components.a,{href:`/v2/evaluators/python`,children:`Python`}),` or `,_jsx(_components.a,{href:`/v2/evaluators/llm`,children:`LLM`}),` evaluator, select an existing one, or start from a `,_jsx(_components.a,{href:`/v2/evaluators/evaluator-templates`,children:`ready-made template`}),`. For multi-turn agents, try the `,_jsx(_components.a,{href:`/v2/evaluators/evaluator-templates#conversation-evaluator-templates`,children:`conversation evaluator templates`}),`. Configure event filters, return type, and evaluation logic.`]}),_jsx(Frame,{caption:`LLM evaluator configuration with event filters, sampling percentage, and prompt editor`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=01cc471bc2e45ffa063e5ab7a8fe26b9`,alt:`HoneyHive LLM evaluator editor showing event filters set to model type, OpenAI gpt-4o provider, evaluation prompt with template syntax, sampling percentage, and return type configuration`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1568`,height:`1568`,\"data-path\":`images/product-llm.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=280\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=63a35cb30aeaddc303a26039f7a85102 280w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=560\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=2b1354701c966829f441d635bcdc3e5e 560w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=840\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=516bb5a41a4aac9deeddcc1a24f8e0ff 840w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=1100\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=71ae8d565a4819d4006d9644c19c7cf7 1100w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=1650\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=ad3bdfb56064530a7a2d9df6c47a5cc0 1650w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-llm.png?w=2500\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=37ebfe520286a5242956daa44278f0d8 2500w`})})]}),_jsx(Step,{title:`Enable the evaluator`,children:_jsxs(_components.p,{children:[`Toggle the `,_jsx(_components.strong,{children:`Enabled`}),` switch in the evaluators table. This tells HoneyHive to run this evaluator on all matching traces.`]})}),_jsx(Step,{title:`Set a sampling percentage`,children:_jsxs(_components.p,{children:[`Set the `,_jsx(_components.strong,{children:`Sampling percentage`}),` to control what fraction of matching events get evaluated (e.g., 25%). This controls cost for LLM-based evaluators at high volumes.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`event-filters`,children:`Event Filters`}),`\n`,_jsxs(_components.p,{children:[`Each evaluator has event filters that determine which traces it runs on. You can filter by event type, event name, and any event property from your schema. For example, you might run a hallucination evaluator only on `,_jsx(_components.code,{children:`model`}),` events named `,_jsx(_components.code,{children:`generate_response`}),`, or add a filter like `,_jsx(_components.code,{children:`metadata.environment is production`}),` to limit evaluation to specific contexts.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/v2/evaluators/llm#event-filters`,children:`Event Filters`}),` for the full list of supported filter options and operators (which vary by field type).`]}),`\n`,_jsx(Heading,{level:`2`,id:`sampling`,children:`Sampling`}),`\n`,_jsx(_components.p,{children:`LLM-based evaluators incur model costs for every evaluation. At production scale, use sampling to control spend:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Volume`}),_jsx(_components.th,{children:`Suggested Sampling`}),_jsx(_components.th,{children:`Rationale`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`\u003c 1K events/day`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100%`}),_jsx(_components.td,{children:`Full coverage is affordable`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`1K - 10K events/day`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`25 - 50%`}),_jsx(_components.td,{children:`Good signal with moderate cost`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`10K+ events/day`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 - 25%`}),_jsx(_components.td,{children:`Statistical significance with controlled spend`})]})]})]}),`\n`,_jsx(Tip,{children:`Python evaluators are much cheaper to run than LLM evaluators. You can often run Python evaluators at 100% sampling even at high volumes.`}),`\n`,_jsx(Heading,{level:`2`,id:`viewing-results`,children:`Viewing Results`}),`\n`,_jsx(_components.p,{children:`Online evaluation results are available in two places:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Dashboard charts`}),`: Select your evaluator as a metric in `,_jsx(_components.a,{href:`/v2/monitoring/charts`,children:`Custom Charts`}),` to track quality over time, group by properties, and set up `,_jsx(_components.a,{href:`/v2/monitoring/alerts/alerts_overview`,children:`alerts`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Individual traces`}),`: Each evaluated trace shows its evaluator scores alongside inputs, outputs, and other metadata`]}),`\n`]}),`\n`,_jsx(Frame,{caption:`Dashboard with evaluator metrics like Search Relevance and Agent Execution Quality charted over time`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=a96b23c318597e7650d96ca6151e1892`,alt:`HoneyHive monitoring dashboard showing charts for session duration, LLM call duration, token usage, and custom evaluator metrics like Search Relevance and Agent Execution Quality`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1566`,height:`1566`,\"data-path\":`images/product-dashboard.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=280\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=d31d4e1201de34eafe0e862ee7343413 280w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=560\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=049e678010841d43fc1c2cb85122c6fe 560w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=840\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=120e2ca71f89ca3964e849ab796bec01 840w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=1100\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=a9787a629732e3f3140eeef3aecf0309 1100w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=1650\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=f913a02e4a701c4f8ef2bbf690d24680 1650w, https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-dashboard.png?w=2500\u0026fit=max\u0026auto=format\u0026n=EWG3R5yYrwNnHjQ7\u0026q=85\u0026s=c604e099349cc26f65669fdd654eb577 2500w`})}),`\n`,_jsx(_components.p,{children:`You can also use the Discover view to build custom queries on evaluator scores, filter by source, and drill into individual events.`}),`\n`,_jsx(Frame,{caption:`Charting a Search Relevance evaluator score in the Discover view, grouped by source`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=98598eab2ff48ede9fc4c502a43c99d8`,alt:`HoneyHive Discover view showing a Search Relevance evaluator metric charted over time for a tool_search_web event, grouped by source`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1556`,height:`1556`,\"data-path\":`images/monitoringquery.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=280\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=a1f4016802620d59af9f8ae001131b08 280w, https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=560\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=03be22d801e0c4e7ef5425df94a11f3b 560w, https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=840\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=6890bbd00c330acd7f1490df5b838f6e 840w, https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=a6c069a3bc7d84694a4b627a45217130 1100w, https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=7b75db5cf550b5201bcde27ce1caa16d 1650w, https://mintcdn.com/honeyhiveai/9BxiwYxg7j6yRoey/images/monitoringquery.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9BxiwYxg7j6yRoey\u0026q=85\u0026s=f0d61f679e24ed6afa3ceae1cc2385db 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`choosing-between-client-side-and-server-side`,children:`Choosing Between Client-Side and Server-Side`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Client-Side`}),_jsx(_components.th,{children:`Server-Side (Online)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Runs`})}),_jsx(_components.td,{children:`In your application`}),_jsx(_components.td,{children:`On HoneyHive after ingestion`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Latency impact`})}),_jsx(_components.td,{children:`Adds to request time`}),_jsx(_components.td,{children:`None`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Best for`})}),_jsx(_components.td,{children:`Guardrails, format checks, PII detection`}),_jsx(_components.td,{children:`LLM-as-judge, complex quality scoring`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Managed in`})}),_jsx(_components.td,{children:`Your code`}),_jsx(_components.td,{children:`HoneyHive UI`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.a,{href:`/v2/evaluators/client_side`,children:`client-side evaluators`}),` for checks that need to happen during execution (guardrails, blocking unsafe responses). Use online evaluations for quality scoring that can happen asynchronously.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Heading,{level:`3`,id:`evaluator-not-running-on-expected-events`,children:`Evaluator not running on expected events`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check event filters`}),`: Verify the evaluator’s event type and event name filters match your traces. Filters are AND-ed, so all conditions must match.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check enabled status`}),`: The evaluator must be toggled `,_jsx(_components.strong,{children:`Enabled`}),` in the evaluators table.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check sampling`}),`: At low sampling percentages, some matching events are intentionally skipped. Increase sampling to verify the evaluator works, then reduce.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check event properties`}),`: Property-based filters use dot-path matching (e.g. `,_jsx(_components.code,{children:`metadata.environment`}),`). Verify the property exists on your events and the value matches.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`evaluator-was-auto-disabled`,children:`Evaluator was auto-disabled`}),`\n`,_jsx(_components.p,{children:`If an evaluator fails 100+ times within 1 hour, HoneyHive automatically disables it and creates a version snapshot. This prevents a broken evaluator from consuming resources across all your traces.`}),`\n`,_jsx(_components.p,{children:`To recover:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to the `,_jsx(_components.strong,{children:`Evaluators`}),` table and find the disabled evaluator`]}),`\n`,_jsx(_components.li,{children:`Check the error by running the evaluator manually against a sample event`}),`\n`,_jsx(_components.li,{children:`Fix the evaluation logic`}),`\n`,_jsx(_components.li,{children:`Re-enable the evaluator`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`results-not-appearing-on-traces`,children:`Results not appearing on traces`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Evaluations run asynchronously after ingestion. There is a short delay before scores appear.`}),`\n`,_jsx(_components.li,{children:`Check the evaluator’s return type matches your expected output (boolean, numeric, or string).`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Python Evaluators`,icon:`python`,href:`/v2/evaluators/python`,children:_jsx(_components.p,{children:`Create code-based evaluators for programmatic checks`})}),_jsx(Card,{title:`LLM Evaluators`,icon:`robot`,href:`/v2/evaluators/llm`,children:_jsx(_components.p,{children:`Use LLMs to score quality, relevance, and tone`})}),_jsx(Card,{title:`Evaluator Templates`,icon:`copy`,href:`/v2/evaluators/evaluator-templates`,children:_jsx(_components.p,{children:`Start from ready-made Python, LLM, and conversation templates`})}),_jsx(Card,{title:`Custom Charts`,icon:`chart-simple`,href:`/v2/monitoring/charts`,children:_jsx(_components.p,{children:`Visualize evaluator scores in dashboards`})}),_jsx(Card,{title:`Alerts`,icon:`bell`,href:`/v2/monitoring/alerts/alerts_overview`,children:_jsx(_components.p,{children:`Get notified when quality metrics drop`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Online Evaluations","description":"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.","href":"/v2/monitoring/onlineevals"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How It Works","slug":"how-it-works","depth":2,"children":[]},{"title":"Enabling Online Evaluation","slug":"enabling-online-evaluation","depth":2,"children":[]},{"title":"Event Filters","slug":"event-filters","depth":2,"children":[]},{"title":"Sampling","slug":"sampling","depth":2,"children":[]},{"title":"Viewing Results","slug":"viewing-results","depth":2,"children":[]},{"title":"Choosing Between Client-Side and Server-Side","slug":"choosing-between-client-side-and-server-side","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"Evaluator not running on expected events","slug":"evaluator-not-running-on-expected-events","depth":3,"children":[]},{"title":"Evaluator was auto-disabled","slug":"evaluator-was-auto-disabled","depth":3,"children":[]},{"title":"Results not appearing on traces","slug":"results-not-appearing-on-traces","depth":3,"children":[]}]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/honeyhiveai/295d4d275d20dba2/leadfeeder.js"],"subdomain":"honeyhiveai","siteName":"HoneyHive AI Docs","title":"Online Evaluations - HoneyHive AI Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-03T16:29:14.030Z","originalFileLocation":"v2/monitoring/onlineevals.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\">\u003cmeta data-mint-head name=\"application-name\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Online Evaluations - HoneyHive AI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.honeyhive.ai/v2/monitoring/onlineevals\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://honeyhiveai.mintlify.site/_mintlify/api/og/v2?division=Monitoring\u0026amp;title=Online+Evaluations\u0026amp;description=Configure+HoneyHive+online+evaluations+to+score+production+traces+automatically+with+code+or+LLM+judges+and+surface+quality+drift+on+your+dashboard.\u0026amp;theme=5d33c6c4b6bf57211dea5b47\u0026amp;signature=6471f3a154978417ddc7e6e23fafe9ad4e41ef92463eae7782a4d23a3be428f1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Online Evaluations - HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://honeyhiveai.mintlify.site/_mintlify/api/og/v2?division=Monitoring\u0026amp;title=Online+Evaluations\u0026amp;description=Configure+HoneyHive+online+evaluations+to+score+production+traces+automatically+with+code+or+LLM+judges+and+surface+quality+drift+on+your+dashboard.\u0026amp;theme=5d33c6c4b6bf57211dea5b47\u0026amp;signature=6471f3a154978417ddc7e6e23fafe9ad4e41ef92463eae7782a4d23a3be428f1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/honeyhiveai/XiZ-DZ6IaFrWYjlm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HoneyHive AI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A56311\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.honeyhive.ai/v2/monitoring/onlineevals\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/monitoring/onlineevals.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.honeyhive.ai/#organization\",\"name\":\"HoneyHive AI Docs\",\"url\":\"https://docs.honeyhive.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/honeyhiveai/lWy7JAPdMsmL06l1/logo/light.svg?fit=max\u0026auto=format\u0026n=lWy7JAPdMsmL06l1\u0026q=85\u0026s=419c99bb22ce1e89ae8fb4a87c589528\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.honeyhive.ai#website\",\"name\":\"HoneyHive AI Docs\",\"url\":\"https://docs.honeyhive.ai\",\"publisher\":{\"@id\":\"https://docs.honeyhive.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals#webpage\",\"url\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals\",\"name\":\"Online Evaluations\",\"description\":\"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\",\"dateModified\":\"2026-07-03T16:29:14.030Z\",\"isPartOf\":{\"@id\":\"https://docs.honeyhive.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Observability\",\"item\":\"https://docs.honeyhive.ai/v2/tracing/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitoring\",\"item\":\"https://docs.honeyhive.ai/v2/monitoring/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Online Evaluations\",\"item\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals#article\",\"headline\":\"Online Evaluations\",\"name\":\"Online Evaluations\",\"description\":\"Configure HoneyHive online evaluations to score production traces automatically with code or LLM judges and surface quality drift on your dashboard.\",\"url\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals\",\"mainEntityOfPage\":{\"@id\":\"https://docs.honeyhive.ai/v2/monitoring/onlineevals#webpage\"},\"dateModified\":\"2026-07-03T16:29:14.030Z\",\"publisher\":{\"@id\":\"https://docs.honeyhive.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.honeyhive.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HoneyHive AI Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"HoneyHive AI Docs","nav":{"global":{},"products":[{"product":"v2","icon":"hive","description":"The next generation of HoneyHive.","tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Introducing HoneyHive","sidebarTitle":"Introduction","icon":"square-info","href":"/v2/introduction/what-is-hhai"},{"group":"Getting Started","pages":[{"title":"How to Trace Your First Agent","sidebarTitle":"Log Your First Trace","icon":"rocket","href":"/v2/introduction/tracing-quickstart"},{"title":"How to Run Your First Experiment","sidebarTitle":"Run Your First Eval","icon":"flask","href":"/v2/introduction/experiments-quickstart"},{"title":"Use with Coding Agents","sidebarTitle":"Use with Coding Agents","icon":"robot","href":"/v2/introduction/ai-coding-agents"},{"title":"Troubleshooting \u0026 FAQs","icon":"square-question","href":"/v2/introduction/troubleshooting"}]},{"group":"Observability","pages":[{"group":"Tracing","icon":"list-tree","pages":[{"title":"AI Application Tracing with HoneyHive","sidebarTitle":"Introduction","href":"/v2/tracing/introduction"},{"title":"HoneyHive Tracing Concepts","sidebarTitle":"Concepts","href":"/v2/tracing/concepts"},{"title":"How to Create Custom Spans in HoneyHive","sidebarTitle":"Custom Spans","href":"/v2/tracing/custom-spans"},{"title":"How to Initialize the HoneyHive Tracer","sidebarTitle":"Tracer Initialization","href":"/v2/tracing/tracer-initialization"},{"group":"Enriching Traces","pages":[{"title":"How to Enrich Traces with Metadata and Metrics","sidebarTitle":"Overview","href":"/v2/tracing/enrich-traces"},{"title":"Schema Reference","href":"/v2/tracing/enrichment-schema"},{"title":"User Feedback","href":"/v2/tracing/setting-user-feedback"},{"title":"Custom Metrics","href":"/v2/tracing/client-side-evals"},{"title":"Configuration","href":"/v2/tracing/configuration-details"},{"title":"User Properties","href":"/v2/tracing/setting-user-properties"},{"title":"Online Experiments","href":"/v2/tracing/online-experimentation"}]},{"group":"Advanced Features","pages":[{"title":"How to Set Up Distributed Tracing","sidebarTitle":"Distributed Tracing","href":"/v2/tracing/distributed-tracing"},{"title":"How to Trace MCP Servers and Clients","sidebarTitle":"MCP (Model Context Protocol)","href":"/v2/tracing/mcp-tracing"},{"title":"Multi-Instance Tracing","href":"/v2/tracing/multi-instance"},{"title":"Multi-Provider Tracing","href":"/v2/tracing/multi-provider"},{"title":"Multi-Modal Tracing","href":"/v2/tracing/multi-modal"},{"title":"Multi-Threading (Python)","href":"/v2/tracing/multithreading"},{"title":"Sampling","href":"/v2/tracing/sampling"},{"title":"Span Filtering","href":"/v2/tracing/filtering"},{"title":"Tracing via API","href":"/v2/tracing/manual-instrumentation"}]},{"group":"Explore Trace Data","pages":[{"title":"Explore in UI","href":"/v2/tracing/ui-flows"},{"title":"Tree View","href":"/v2/tracing/tree-view"},{"title":"Timeline View","href":"/v2/tracing/timeline-view"},{"title":"Graph View","href":"/v2/tracing/graph-view"},{"title":"Trajectory View","href":"/v2/tracing/trajectory-view"},{"title":"Thread View","href":"/v2/tracing/thread-view"},{"title":"How to troubleshoot Conversation view","sidebarTitle":"Conversation View Troubleshooting","href":"/v2/tracing/conversation-view-troubleshooting"},{"title":"Session Aggregations","href":"/v2/tracing/aggregation-logic"}]},{"title":"Export Data","href":"/v2/tracing/query-data"}]},{"group":"Monitoring","icon":"chart-line","pages":[{"title":"Monitor AI Application Performance in HoneyHive","sidebarTitle":"Dashboard","href":"/v2/monitoring/overview"},{"title":"Custom Charts","description":"Build custom HoneyHive charts with the Discover interface to query traces, plot cost and latency trends, and save views to your project dashboard.","href":"/v2/monitoring/charts"},{"title":"Online Evaluations","href":"/v2/monitoring/onlineevals"}]},{"group":"Alerts","icon":"bell","pages":[{"title":"Overview","description":"Learn how HoneyHive alerts monitor LLM cost, latency, error rates, and evaluator scores, including alert types, states, and notification channels.","href":"/v2/monitoring/alerts/alerts_overview"},{"title":"Creating Alerts","href":"/v2/monitoring/alerts/alerts"}]}]},{"group":"Evaluation","pages":[{"group":"Experiments","icon":"clipboard-check","pages":[{"title":"AI Experiments and Evaluations in HoneyHive","sidebarTitle":"Introduction","href":"/v2/evaluation/introduction"},{"title":"Concepts","href":"/v2/evaluation/concepts"},{"title":"Comparing Experiments","href":"/v2/evaluation/comparing_evals"},{"title":"Sync Offline Evaluations","sidebarTitle":"Sync Offline Results","href":"/v2/evaluation/sync-offline-results"},{"title":"Experiments via API","href":"/v2/evaluation/via-api"},{"title":"CI Regression Detection","href":"/v2/evaluation/ci-regression-detection"}]},{"group":"Evaluators","icon":"user-check","pages":[{"title":"Introduction","href":"/v2/evaluators/introduction"},{"title":"Client-Side Evaluators","href":"/v2/evaluators/client_side"},{"group":"Server-Side Evaluators","pages":[{"title":"Python Evaluators","href":"/v2/evaluators/python"},{"title":"LLM Evaluators","href":"/v2/evaluators/llm"},{"group":"LLM Evaluation Providers","pages":[{"title":"Use Portkey for LLM Evaluators","href":"/v2/evaluators/portkey"}]},{"title":"Human Evaluators","href":"/v2/evaluators/human"},{"title":"Version Control","href":"/v2/evaluators/versioning"}]},{"title":"Evaluator Template List","href":"/v2/evaluators/evaluator-templates"}]},{"group":"Datasets","icon":"database","pages":[{"title":"Introduction","href":"/v2/datasets/introduction"},{"title":"Curate from Traces","href":"/v2/datasets/dataset-curation"},{"title":"Upload Datasets","href":"/v2/datasets/import"},{"title":"Run Experiments with HoneyHive Datasets","sidebarTitle":"Run with HoneyHive Datasets","href":"/v2/datasets/run-experiments"},{"title":"Sync from External Sources","href":"/v2/datasets/sync"},{"title":"Export Datasets","href":"/v2/datasets/export"},{"title":"Import from Hugging Face","href":"/v2/datasets/hf-datasets"}]},{"title":"Annotation Queues","icon":"user-check","href":"/v2/evaluation/annotation-queues"}]},{"group":"Prompt Management","pages":[{"title":"Managing Prompts","icon":"comment-dots","href":"/v2/prompts/overview"},{"title":"Using Prompts in Code","icon":"rocket","href":"/v2/prompts/deploy"}]},{"group":"Administration","pages":[{"group":"Organization","icon":"building","pages":[{"title":"Organization Hierarchy","icon":"sitemap","href":"/v2/workspace/organization-hierarchy"},{"title":"Managing Projects","icon":"boxes-stacked","href":"/v2/workspace/projects"},{"title":"Inviting Teammates","icon":"user-plus","href":"/v2/workspace/inviting-teammates"},{"title":"Role Based Access Control","icon":"user-shield","href":"/v2/workspace/roles"},{"title":"API Keys","icon":"key","href":"/v2/workspace/api-keys"},{"title":"How to create API keys programmatically","sidebarTitle":"Programmatic key creation","icon":"key","href":"/v2/workspace/api-keys/create-keys-programmatically"},{"title":"Identity Provider","icon":"user-lock","href":"/v2/workspace/identity-provider"},{"title":"Enterprise SSO on Multi-Tenant SaaS","icon":"id-badge","href":"/v2/workspace/enterprise-sso"},{"title":"SSO Group Role Mapping","icon":"users-gear","href":"/v2/workspace/sso-group-role-mapping"},{"title":"Provider Keys","icon":"key","href":"/v2/workspace/provider-keys"},{"title":"Templates","icon":"clone","href":"/v2/workspace/templates"},{"title":"Usage","href":"/v2/workspace/usage"}]},{"group":"Hosting Options","icon":"cloud","pages":[{"title":"Multi-Tenant SaaS","icon":"globe","href":"/v2/setup/managed"},{"title":"Dedicated Cloud","icon":"lock","href":"/v2/setup/dedicated"},{"group":"Self-Hosted","icon":"warehouse","pages":[{"title":"Self-Hosting Overview","sidebarTitle":"Overview","icon":"warehouse","href":"/v2/setup/self-hosted"},{"title":"Security Architecture","icon":"shield-halved","href":"/v2/setup/self-hosted/security"},{"title":"Data Flow \u0026 Residency","icon":"arrows-split-up-and-left","href":"/v2/setup/self-hosted/data-flow"},{"title":"Operations Guide","icon":"screwdriver-wrench","href":"/v2/setup/self-hosted/operations"},{"title":"Application Metrics","icon":"chart-line","href":"/v2/setup/self-hosted/metrics"},{"title":"Infrastructure Requirements","icon":"cubes","href":"/v2/setup/infrastructure-requirements"}]}]},{"title":"HoneyHive Platform Architecture","sidebarTitle":"Platform Architecture","icon":"server","href":"/v2/platform-architecture"},{"title":"Security","icon":"shield-halved","href":"/v2/setup/security"}]},{"group":"Learn More","pages":[{"title":"HoneyHive Platform Concepts","sidebarTitle":"Overview","icon":"lightbulb","href":"/v2/concepts"},{"group":"Tutorials","icon":"play","expanded":false,"pages":[{"title":"End-to-End: Multi-Agent Tracing and Evaluation","icon":"book-open","href":"/v2/tutorials/multi-agent-cookbook"},{"title":"Add Tracing to Existing Apps","icon":"bolt","href":"/v2/tutorials/add-tracing-5min"},{"title":"Enrich Your Traces","icon":"sparkles","href":"/v2/tutorials/enriching-traces"},{"title":"Deploy Tracing to Production","icon":"rocket","href":"/v2/tutorials/production-deployment"},{"title":"Trace Distributed Systems","icon":"diagram-project","href":"/v2/tutorials/distributed-tracing"}]}]}]},{"tab":"SDK Reference","icon":"layer-group","pages":[{"title":"SDK Reference","href":"/v2/sdk-reference/overview"}]},{"tab":"CLI Reference","icon":"terminal","pages":[{"title":"CLI Reference","href":"/v2/cli-reference/getting-started"}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/v2/api-reference-autogen/sessions/start-a-new-session"}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/v2/integrations/overview"}]},{"tab":"Cookbooks","icon":"utensils","href":"https://github.com/honeyhiveai/cookbook"},{"tab":"Changelog","icon":"megaphone","pages":[{"title":"Changelog","href":"/v2/changelog/product"}]}]},{"product":"v1 (legacy)","icon":"server","description":"Deprecating Nov 5, 2026.","pages":[{"title":"v1 (legacy)","href":"/introduction/what-is-hhai"}]}]},"basePath":"","title":"Online Evaluations - HoneyHive AI Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-5Xwp92K7.js","DynamicMarkdown-BoyYAA8K.js","zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js"]}