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-express to implement version-compatible testing utilities. The focus is on proper instrumentation setup, span collection, and validation across Express v4 and v5.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Instrumentation initialization",
"description": "Correctly imports and registers ExpressInstrumentation using registerInstrumentations() or similar OpenTelemetry registration mechanism",
"max_score": 20
},
{
"name": "Tracer provider setup",
"description": "Creates a NodeTracerProvider (or BasicTracerProvider) and configures it with an InMemorySpanExporter or similar exporter for span collection",
"max_score": 15
},
{
"name": "Express app creation",
"description": "Creates Express v4 and v5 applications correctly, ensuring instrumentation is applied before routes are defined",
"max_score": 15
},
{
"name": "Span collection",
"description": "Implements proper span retrieval from the exporter using methods like getFinishedSpans() to access collected trace data",
"max_score": 15
},
{
"name": "Span attribute verification",
"description": "Validates span attributes specific to Express instrumentation such as 'http.route', 'express.type', or 'express.name' that indicate version-aware operation",
"max_score": 20
},
{
"name": "Version-specific behavior",
"description": "Demonstrates understanding that instrumentation handles Express v4 and v5 transparently, without requiring different configuration or manual version detection",
"max_score": 10
},
{
"name": "Cleanup and resource management",
"description": "Properly shuts down the tracer provider using shutdown() method and clears instrumentation state between tests",
"max_score": 5
}
]
}