@tsuga/cli 1.29.0 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +21 -0
  2. package/dist/cli.js +64 -64
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -435,6 +435,27 @@ tsuga promql query -d '{"query":"sum by (\"context.service.name\") (sum_over_tim
435
435
 
436
436
  `timeRange.from` / `timeRange.to` are Unix timestamps in seconds.
437
437
 
438
+ ## Experimental
439
+
440
+ Commands under `tsuga experimental` may change or be removed without notice.
441
+
442
+ ### Continuous profiling
443
+
444
+ ```bash
445
+ # Rank functions by self (flat) and inclusive (cum) sample value, like `go tool pprof -top`
446
+ tsuga experimental profiles top --service api --type cpu --from -1h
447
+ tsuga experimental profiles top --service api --type alloc_space --from -1h --limit 10 -o tsv
448
+
449
+ # Download the merged profile as raw pprof protobuf and open it with pprof
450
+ tsuga experimental profiles pprof --service api --type cpu --from -1h -O cpu.pb
451
+ go tool pprof -http=: cpu.pb
452
+
453
+ # Raw folded stacks (`root;...;leaf` with a value), with the usual -f / -d / --generate-skeleton
454
+ tsuga experimental profiles query -d '{"service":"api","type":"cpu","timeRange":{"from":1704067200,"to":1704070800}}'
455
+ ```
456
+
457
+ `--type` is a pprof sample type such as `cpu`, `samples`, `wall`, `off_cpu`, `alloc_space`, `inuse_space`, `alloc_objects`, `inuse_objects`, or `goroutine`. `--filter` takes a Tsuga query over the profile labels; only label equality, negation, and wildcards are accepted.
458
+
438
459
  ## LLM telemetry
439
460
 
440
461
  Configure local Claude Code (`~/.claude/settings.json`) or Codex (`~/.codex/config.toml`) to ship OpenTelemetry data to your Tsuga cluster. Needs an OTLP base URL and an [ingestion API key](https://app.tsuga.com/settings/api-keys?ingestion=true) (not the same as your operation API key).