or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-5/

{
  "context": "This criteria evaluates how effectively the engineer uses the @opentelemetry/instrumentation-express package to extract and collect layer metadata from an Express application. The focus is on proper instrumentation setup, correct usage of hooks to capture layer information, and accurate extraction of layer-specific attributes.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Instrumentation instantiation",
      "description": "Creates an instance of ExpressInstrumentation from @opentelemetry/instrumentation-express package to enable automatic instrumentation",
      "max_score": 20
    },
    {
      "name": "requestHook implementation",
      "description": "Implements and configures the requestHook option in ExpressInstrumentation configuration to capture layer metadata during request processing",
      "max_score": 25
    },
    {
      "name": "Layer type extraction",
      "description": "Extracts and stores the layer type information using span attributes, specifically checking for express.type attribute or ExpressLayerType enum values (router, middleware, request_handler)",
      "max_score": 20
    },
    {
      "name": "Layer name extraction",
      "description": "Extracts and stores the layer name using span attributes, specifically the express.name attribute that contains the function or layer name",
      "max_score": 15
    },
    {
      "name": "Route path extraction",
      "description": "Extracts and stores the route path information from spans, using attributes like http.route or express-specific route information",
      "max_score": 15
    },
    {
      "name": "Metadata collection storage",
      "description": "Properly collects and stores all layer metadata in a format that can be retrieved and returned via the /metrics endpoint",
      "max_score": 5
    }
  ]
}