Every time you want to know what happened in response to a web request, you have to check logs in ten microservices before the response is sent.
The various log locations take time to memorize.
Instead, tell AnyTrace how to do it, and just enter your request ID.
You'll see at a glance where the request flow stopped.
This repository has been created almost entirely by Claude 3.5 Sonnet.
- Install dependencies:
npm install
- Create a config.yaml file:
samplers:
- id: example_logs
name: "Example Logs"
variables:
- name: request_id
type: string
description: "Request ID to trace"
required: true
command: "grep ${request_id} /var/log/example.log"
timeout: 30
flows:
- id: example_flow
name: "Example Flow"
samplers:
- example_logs
- Start the development server:
npm run dev
AnyTrace uses a YAML configuration file to define samplers and flows:
- Unique ID
- Required variables with types and descriptions
- Shell command with variable interpolation
- Timeout setting
- Unique ID
- Ordered list of sampler references
- Variables automatically aggregated from samplers
CONFIG_PATH=/path/to/config.yaml npm start
Start development server with hot reload:
npm run dev
Run tests:
npm test
Lint code:
npm run lint
Build for production:
npm run build
Start production server:
npm start
This tool executes shell commands with arbitrary parameters. Please either limit access to trusted personnel only, or ensure that every sampler script correctly quotes every variable it uses.