(GH-1061) Add dsc-lib-telemetry crate - #1663
Open
Mikey Lombardi (He/Him) (michaeltlombardi) wants to merge 4 commits into
Open
(GH-1061) Add dsc-lib-telemetry crate#1663Mikey Lombardi (He/Him) (michaeltlombardi) wants to merge 4 commits into
dsc-lib-telemetry crate#1663Mikey Lombardi (He/Him) (michaeltlombardi) wants to merge 4 commits into
Conversation
This change adds the `dsc-lib-telemetry` crate to the project to provide OpenTelemetry support for DSC. This change also makes a minor update to the `Cargo.toml` file to standardize the order of the crates for each member group. This should ensure that the file doesn't change during a build unless required, minimizing the re-analysis that the IDE needs to do when you build the project.
…rate Prior to this change, `dsc` initialized tracing directly. Other crates, like `registry`, follow similar steps to initialize tracing. This change extracts the tracing initialization logic into the telemetry crate in the `basic` module. This module defines a `BasicTracingOptions` struct that can create a default guard and initialize a subscriber. This change also re-exports the tracing crates from within the `basic` module to enable taking a single dependency.
Copilot started reviewing on behalf of
Mikey Lombardi (He/Him) (michaeltlombardi)
August 10, 2026 18:26
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new dsc-lib-telemetry library crate intended to centralize tracing/telemetry setup for the DSC ecosystem, and updates the dsc CLI to use the new crate’s “basic” tracing subscriber initialization.
Changes:
- Introduces
lib/dsc-lib-telemetrywithStderrFormatand abasicmodule that buildstracing_subscriber+tracing_indicatifsubscribers/guards. - Refactors
dsc/src/util.rs::enable_tracingto usedsc_lib_telemetry::basic::BasicTracingOptionsinstead of inlining subscriber setup. - Updates workspace/build metadata (workspace members, lockfile, and
data.build.json).
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/dsc-lib-telemetry/src/lib.rs | New crate root defining StderrFormat and exporting the basic module. |
| lib/dsc-lib-telemetry/src/basic.rs | Implements basic tracing guard/subscriber setup and re-exports tracing-related crates. |
| lib/dsc-lib-telemetry/Cargo.toml | New crate manifest using workspace tracing dependencies. |
| lib/dsc-lib-telemetry/.project.data.json | Registers the new crate as a Rust library project. |
| dsc/src/util.rs | Switches enable_tracing to initialize tracing via dsc-lib-telemetry. |
| dsc/Cargo.toml | Adds a dependency on dsc-lib-telemetry. |
| data.build.json | Modifies build/project metadata (currently includes issues: duplicate root entry and a non-existent library path). |
| Cargo.toml | Adds lib/dsc-lib-telemetry to workspace members/default-members/groups. |
| Cargo.lock | Adds the new crate to the lockfile dependency graph. |
Suppressed comments (2)
data.build.json:137
data.build.jsoncontains two identicalrootproject entries. This will cause the build metadata to include the same Root project twice, which can lead to duplicated copy operations or ambiguous project lookups.
This issue also appears on line 296 of the same file.
{
"Name": "root",
"Kind": "Root",
"RelativePath": ".",
"CopyFiles": {
data.build.json:300
- This project entry points at
lib/dsc-lib-otel, but that path does not exist in the repo (and this PR is addinglib/dsc-lib-telemetry). This will break tooling that relies ondata.build.jsonto enumerate Rust projects.
"Name": "dsc-lib-otel",
"Kind": "Library",
"RelativePath": "lib/dsc-lib-otel",
"IsRust": true
},
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Summary
This change:
dsc-lib-telemetrycrate to manage tracing and open telemetry concerns fordscand the builtin resources.dscin the new crate.dsc_lib_telemetry::basic.PR Context
This change begins the work for moving the DSC ecosystem towards using Open Telemetry for tracing, logging, and metrics.