iyziTrace
Your system already knows the answer.
IyziTrace helps you hear it.
Command line

Tracing, one command away

Add IyziTrace to a project — whatever you build it in, wherever you run it. No account, no agent to run, nothing to configure first.

zsh
$curl -fsSL https://iyzitrace.com/cli/install.sh | sh

Installs to ~/.local/bin. Set IYZITRACE_INSTALL_DIR to put it somewhere else.

Then check it with iyzitrace --version.

What it supports

Built on OpenTelemetry, so the telemetry goes to any collector you already run.

.NET

initSupportedautoSupported

Traces · Metrics · Logs

Java & Spring

initSupportedautoSupported

Traces · Metrics · Logs

Node.js & TypeScript

initSupportedautoSupported

Traces

Python

initSupportedautoSupported

Traces

Dart & Flutter

initSupportedautoNot available

Traces

Swift, iOS & macOS

initSupportedautoNot available

Traces

Android & Kotlin

initSupportedautoNot available

Traces

macOS

Apple Silicon and Intel

Linux

x64 and arm64, glibc and musl

Windows

x64 and arm64

How to use it

Run iyzitrace in your project and follow the menu, or pass flags and script the same thing.

init

Adds the SDK to your source, so you choose what a span covers. Available in every ecosystem.

instrument auto

Attaches to a process that is already running and needs no code change. It exists for the ecosystems whose runtime supports it.

  • iyzitrace

    Opens the interactive menu. Every command below also works with flags, so the same thing can be scripted.

  • iyzitrace init

    Adds IyziTrace to the project in the current directory. Detects the ecosystem, adds the dependency and points the package manager at iyzitrace.com.

  • iyzitrace doctor

    Checks that a project is configured correctly. Add --json for a machine-readable result in CI. .NET projects.

  • iyzitrace instrument auto

    Instruments an already running process without changing its code. Lists what it finds and restarts the one you pick with the agent attached.

  • iyzitrace pkg list

    Shows the instrumentation packages that are cached and what is available to download.

  • iyzitrace uninstall

    Reverses what init did. .NET and Java projects.

Which signals you get

Traces are available everywhere. Metrics and logs are available on .NET and Java today; the mobile and Dart SDKs currently emit traces.

Quickstart

Pick your stack. Everything below is what init sets up and what your code then does with it.

1 — Set the project up
iyzitrace init            # adds the package, the feed and the appsettings section
dotnet run
2 — Start it, and trace what matters
// init wires this into Program.cs for you
builder.AddIyziTrace();

// then, anywhere in your code
IyziTrace.Trace("checkout", () =>
{
    IyziTrace.Tags(new { cart_items = 3, total = 249.90 });
});

Running in CI

Every command takes --yes to skip the prompts, and doctor takes --json so a pipeline can read the result. A project it cannot find is an error, not a silent pass.

iyzitrace init --yes \
    --service-name shop-api \
    --otlp-endpoint https://collect.example.com

iyzitrace doctor --json
Grafana plugin

Prefer to see it inside Grafana?

The CLI gets the telemetry out of your application. The IyziTrace plugin puts it in front of you — traces, services and dependencies, in the Grafana you already have open.

Download the plugin