Architecture (WIP)

March 4, 2026 ยท View on GitHub

Architecture Overview

The OpenTelemetry Weaver tool is architecturally designed as a platform. By default, this tool incorporates a template engine that facilitates documentation and Client SDK/API generation across various programming languages. In the future, we plan to integrate a WASM plugin system, allowing the community to enhance the platform. This would pave the way for features like enterprise data catalog integration, privacy policy enforcement, documentation generation, dashboard creation, and more.

Below is a diagram detailing the primary components of the OpenTelemetry Weaver tool.

OpenTelemetry Weaver Platform

Crates Layout

Dependencies

This project utilizes the concept of a cargo workspace to organize the libraries developed for the OTel Weaver project. The set of crates in the workspace is grouped under the directory crates/*. Adding a crate under this directory will automatically include it in the OTel Weaver project due to the directive members = [ "crates/*" ] included in the main Cargo.toml under the [workspace] section.

This project has not been published to crates.io and will not be until it is ready for production use.

Every crate in the workspace must have a README.md file that describes the purpose of the crate and how to use it. Furthermore, the name of each crate must be prefixed with weaver_ to avoid any conflicts with existing crates on crates.io.

The following is a list of crates in the workspace, along with a brief description and the current status of each crate:

CrateDescriptionStatus
weaver_semconvSemantic Convention Registry Data ModelBeta
weaver_versionOpenTelemetry Schema Versioning Data ModelAlpha
weaver_commonLogging and error managementAlpha
weaver_forgeTemplate engine used to generate artifacts from any serde json valueAlpha
weaver_diffDiffing tool to compare two versions of a text (used in unit tests)Alpha
weaver_resolved_schemaResolved Schema Data ModelWork-In-Progress
weaver_resolverTelemetry Schema Resolution Process + LineageWork-In-Progress
weaver_checkerPolicy engine to enforce policies on telemetry dataWork-In-Progress
weaver_emitEmit OTLP signals generated from registriesWork-In-Progress
weaver_live_checkDeveloper tool for assessing sample telemetry against conventionsWork-In-Progress
weaver_mcpMCP server exposing semantic conventions to LLMsWork-In-Progress
weaver_searchSearch engine for querying resolved semantic convention registriesWork-In-Progress
weaver_otel_schemaOpenTelemetry Schema Data ModelWork-In-Progress
weaver_semconv_genSemantic convention markdown updaterWork-In-Progress
xtaskSet of tasks to validate the projectDone

The root weaver package contains the main CLI binary that ties all the above crates together.

Note 1: Alpha status means that the crate is in a usable state but may have limited functionality and/or may not be fully tested.

Note 2: Work-In-Progress status means that the crate is still under active development.