Learn more about Mintlify
Enter your email to receive updates about new features and product releases.
Performance measurement utilities for tracking execution time
import { Profiler, withTiming } from "bytekit"; // or import { Profiler } from "bytekit/profiler";
const profiler = new Profiler(); profiler.start("operation-name");
const elapsed = profiler.end("operation-name"); console.log(`Operation took ${elapsed}ms`);
const result = profiler.measure("operation", () => { // Your code here return computeResult(); });
const result = await profiler.measureAsync("fetch-users", async () => { return await api.get("/users"); });
import { withTiming } from "bytekit"; const fetchUsers = withTiming(async () => { return await api.get("/users"); }, "fetch-users"); const users = await fetchUsers(); // Logs: "fetch-users completed in 123ms"
import { Profiler, createLogger } from "bytekit"; const profiler = new Profiler(); const logger = createLogger({ namespace: "perf" }); // Manual timing profiler.start("db-query"); const users = await db.users.findMany(); const elapsed = profiler.end("db-query"); logger.info(`Query took ${elapsed}ms`); // Automatic timing const result = await profiler.measureAsync("api-call", async () => { return await api.get("/data"); });
import { ApiClient, createLogger, Profiler } from "bytekit"; const profiler = new Profiler(); const logger = createLogger({ namespace: "api" }); const api = new ApiClient({ baseUrl: "https://api.example.com", logger, interceptors: { request: (url, init) => { profiler.start(url); return [url, init]; }, response: (response) => { const elapsed = profiler.end(response.url); logger.info(`Request completed in ${elapsed}ms`, { url: response.url }); return response; } } });