NestJS Packages

Profiler UI

A visual tour of the profiler web interface — the profiles list, the built-in tabs, and every collector panel.

Open /_profiler to browse the list of captured profiles, then click any row to open its detail view. The detail view is organized into built-in tabs (request, response, performance, logs, exceptions) plus one tab per active collector. The screenshots below come from the example application with every collector enabled.

Profiles list

The /_profiler page lists captured profiles with their HTTP method, URL, status, and duration, a search field and status filters, and global panels such as Config that apply across the whole list.

Recent profiles list with filters and the global Config panel

GraphQL requests

Requires @eleven-labs/nest-profiler-graphql — see the GraphQL support section in Getting started.

GraphQL requests appear in the list with a GQL badge followed by the operation type (QUERY, MUTATION, or SUBSCRIPTION). The operation name or field name is shown in place of the URL.

Profiles list showing GQL MUTATION and GQL QUERY badges alongside the operation name and status

The Request tab for GraphQL profiles adds a dedicated GraphQL section displaying:

  • Operation type badge (Query / Mutation / Subscription)
  • Operation name if present in the request
  • Field name — the entry-point resolver
  • Query — syntax-highlighted GraphQL document
  • Variables — the variables object, syntax-highlighted as JSON

The HTTP method, URL, headers, and other standard fields remain visible below the GraphQL section.

Request tab showing the GraphQL section with operation type, name, syntax-highlighted query and variables (Query)

Request tab showing the GraphQL section for a Mutation with input variables

GraphQL-level errors (schema validation failures, resolver errors returned in response.body.errors) appear in the Exceptions tab with an amber GraphQLError badge, visually distinct from NestJS runtime exceptions which use a red badge.

Exceptions tab showing an amber GraphQLError badge with validation error message and location

Built-in tabs

The Request tab details the method, URL, headers, and collected body.

Request tab showing HTTP request details

The Response tab shows the status, response headers, and body returned by the handler.

Response tab showing status, headers, and JSON body

The Performance tab groups request duration, memory, and timestamps.

Performance tab with duration, memory, and request timeline

The Logs tab lists entries captured through profilerService.createLogger().

Logs tab with one log entry captured during the request

The Exceptions tab highlights the exception thrown by the /error endpoint.

Exceptions tab displaying a captured BadRequestException

Collectors

The Timeline collector displays spans created with startSpan() as synchronized bars.

Timeline tab showing slow.step.fetch, slow.step.process, and slow.step.serialize spans

The Database collector shows SQL queries (TypeORM or MikroORM) with their SQL type and duration.

Database tab showing a profiled SQL SELECT query

The MongoDB collector (requires @eleven-labs/nest-profiler-mongoose) shows Mongoose queries and aggregations with their operation, collection, duration, and result count.

MongoDB tab showing a profiled Mongoose query with collection, operation and duration

The HTTP Client collector shows outgoing requests triggered by HttpService.

HTTP Client tab showing a GET call to JSONPlaceholder

The Cache collector shows GET_HIT, GET_MISS, SET operations and the hit rate.

Cache tab showing a GET_HIT and a 100 percent hit rate

The Command collector (requires @eleven-labs/nest-profiler-commander) profiles nest-commander CLI runs. With file storage, command profiles appear in the list with a CLI method badge and the command line in place of the URL; the Command tab details the command name, arguments, options, and exit code.

Command tab showing a profiled nest-commander run with arguments, options and exit code

The Security collector shows the authenticated user, roles, and decoded JWT claims.

Security tab showing an authenticated demo_user with the admin role

The Validator collector shows validated DTOs and failing class-validator constraints.

Validator tab showing two validation violations on CreatePostDto

The Config collector is global: it appears on the profiles list and exposes flattened configuration with masked secrets.

Global Config panel showing app and database keys with database.password masked

On this page