{"id":15177421,"url":"https://github.com/open-telemetry/weaver","last_synced_at":"2026-03-14T01:52:54.066Z","repository":{"id":221774569,"uuid":"754269214","full_name":"open-telemetry/weaver","owner":"open-telemetry","description":"OTel Weaver lets you easily develop, validate, document, and deploy semantic conventions","archived":false,"fork":false,"pushed_at":"2025-03-28T22:14:35.000Z","size":7591,"stargazers_count":99,"open_issues_count":64,"forks_count":40,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-03-28T23:24:14.708Z","etag":null,"topics":["codegen","documentation","observability","opentelemetry","policy","semconv"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-telemetry.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-07T18:14:56.000Z","updated_at":"2025-03-28T22:14:38.000Z","dependencies_parsed_at":"2024-12-13T03:18:05.481Z","dependency_job_id":"52677413-f531-4eaf-9d24-138adba2b2b1","html_url":"https://github.com/open-telemetry/weaver","commit_stats":null,"previous_names":["open-telemetry/weaver"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fweaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fweaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fweaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fweaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-telemetry","download_url":"https://codeload.github.com/open-telemetry/weaver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289409,"owners_count":20914464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codegen","documentation","observability","opentelemetry","policy","semconv"],"created_at":"2024-09-27T14:22:07.788Z","updated_at":"2026-03-14T01:52:54.057Z","avatar_url":"https://github.com/open-telemetry.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# OpenTelemetry Weaver\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"docs/images/weaver-logo.svg\" alt=\"OpenTelemetry Weaver\" width=\"200\" height=\"100\" align=\"left\" style=\"margin-right: 20px;\"\u003e\n\u003c/p\u003e\n\n### Observability by Design\n\n_Treat your telemetry like a public API_\n\n\u0026nbsp;\n\n[![build](https://github.com/open-telemetry/weaver/actions/workflows/ci.yml/badge.svg)](https://github.com/open-telemetry/weaver/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/open-telemetry/weaver/graph/badge.svg?token=tmWKFoMT2G)](https://codecov.io/gh/open-telemetry/weaver)\n[![build](https://github.com/open-telemetry/weaver/actions/workflows/audit.yml/badge.svg)](https://github.com/open-telemetry/weaver/actions/workflows/audit.yml)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Slack](https://img.shields.io/badge/Slack-%23otel--weaver-purple)](https://cloud-native.slack.com/archives/C0697EXNTL3)\n\nOpenTelemetry Weaver helps teams build observability by design, enabling consistent, type-safe, and automated telemetry through semantic conventions. With Weaver, you can define, validate, and evolve your telemetry schemas, ensuring reliability and clarity across your systems.\n\n## What is Observability by Design?\n\nHave you ever experienced:\n\n- Broken alerts after a deployment because metric names changed?\n- Complex, hard-to-understand queries due to inconsistent naming?\n- Teams struggling to interpret unclear or undocumented signals?\n- Missing critical instrumentation discovered only in production?\n\n**Observability by Design** solves these problems by treating your observability signals (metrics, traces, logs) as a first-class public API that requires the same quality standards as your code.\n\nAn introduction to Weaver and Observability by Design is presented in the official blog post: [Observability by Design: Unlocking Consistency with OpenTelemetry Weaver](https://opentelemetry.io/blog/2025/otel-weaver/)\n\n## Install\n\n**Pre-built binaries:**\n\nLinux, Windows and Mac installers on the [releases](https://github.com/open-telemetry/weaver/releases) page.\n\n**Docker:**\n\n```bash\ndocker pull otel/weaver\n```\n\n**From source:**\n\n```bash\ngit clone https://github.com/open-telemetry/weaver.git\ncd weaver\ncargo build --release\n```\n\n**GitHub Actions:**\n\nUse Weaver in your CI/CD workflows with the `setup-weaver` action. See the [setup-weaver documentation](.github/actions/setup-weaver/README.md) or check out [opentelemetry-weaver-examples](https://github.com/open-telemetry/opentelemetry-weaver-examples) for practical CI workflow examples.\n\n## Usage\n\nWeaver provides a _set of tools_ for working with **schematized telemetry**.\n\n- **[Registry](./docs/registry.md)**: The schema definition\n  - [**Validation**](./docs/validate.md): Lint syntax, semantics and custom rules\n  - **Resolving**: Consolidate the registry and its dependencies into a single artifact\n  - [**Comparing**](docs/schema-changes.md): Compute the differences between two versions of a registry\n- [**Code generation**](./docs/codegen.md): Produce (non-)code artifacts from the schema using templates\n  - e.g. Go code, Markdown documentation, etc.\n- Working with real telemetry\n  - [**Live-checking**](/crates/weaver_live_check/README.md) of emitted telemetry against a schema\n  - **Emitting** example telemetry based on a schema\n\nFurther reading:\n- [Weaver Architecture](docs/architecture.md): A document detailing the architecture of the project.\n- [Application Telemetry Schema OTEP](https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/0243-app-telemetry-schema-vision-roadmap.md): A vision and roadmap for the concept of Application Telemetry Schema.\n\n## Examples and How-Tos\n\n- [Weaver Examples](https://github.com/open-telemetry/opentelemetry-weaver-examples) - Official OTel project showcasing weaver use cases through runnable examples.\n- [O11y by design](https://github.com/jsuereth/o11y-by-design/) - from the CNCF 2025 presentation\n- [Define your own telemetry schema](docs/define-your-own-telemetry-schema.md) - A guide on how to define your own\n  telemetry schema using semantic conventions.\n\n\n## Media\n\n- [OpenTelemetry Weaver - Observability by Design](https://www.youtube.com/watch?v=BJt6LyJEYD0) - CNCF presentation introducing Weaver's core concepts\n- [OpenTelemetry Semantic Conventions and How to Avoid Broken Observability](https://www.youtube.com/watch?v=Vd6MheRkHss) - SRECON Americas 2025 presentation\n- [Observability by Design: Unlocking Consistency with OpenTelemetry Weaver](https://opentelemetry.io/blog/2025/otel-weaver/) - official blog post on opentelemetry.io\n- [Presentation slides from the Semantic Convention SIG meeting on October 23, 2023](https://docs.google.com/presentation/d/1nxt5VFlC1mUjZ8eecUYK4e4SxThpIVj1IRnIcodMsNI/edit?usp=sharing).\n\n## Main Commands\n\n| Command                                                                   | Description                                 |\n|---------------------------------------------------------------------------|---------------------------------------------|\n| [weaver registry check](docs/usage.md#registry-check)                     | Validates a semantic convention registry    |\n| [weaver registry resolve](docs/usage.md#registry-resolve)                 | Resolves a semantic convention registry     |\n| [weaver registry diff](docs/usage.md#registry-diff)                       | Generate a diff between two versions of a semantic convention registry |\n| [weaver registry generate](docs/usage.md#registry-generate)               | Generates artifacts from a semantic convention registry  |\n| [weaver registry update-markdown](docs/usage.md#registry-update-markdown) | Update markdown files that contain markers indicating the templates used to update the specified sections |\n| [weaver registry live-check](docs/usage.md#registry-live-check)           | Check the conformance level of an OTLP stream against a semantic convention registry |\n| [weaver registry emit](docs/usage.md#registry-emit)                       | Emits a semantic convention registry as example signals to your OTLP receiver |\n| [weaver registry mcp](docs/mcp-server.md)                                 | Run an MCP server for LLM integration |\n| [weaver completion](docs/usage.md#completion)                             | Generate shell completions |\n\n\n## Getting Help\n\n- **Documentation**: [docs/](docs/)\n- **Issues**: [GitHub Issues](https://github.com/open-telemetry/weaver/issues)\n- **Roadmap**: [Github Project](https://github.com/orgs/open-telemetry/projects/74)\n- **Discussions**: [OpenTelemetry Slack #weaver](https://cloud-native.slack.com/archives/C0697EXNTL3)\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nApache License 2.0 - see [LICENSE](LICENSE) for details.\n\n---\n\n_Stop treating observability as an afterthought. Start building it by design._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-telemetry%2Fweaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-telemetry%2Fweaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-telemetry%2Fweaver/lists"}