neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Tayga turns OpenTelemetry traces and logs into error stories. For each failing or slow request it shows the root-cause span, the path across services, the critical path, what differs from normal, and
Developer toolsRust · TypeScriptGitHub @softberriesOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Real-time error stories from OpenTelemetry traces and logs (Rust)
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Tayga turns OpenTelemetry traces and logs into error stories. For each failing or slow request it shows the root-cause span, the request path across services, the critical path, a diff against the endpoint's normal baseline, and the logs that matter. It analyses traces as they stream in, so by the time you open it the failing requests are already explained, and repeats of one problem fold into one story group instead of hundreds of traces. It mines your logs into templates and alerts on new, spiking and silent ones.Read the full README ↗Tayga turns OpenTelemetry traces and logs into error stories. For each failing or slow request it shows the root-cause span, the request path across services, the critical path, a diff against the endpoint's normal baseline, and the logs that matter. It analyses traces as they stream in, so by the time you open it the failing requests are already explained, and repeats of one problem fold into one story group instead of hundreds of traces. It mines your logs into templates and alerts on new, spiking and silent ones. Tayga is written in Rust, reads standard OTLP, stores in ClickHouse, streams through Redpanda, and is self-hosted under the AGPLv3.
Tayga, properly spelled Tajga, is my hunting dog. Tajga can trace anything, anywhere, in the harshest conditions. I love that dog as much as I love writing software, so the name was obvious. The "y" is for English speakers, who wouldn't read Tajga the way it's meant ;)
— Krzysztof Grajek, author of Tayga
checkout could not reach payment".Docker Compose. Tayga, ClickHouse and Redpanda on one host; the installer checks the ports, waits for health, and prints the URLs:
curl -fsSL https://raw.githubusercontent.com/softberries/tayga/master/scripts/install.sh | sh
Open http://localhost:8090 and send OTLP to localhost:4317 (gRPC) or localhost:4318 (HTTP). Quickstart →
Kubernetes. Bundled single-node ClickHouse and Redpanda for evaluation, or your own for production:
helm install tayga oci://ghcr.io/softberries/charts/tayga --version 0.1.0 \
--namespace tayga --create-namespace --wait
See it break on purpose. Run Tayga next to the OpenTelemetry demo shop, make every payment fail, and watch the story appear:
git clone --recurse-submodules https://github.com/softberries/tayga.git && cd tayga
make up # the shop and Tayga: http://localhost:8090
make flag NAME=paymentFailure VARIANT=100% # every payment now fails
make flags-reset # put the flags back
Top: Stories, one group per problem with its trend and inspector. All three were captured from a running stack with the OpenTelemetry demo, 2026-10-07. Every page is explained in the user guide.
flowchart LR
SRC["Your services<br/>or OTel Collector"] -- "OTLP gRPC / HTTP" --> ING["tayga-ingest"]
ING -- "tayga.signals<br/>(key: trace id)" --> RP[("Redpanda")]
ING -- "tayga.logs<br/>(key: service)" --> RP
RP --> WR["tayga-writer<br/>raw spans and logs"]
RP --> AS["tayga-assembler<br/>traces → stories"]
RP --> LM["tayga-logminer<br/>templates → alerts"]
WR --> CH[("ClickHouse")]
AS --> CH
LM --> CH
LM -- "tayga.alerts" --> NT["tayga-notifier<br/>webhook, Slack"]
CH --> API["tayga-api<br/>web app + JSON API"]
tayga-ingest receives OTLP and publishes one record per trace id per export request to Redpanda, keyed by trace id, so every span of a trace lands on the same partition. Logs also go to a second topic, keyed by service.tayga-api serves the web app and the JSON API from ClickHouse.Measured on an Apple M3 Max (14 cores, 96 GiB; Docker Desktop VM with 14 CPUs and 31.5 GiB), Rust 1.98.1, ClickHouse 26.8, on 2026-10-06 and 2026-10-07. Micro-benchmarks are criterion runs of a release build; live numbers come from the OpenTelemetry demo stack on the same machine. One machine and one workload, not a guarantee.
| Measure | Result | How |
|---|---|---|
| Drain, per log line | 2.818 µs | criterion stages/drain_add, 50,000-line corpus, one thread |
| Fingerprint cache vs Drain alone | 6.98× faster (144.29 ms → 20.678 ms per 50,000 lines) | criterion cached benches; identical templates by a differential test |
| Cache hits on the live stack | 99.70 % (69,359 of 69,569 lines) | first 30 minutes after deploy, 2026-10-07 |
| Logminer CPU at live load | 1.07 % of one core at about 40 lines/s | docker stats, 2026-10-06 |
| Service map, ClickHouse CPU per refresh | 291.5 → 40.0 ms (7.3×) | live system.query_log, 2026-10-07 |
| Baseline queries, bytes read per run | 27.7× and 17.0× less | live system.query_log, 2026-10-07 |
| GPU fingerprinting | slower than CPU parallel at every size, so not shipped | criterion, 2026-10-07 |
Method, raw tables and the corpus: Performance → (source: docs/perf/sp4-performance.md).
Tayga is a focused tool, and for many teams a broader product is the better choice. Every competitor fact below comes from the vendor's own docs, pricing page or repository, accessed on 2026-10-07; the full comparison links a source for every cell and lists what could not be verified.
| Product | Pick it over Tayga when | Tayga differs by |
|---|---|---|
| Jaeger (Apache-2.0) | You want a CNCF graduated tracing platform with proven scale, taking OTel, Jaeger and Zipkin data | Per-request error stories and log templates; Jaeger is traces only and documents no RCA beyond a critical-path view |
| Grafana LGTM (AGPL-3.0) | You need application metrics and your own dashboards, or a hosted service (Grafana Cloud, with Sift and the LLM-based Assistant) | Stories and log-template alerts in the self-hosted core; Loki's pattern ingester is off by default |
SigNoz (MIT + ee/) | You want traces, metrics and logs in one product, self-hosted or in SigNoz Cloud | A deterministic root cause with no LLM (SigNoz's Noz is an AI teammate); log templates, which the current SigNoz docs do not offer |
| Coroot (Apache-2.0) | You cannot add SDKs (eBPF agent), or your root causes are in the infrastructure | Per-request stories built at ingest in the open-source core, with no LLM; Coroot's AI RCA (Enterprise, or through Coroot Cloud) ends in an LLM summary |
| OpenObserve (AGPL-3.0) | You want traces, metrics and logs in one product, or a hosted service | Log patterns and root causes in the open-source core; OpenObserve's Log Patterns and SRE Agent are Enterprise |
| ClickStack / HyperDX (MIT, Apache-2.0) | You want traces, metrics and logs on ClickHouse in one product, or a managed service | Templates mined at ingest from every line, with alerts; ClickStack mines patterns at query time over a sample |
| Datadog, Dynatrace, New Relic (proprietary) | You want a hosted platform with its own agents (Dynatrace OneAgent), RCA across infrastructure, log anomaly alerts with no rules to write (Datadog Watchdog detects new and spiking warning and error patterns at intake; New Relic alerts on log patterns), and everything else besides | Self-hosted and open source, with stories and log alerts in the core; priced per cluster or node for Enterprise rather than per GB; rules instead of AI agents (Bits AI, Autopilot) |
Where another product is the better choice, in general: you need application metrics or dashboards you build yourself (Tayga does not ingest OTel metrics; its service map shows rate, errors and p99 derived from traces, and Grafana and Prometheus sit next to it), you cannot add OpenTelemetry instrumentation, your root causes are in the infrastructure (Tayga's root cause is always a span), or you want a hosted service or proven scale (Tayga is young and has been tested against the OpenTelemetry demo).
Tayga can also sit next to any of them: it takes OTLP from the same Collector, and its trace view links out to Jaeger.
Tayga Enterprise is available on request, under a commercial license, priced per cluster or node rather than per GB. It adds:
Contact [email protected] or visit softberries.dev. Enterprise →
| Topic | Pages |
|---|---|
| Getting started | What is Tayga · Quickstart · Demo with the OTel demo |
| Install | Docker Compose · Helm and Kubernetes · From source · Connect your Collector · Upgrading · Uninstalling |
| Concepts | Architecture · Error stories · Root cause and critical path · Baselines · Story groups · Service map · Log templates · · · |
Issues and pull requests are welcome on GitHub. Before a larger change, open an issue to discuss it.
cargo test --workspace for the unit tests, make it for the integration tests, and make up plus make e2e for the end-to-end scenarios against the OpenTelemetry demo.cargo fmt --check, cargo clippy -D warnings, the tests, and the web app's lint, typecheck and unit tests on every pull request..github/RELEASING.md.The core is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). Tayga Enterprise is available under a commercial license, which also removes the AGPL obligations; see LICENSING.md and the License page. This summary is not legal advice.
Every number and behaviour in this README was checked; the rule is that a claim that cannot be checked is left out. Live timings are single observations on the machine above, not guarantees. The full table, with every claim in the docs, is on Verified claims.
| User guide | Tour of the app · Stories · Story detail · Traces · Service map · Logs · Alerts · Pipeline · Command palette |
| Alerting | The notifier · Webhook and Slack formats · Delivery semantics |
| Operations | Configuration · Authentication · Scaling the logminer · Retention and disk · Re-mining templates · Metrics and Grafana · Performance tuning · Upgrades and migrations · Troubleshooting |
| Reference | HTTP API · Performance · Comparison · FAQ · Changelog · Verified claims |
docs/perf/sp4-performance.mdsystem.query_log| 2026-10-06/07 |
| Competitor cells | vendor docs, pricing pages and repositories, in docs/research/competition.md | accessed 2026-10-07 |
| AGPLv3 core | LICENSE, license = "AGPL-3.0-only" in Cargo.toml | 2026-10-07 |
| Enterprise features and pricing model | owner | commercial offering (owner), not in the open-source code |
| The name note | owner | the owner's words |