HTTP & Databases
Outbound HTTP, inbound requests, and every major datastore driver, traced automatically.
HTTP
| Python | TypeScript | |
|---|---|---|
| Outbound | requests, httpx (auto) | fetch, axios, node:http/https (auto) |
| Manual toggle / patch | evalkit.auto_instrument(requests=False, httpx=False) | evalkit.patchAxiosClient(axios) for a custom instance |
Outbound HTTP spans carry method, URL, status, and latency, and propagate the W3C traceparent header so downstream services join the same trace — see Distributed Tracing.
Databases — Python
Most are auto after init(): psycopg (v3), asyncpg, PyMySQL, redis / redis.asyncio, pymongo / motor. SQLAlchemy is the one you wire by hand (the engine is created in your app), which also covers any ORM built on top of it:
from sqlalchemy import create_engine
engine = create_engine(DATABASE_URL)
evalkit.patch_sqlalchemy_engine(engine) # the one manual DB callDatabases — TypeScript
Auto for pg, mysql2, mongoose, ioredis. For a pre-built client, patch it explicitly:
evalkit.patchPgClient(pg);
evalkit.patchMysql2Client(mysql);
evalkit.patchMongooseClient(mongoose);
evalkit.patchRedisClient(redisClient); // node-redis v4DB spans capture query text (parameterized) and latency.