0Pricing
tRPC End-to-End Type Safe APIs · Aula

Middleware de registro e medição de desempenho

Adicione observabilidade à sua API tRPC com middleware que registra cada chamada e mede seu tempo de execução.

Middleware de registro e medição de desempenho é uma aula grátis de tRPC End-to-End Type Safe APIs no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de tRPC End-to-End Type Safe APIs, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de tRPC End-to-End Type Safe APIs inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Why Observe Every Call?

You already use middleware for auth. Middleware is also perfect for cross-cutting concerns like logging and timing that should apply to many procedures.

Middleware Recap

A tRPC middleware wraps a procedure: it runs code, calls next(), then can run code after the result.

const mw = t.middleware(async (opts) => {
  // before
  const result = await opts.next();
  // after
  return result;
});

A Simple Logger

Log the procedure type and path on every call.

const logger = t.middleware(async ({ path, type, next }) => {
  console.log("-> " + type + " " + path);
  return next();
});

Measuring Duration

Capture the time before and after next() to compute how long the call took.

const timing = t.middleware(async ({ path, next }) => {
  const start = Date.now();
  const result = await next();
  const ms = Date.now() - start;
  console.log(path + " took " + ms + "ms");
  return result;
});

Inspecting the Result

The result tells you whether the call succeeded, useful for logging error rates.

const result = await next();
console.log(result.ok ? "ok" : "error");
return result;

Attaching to a Procedure

Use .use() to apply middleware when defining a base procedure.

const loggedProcedure = t.procedure.use(logger).use(timing);

Reusing Across Routers

Export the enhanced procedure and build all routers from it so logging applies everywhere automatically.

export const appRouter = router({
  ping: loggedProcedure.query(() => "pong"),
});

Adding Request IDs

Generate a unique id per call to correlate logs across services.

const withId = t.middleware(async ({ next, ctx }) => {
  const reqId = crypto.randomUUID();
  return next({ ctx: { ...ctx, reqId } });
});

Structured Logging

Emit JSON instead of plain text so logs are searchable in tools like Datadog or ELK.

console.log(JSON.stringify({ path, type, ms, level: "info" }));

Order of Middleware

Middleware runs in the order added. Put timing outermost so it includes the work of inner middleware.

Sampling Logs

In high-traffic APIs, logging every call is costly. Sample a percentage of requests so you keep visibility without overwhelming your log pipeline.

if (Math.random() < 0.1) console.log(path);

Quick Check

Test your middleware knowledge.

Recap

You added observability with middleware:

  • Middleware runs code before and after next()
  • Use it for logging, timing, and request IDs
  • Build a shared base procedure so it applies everywhere

Good observability makes a tRPC API far easier to debug in production.

Perguntas Frequentes

A aula “Middleware de registro e medição de desempenho” é grátis?

Sim — o texto completo de “Middleware de registro e medição de desempenho” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de tRPC End-to-End Type Safe APIs, atualize para CoddyKit PRO. O curso de tRPC End-to-End Type Safe APIs inclui 4 aulas no total.

O que vou aprender em “Middleware de registro e medição de desempenho”?

Adicione observabilidade à sua API tRPC com middleware que registra cada chamada e mede seu tempo de execução. Você pratica tRPC End-to-End Type Safe APIs com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar tRPC End-to-End Type Safe APIs?

Nenhuma experiência prévia é necessária. tRPC End-to-End Type Safe APIs no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Middleware de registro e medição de desempenho”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de tRPC End-to-End Type Safe APIs?

Sim. Cada aula de tRPC End-to-End Type Safe APIs inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando o contexto do tRPC
  2. Middleware de autenticação
  3. Cadeias de middleware personalizadas
  4. Middleware de registro e medição de desempenho
← Voltar para tRPC End-to-End Type Safe APIs