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 the @opentelemetry/instrumentation-express package to implement automatic span creation for Express.js middleware, routers, and request handlers. The focus is on proper instrumentation setup and package usage.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Instrumentation Registration",
"description": "Uses ExpressInstrumentation class from @opentelemetry/instrumentation-express and registers it with NodeTracerProvider or registerInstrumentations()",
"max_score": 25
},
{
"name": "TracerProvider Setup",
"description": "Creates and configures a NodeTracerProvider from @opentelemetry/sdk-trace-node and registers it as the global tracer provider",
"max_score": 20
},
{
"name": "Span Processor Configuration",
"description": "Configures a span processor (such as SimpleSpanProcessor or BatchSpanProcessor) and adds it to the tracer provider",
"max_score": 15
},
{
"name": "Span Exporter Setup",
"description": "Configures a span exporter (such as ConsoleSpanExporter or InMemorySpanExporter) to collect the automatically created spans",
"max_score": 15
},
{
"name": "Instrumentation Timing",
"description": "Registers the ExpressInstrumentation before requiring or importing the Express module to ensure proper automatic instrumentation",
"max_score": 15
},
{
"name": "Middleware Span Creation",
"description": "Implementation allows automatic span creation for middleware functions without manual instrumentation code in the middleware themselves",
"max_score": 5
},
{
"name": "Router Span Creation",
"description": "Implementation allows automatic span creation for Express Router instances without manual instrumentation in router code",
"max_score": 5
}
]
}