Documentation Index
Fetch the complete documentation index at: https://docs.usetusk.ai/llms.txt
Use this file to discover all available pages before exploring further.
The code examples in this guide use
import/export syntax. If your project
is JavaScript, adapt the examples to use require()/module.exports instead.1. Create init file
Create atuskDriftInit.ts or tuskDriftInit.js file to initialize the Tusk Drift SDK.
Initialization Parameters
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | Required if using Tusk Cloud | Your Tusk Drift API key. |
env | string | process.env.NODE_ENV | The environment name. |
logLevel | ’silent’ | ‘error’ | ‘warn’ | ‘info’ | ‘debug' | 'info’ | The logging level. |
samplingRate | number | 1.0 | Override the base sampling rate (0.0 - 1.0) for recording. Takes
precedence over TUSK_RECORDING_SAMPLING_RATE and config file base-rate
settings. |
registerEsmLoaderHooks | boolean | true | Automatically register ESM loader hooks for module interception. Set to
false to disable if you encounter issues with specific
instrumented packages. |
2. Import SDK at application entry point
In your main server file (e.g.,server.ts, index.ts, app.ts), import this file at the very top before any other imports. This ensures proper instrumentation of all dependencies.
3. Update recording configurations
Update the configuration file.tusk/config.yaml to include a recording section.
If you’re testing Tusk Drift out locally for the first time, use fixed mode
with a base rate of 1.0. After testing, we generally recommend adaptive
mode with a base rate between 0.01 and 0.1.
TUSK_RECORDING_SAMPLING_RATE overrides recording.sampling.base_rate.
TUSK_SAMPLING_RATE is still supported as a legacy alias, and
recording.sampling_rate remains a legacy config alias.
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
sampling.mode | string | ”fixed” | Selects constant sampling or adaptive load shedding. |
sampling.base_rate | number | 1.0 | The base sampling rate (0.0 - 1.0). In fixed mode this is
the effective rate. In adaptive mode the SDK may
temporarily reduce below this base rate. |
sampling.min_rate | number | 0.001 in adaptive mode | The minimum steady-state sampling rate for adaptive mode. In critical conditions the SDK can still temporarily pause recording. |
sampling.log_transitions | boolean | true | Controls whether the SDK emits adaptive-sampling transition logs. Can
also be overridden by
TUSK_RECORDING_SAMPLING_LOG_TRANSITIONS. |
sampling_rate | number | None | Legacy alias for recording.sampling.base_rate. Still
supported for backward compatibility. |
export_spans | boolean | false | Whether to export spans to Tusk backend or local files (
.tusk/traces). If false, spans are only exported to local
files. |
enable_env_var_recording | boolean | false | Whether to enable environment variable recording and replaying. Recommended if your application’s business logic depends on environment variables, as this ensures the most accurate replay behavior. |