minitrace-rust is a free, open source monitoring & observability project written in Rust and released under Apache-2.0. It has 751 GitHub stars, 46 forks and 13 open issues, and was last pushed 10 days ago. On this registry it ranks #240 of 270 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

What is minitrace-rust?

minitrace-rust is an extremely fast tracing library for the Rust programming language, intended for Rust developers who need distributed tracing in their services and want that trace data to reach backends such as Jaeger or Datadog.

What it is

minitrace-rust is a Rust crate for distributed tracing, added to a project as a Cargo dependency; the README shows the line minitrace = "0.6" under [dependencies]. It is licensed under Apache-2.0 and hosted on GitHub, with 751 stars, 46 forks and 13 open issues. Its repository topics tag it with rust, tracing, datadog, jaeger, opentelemetry and opentracing, and its homepage now points to fastrace at github.com/fastracelabs/fastrace.

The problem it addresses is instrumenting a Rust application so that trace data can reach the observability systems a team already runs. The topics name Datadog, Jaeger, OpenTelemetry and OpenTracing — the ecosystems and conventions a Rust service would otherwise have to integrate with piecemeal, one adapter per backend. minitrace offers a single instrumentation point in the Rust tracing space instead. In its present state, however, the project's principal function is succession: the README states that minitrace has become fastrace, that fastrace is maintained by the same maintainers under a new organisation structure for better community governance, and that minitrace will not be maintained any more; issue 229 in the repository carries the details.

Key capabilities

  • Distributed tracing instrumentation for Rust applications, packaged as a Cargo dependency declared as minitrace = "0.6" in Cargo.toml.
  • Repository topics covering opentelemetry and opentracing, the tracing conventions the library is associated with.
  • Vendor topics for datadog and jaeger, the two named backend destinations in the topic list.
  • Apache-2.0 licensing, permitting use, modification and redistribution on those terms.
  • A drop-in migration route: substituting the string minitrace with fastrace, exactly as the README's diff shows for the Cargo.toml dependency.
  • A designated successor, fastrace, developed under a new organisation structure by the same maintainers.
  • A tracked migration discussion, issue 229 in the tikv/minitrace-rust repository, referenced from the README.

Who uses it and how

  • Existing Rust services that already declare minitrace in Cargo.toml; the README addresses these users directly with substitution instructions.
  • Teams whose trace data is destined for Jaeger or Datadog, the two vendor topics named on the repository.
  • Teams standardising on OpenTelemetry or OpenTracing conventions, both of which appear in the topic list.
  • Applications pinned to the 0.6 line can keep building while an owner schedules the move to fastrace.

Getting started

Getting started is one Cargo dependency line: add minitrace = "0.6" to the [dependencies] table in Cargo.toml, as the README's diff illustrates. The README no longer presents that as a first choice — it recommends substituting minitrace with fastrace and migrating, so new instrumentation work should begin from fastrace = "0.6".

How it compares

minitrace sits alongside the ecosystems its topics name — Datadog, Jaeger, OpenTelemetry and OpenTracing — as the Rust-side instrumentation layer for those pipelines. Its closest named relative in the facts is fastrace, its designated successor: the same maintainers continue the work there under a new organisation, and the documented path is to substitute the crate name rather than switch to a different tool.

When to use it — and when not to

New Rust projects should not adopt minitrace: the README states plainly that it will not be maintained any more and directs all users to migrate to fastrace. Existing installations are best treated as migration work in progress, since the README excerpt given here is a deprecation notice rather than a guide to the library's APIs. Nothing needs to be operated for it — no service, database or exporter process is described — and the licence is unambiguous at Apache-2.0, so the trade-off is maintenance and governance rather than deployment burden.

project readme (upstream, from github) — read inline

minitrace has become fastrace!

We decide to continue the development of minitrace under a new organization structure for better community governance.

fastrace is maintained by the same maintainers of minitrace, so that we encourage all users to just migrate.

Meanwhile, minitrace will not be maintained any more. See https://github.com/tikv/minitrace-rust/issues/229 for details.

Migrate to fastrace

Simply substitute the occurance of minitrace with fastrace in your source code, like:

# Cargo.toml

[dependencies]
- minitrace = "0.6"
+ fastrace = "0.6"

Frequently asked questions

Is minitrace-rust free to use?

minitrace-rust is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does minitrace-rust do?

Extremely fast tracing library for Rust

What is minitrace-rust written in?

minitrace-rust is primarily written in Rust. Its source is publicly available at https://github.com/tikv/minitrace-rust, and it has 751 GitHub stars.