# Docs - [Introduction](/docs): An open-source NestJS profiler inspired by Symfony's Web Profiler - inspect SQL, HTTP, GraphQL, cache, auth and custom spans to debug and optimize performance. - [Getting started](/docs/getting-started): Install and configure @eleven-labs/nest-profiler in a NestJS 11 app - set up the core module, enable collectors, and open the /_profiler UI in minutes. - [Troubleshooting](/docs/troubleshooting): Common issues when profiling a NestJS app - no profiles appear, empty Logs tab, GraphQL not captured, missing collector panels, 401 on the UI - and how to fix each one. - [Agent skills](/docs/agent-skills): Install and configure @eleven-labs/nest-profiler with your coding agent — npx skills teaches Claude Code, Cursor, Codex and others to wire the profiler and the collectors that match your stack. - Packages - nest-profiler - [Overview](/docs/packages/nest-profiler): The core profiler module and its /_profiler web UI. - [Configuration](/docs/packages/nest-profiler/configuration): Register ProfilerModule with forRoot or forRootAsync, tune every option, and protect the profiler UI with a pluggable security strategy. - [Log capture](/docs/packages/nest-profiler/logs): Capture every log written during a request - message, context name and structured payload - into the profile's Logs tab. - [Browsing profiles](/docs/packages/nest-profiler/browsing-profiles): The profiler UI endpoints, the debug headers linking a response to its profile, the built-in and custom list filters, and profile export. - [Trace & custom collectors](/docs/packages/nest-profiler/collectors): Capture trace spans with TracerService.span() and add your own data panel to every profile with the @ProfilerCollector() decorator. - [Performance tags (N+1, slow, error…)](/docs/packages/nest-profiler/performance-tags): Detect N+1 queries, slow queries, failed HTTP calls, chatty endpoints, large payloads and silent zero-row writes with the core rule-based tagging engine, and filter profiles by tag. - [What counts as an error](/docs/packages/nest-profiler/error-classification): Define what a failure means for each entrypoint kind — HTTP status codes, GraphQL error codes, message handlers, command outcomes — and drive the error tag and the Errors filter from your own definition. - [Extending the UI with JavaScript](/docs/packages/nest-profiler/extending-the-ui): Ship browser behaviour as compiled same-origin bundles and reuse the window.NestProfiler runtime from your own collector package. - [Custom entrypoints & adapters](/docs/packages/nest-profiler/context-adapters): Profile any non-HTTP entrypoint (gRPC, Kafka, WebSockets, CLI commands…) - produce the profile with IContextAdapter and render it with registerEntrypointType, no core changes required. - [Storage backends](/docs/packages/nest-profiler/storage): Keep profiles in memory, persist them as JSON files across restarts, or plug in any backend with a custom storage adapter. - [Performance impact & testing](/docs/packages/nest-profiler/performance): Why profiling adds no latency - collectors and storage writes run after the response - and how to wait for them in automated tests with flush(). - [nest-profiler-typeorm](/docs/packages/nest-profiler-typeorm): Profile TypeORM SQL queries in the Database panel. - [nest-profiler-mikro-orm](/docs/packages/nest-profiler-mikro-orm): Profile MikroORM SQL queries in the Database panel. - [nest-profiler-mongoose](/docs/packages/nest-profiler-mongoose): Profile Mongoose queries and aggregations in the MongoDB panel. - [nest-profiler-http](/docs/packages/nest-profiler-http): Record outgoing HTTP client calls in the HTTP Client panel. - [nest-profiler-cache](/docs/packages/nest-profiler-cache): Record cache GET/SET/DEL operations and the hit ratio in the Cache panel. - [nest-profiler-commander](/docs/packages/nest-profiler-commander): Profile nest-commander CLI runs alongside HTTP requests. - [nest-profiler-auth](/docs/packages/nest-profiler-auth): Capture the authenticated user, roles and JWT claims in the Security panel. - [nest-profiler-config](/docs/packages/nest-profiler-config): Inspect a @nestjs/config snapshot grouped by namespace in the Config panel. - [nest-profiler-routes](/docs/packages/nest-profiler-routes): Inspect the application routing table in Symfony-Routing-style Discover views, one per transport. - [nest-profiler-validator](/docs/packages/nest-profiler-validator): Inspect DTO validation violations in the Validator panel. - [nest-profiler-graphql](/docs/packages/nest-profiler-graphql): Profile GraphQL queries and mutations across Apollo, Mercurius and yoga. - [nest-profiler-rabbitmq](/docs/packages/nest-profiler-rabbitmq): Profile RabbitMQ messages handled via @golevelup/nestjs-rabbitmq. - [nest-profiler-event-emitter](/docs/packages/nest-profiler-event-emitter): Profile the domain events dispatched through @nestjs/event-emitter, and every @OnEvent handler execution. - [nest-profiler-ai](/docs/packages/nest-profiler-ai): Record every AI SDK call — prompts, tools, tokens, cost and streamed answers — in the AI panel. Alpha. - API Reference - [API Reference](/docs/api-reference): Type docs for every profiler package, plus the collector template reference. - [nest-profiler](/docs/api-reference/nest-profiler): Module options, profile structure, service, collector interface and storage. - [nest-profiler-typeorm](/docs/api-reference/nest-profiler-typeorm): Types and API of the TypeORM query collector. - [nest-profiler-mikro-orm](/docs/api-reference/nest-profiler-mikro-orm): Types and API of the MikroORM query collector. - [nest-profiler-mongoose](/docs/api-reference/nest-profiler-mongoose): Types and API of the Mongoose query collector. - [nest-profiler-http](/docs/api-reference/nest-profiler-http): Types and API of the HTTP Client panel and its axios/fetch adapters. - [nest-profiler-cache](/docs/api-reference/nest-profiler-cache): Types and API of the cache collector. - [nest-profiler-commander](/docs/api-reference/nest-profiler-commander): Types and API of the nest-commander CLI collector. - [nest-profiler-auth](/docs/api-reference/nest-profiler-auth): Types and API of the auth & security collector. - [nest-profiler-config](/docs/api-reference/nest-profiler-config): Types and API of the configuration snapshot collector. - [nest-profiler-routes](/docs/api-reference/nest-profiler-routes): Types and API of the Discover views and their discover-source extension point. - [nest-profiler-validator](/docs/api-reference/nest-profiler-validator): Types and API of the validation collector. - [nest-profiler-graphql](/docs/api-reference/nest-profiler-graphql): Types and API of the GraphQL collector. - [nest-profiler-rabbitmq](/docs/api-reference/nest-profiler-rabbitmq): Types and API of the RabbitMQ message collectors. - [nest-profiler-event-emitter](/docs/api-reference/nest-profiler-event-emitter): Types and API of the event emitter collector. - [nest-profiler-ai](/docs/api-reference/nest-profiler-ai): Types and API of the AI SDK collector. - [Template reference](/docs/api-reference/template-reference): Color tokens, utility classes and EJS helpers for panel templates. - [Example application](/docs/example-api): Full-featured NestJS application demonstrating every profiler collector, organized into one module per collector package. - [Profiler UI](/docs/profiler-ui): A visual tour of the profiler web interface - the profiles list, the built-in tabs, and every collector panel. - Tutorials - [Tutorials](/docs/tutorials): Step-by-step NestJS profiler tutorials - enable collectors for SQL, HTTP, GraphQL, cache and auth, and build your own custom collector and entrypoint types. - [Set up the profiler](/docs/tutorials/setup-profiler): Install @eleven-labs/nest-profiler, enable the core module and inspect your first HTTP requests in the profiler UI. - [Log capture with context](/docs/tutorials/log-capture): Wrap your logger so request-scoped logs - with context names and structured payloads - appear in the profiler's Logs tab. - [SQL query profiling (TypeORM & MikroORM)](/docs/tutorials/sql-collectors): Capture every SQL query issued by TypeORM or MikroORM and inspect duration, slow queries and execution plans in the profiler's Database panel. - [MongoDB query profiling](/docs/tutorials/mongoose-collector): Capture every Mongoose query and aggregation and inspect collection, duration and result count in the profiler's MongoDB panel. - [HTTP client profiling](/docs/tutorials/http-collector): Capture outgoing HTTP requests and inspect them in the HTTP Client panel - with the axios and fetch adapters or any client of your own. - [Cache profiling](/docs/tutorials/cache-collector): Track cache GET_HIT/GET_MISS/SET/DEL operations and the hit ratio in the profiler's Cache panel with nest-profiler-cache. - [Command profiling](/docs/tutorials/commander-collector): Profile nest-commander CLI commands and inspect them in the web profiler - the console equivalent of Symfony's command profiling. - [Auth/Security profiling](/docs/tutorials/auth-collector): Capture the authenticated user, roles and JWT claims in the profiler's Security panel with nest-profiler-auth. - [Configuration profiling](/docs/tutorials/config-collector): Inspect your application's resolved configuration values in the Config panel, with sensitive key masking. - [DTO validation profiling](/docs/tutorials/validator-collector): Inspect successful and failed DTO validations - class-validator or zod - in the profiler's Validator panel. - [GraphQL profiling](/docs/tutorials/graphql-collector): Profile GraphQL queries and mutations with the nest-profiler-graphql package and inspect them in the profiler UI. - [RabbitMQ message profiling](/docs/tutorials/rabbitmq-collector): Profile RabbitMQ messages consumed via @RabbitSubscribe and inspect routing key, payload and timing in the web profiler. - [Domain event profiling](/docs/tutorials/event-emitter-collector): Profile the events dispatched through @nestjs/event-emitter and see what each @OnEvent handler actually did. - [Build a custom collector](/docs/tutorials/custom-collector): Create your own profiler panel with custom data and an EJS template using the @ProfilerCollector() decorator. - [Build a custom entrypoint type](/docs/tutorials/build-entrypoint-type): Profile a non-HTTP entrypoint end to end - give it its own data shape, its own list-page table and its own detail tab - without touching the core. - [File-based profile storage](/docs/tutorials/file-storage): Persist profiles to disk so they survive application restarts and can be inspected across debug sessions.