or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-9/

{
  "context": "This criteria evaluates how well the engineer uses the @opentelemetry/instrumentation-express package to detect and classify Express layer types. The focus is on proper instrumentation setup, span collection, and extraction of layer type metadata from Express middleware, routers, and request handlers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "ExpressInstrumentation Usage",
      "description": "Correctly imports and instantiates the ExpressInstrumentation class from @opentelemetry/instrumentation-express to enable automatic layer detection",
      "max_score": 20
    },
    {
      "name": "Tracer Provider Setup",
      "description": "Properly configures a TracerProvider (e.g., NodeTracerProvider) and registers the ExpressInstrumentation to enable span collection",
      "max_score": 15
    },
    {
      "name": "Span Processor Configuration",
      "description": "Sets up an appropriate SpanProcessor (e.g., InMemorySpanExporter or SimpleSpanProcessor) to capture spans generated by the instrumentation",
      "max_score": 15
    },
    {
      "name": "Layer Type Extraction",
      "description": "Extracts the express.type attribute from spans to identify layer types (router, middleware, request_handler)",
      "max_score": 25
    },
    {
      "name": "Layer Name Extraction",
      "description": "Extracts the express.name attribute from spans to identify layer names",
      "max_score": 15
    },
    {
      "name": "Express App Processing",
      "description": "Processes the Express application by making requests or triggering middleware to generate spans that reveal layer information",
      "max_score": 10
    }
  ]
}