/Knowledge/sources/honojs__hono/llms-full/server-timing-middleware-usage--58b093000832.md
Server-Timing Middleware: Usage - hono-docs
Server Timing Middleware: Usage Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt usage Summary js // Sp...
Server-Timing Middleware: Usage
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#usage
Summary
```js // Specify the variable types to infer the c.get('metric'): type Variables = TimingVariables const app = new Hono () // add the middleware to your router app.use(timing()); app.get('/', async (c) => { // add custom metrics setMet...
Content
// Specify the variable types to infer the `c.get('metric')`:
type Variables = TimingVariables
const app = new Hono<{ Variables: Variables }>()
// add the middleware to your router
app.use(timing());
app.get('/', async (c) => {
// add custom metrics
setMetric(c, 'region', 'europe-west3')
// add custom metrics with timing, must be in milliseconds
setMetric(c, 'custom', 23.8, 'My custom Metric')
// start a new timer
startTime(c, 'db');
const data = await db.findMany(...);
// end the timer
endTime(c, 'db');
// ...or you can also just wrap a Promise using this function:
const data = await wrapTime(c, 'db', db.findMany(...));
return c.json({ response: data });
});
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#usage",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Server-Timing Middleware > Usage",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 309,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Server-Timing Middleware: Usage",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}