docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how well the engineer uses @opentelemetry/instrumentation-http and @opentelemetry/instrumentation-express to implement integrated request filtering that prevents specific routes from being traced at the HTTP layer, avoiding partial traces.",
"type": "weighted_checklist",
"checklist": [
{
"name": "HTTP instrumentation setup",
"description": "Correctly imports and registers HttpInstrumentation from @opentelemetry/instrumentation-http with the NodeTracerProvider",
"max_score": 15
},
{
"name": "Express instrumentation setup",
"description": "Correctly imports and registers ExpressInstrumentation from @opentelemetry/instrumentation-express with the NodeTracerProvider",
"max_score": 15
},
{
"name": "ignoreIncomingRequestHook usage",
"description": "Uses the ignoreIncomingRequestHook configuration option in HttpInstrumentation to filter requests at the HTTP layer",
"max_score": 25
},
{
"name": "Request filtering logic",
"description": "Implements the hook function to return true for /health and /metrics endpoints, preventing root span creation for these routes",
"max_score": 20
},
{
"name": "Instrumentation registration order",
"description": "Registers instrumentations before importing Express to ensure proper patching of the Express module",
"max_score": 10
},
{
"name": "TracerProvider configuration",
"description": "Creates and configures a NodeTracerProvider from @opentelemetry/sdk-trace-node and registers it globally",
"max_score": 10
},
{
"name": "Span exporter setup",
"description": "Configures an exporter (such as ConsoleSpanExporter) to verify span creation behavior",
"max_score": 5
}
]
}