Skip to content

refactor(telemetry): generalize service instrumentation#152

Merged
yordis merged 1 commit into
mainfrom
yordis/refactor-telemetry
May 6, 2026
Merged

refactor(telemetry): generalize service instrumentation#152
yordis merged 1 commit into
mainfrom
yordis/refactor-telemetry

Conversation

@yordis
Copy link
Copy Markdown
Member

@yordis yordis commented May 6, 2026

  • Telemetry ownership needs to match the Trogon services that share it, not only ACP binaries.
  • Resource attribution needs to support protocol-specific identity without coupling observability to ACP naming.
  • Shared telemetry lifecycle behavior reduces drift across binaries that initialize and shut down OpenTelemetry.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 284ab713-2bdc-402d-b924-a6dbe48c8ed4

📥 Commits

Reviewing files that changed from the base of the PR and between ad3de3e and 7411092.

⛔ Files ignored due to path filters (1)
  • rsworkspace/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (26)
  • rsworkspace/Cargo.toml
  • rsworkspace/crates/acp-nats-server/Cargo.toml
  • rsworkspace/crates/acp-nats-server/README.md
  • rsworkspace/crates/acp-nats-server/src/connection.rs
  • rsworkspace/crates/acp-nats-server/src/main.rs
  • rsworkspace/crates/acp-nats-server/src/transport.rs
  • rsworkspace/crates/acp-nats-stdio/Cargo.toml
  • rsworkspace/crates/acp-nats-stdio/README.md
  • rsworkspace/crates/acp-nats-stdio/src/main.rs
  • rsworkspace/crates/trogon-gateway/Cargo.toml
  • rsworkspace/crates/trogon-gateway/src/main.rs
  • rsworkspace/crates/trogon-source-discord/Cargo.toml
  • rsworkspace/crates/trogon-source-github/Cargo.toml
  • rsworkspace/crates/trogon-source-gitlab/Cargo.toml
  • rsworkspace/crates/trogon-source-linear/Cargo.toml
  • rsworkspace/crates/trogon-source-slack/Cargo.toml
  • rsworkspace/crates/trogon-source-telegram/Cargo.toml
  • rsworkspace/crates/trogon-telemetry/Cargo.toml
  • rsworkspace/crates/trogon-telemetry/src/constants.rs
  • rsworkspace/crates/trogon-telemetry/src/lib.rs
  • rsworkspace/crates/trogon-telemetry/src/log.rs
  • rsworkspace/crates/trogon-telemetry/src/metric.rs
  • rsworkspace/crates/trogon-telemetry/src/resource_attribute.rs
  • rsworkspace/crates/trogon-telemetry/src/service_name.rs
  • rsworkspace/crates/trogon-telemetry/src/trace.rs
  • rsworkspace/crates/trogon-telemetry/tests/lifecycle.rs

Walkthrough

This PR renames the acp-telemetry crate to trogon-telemetry and refactors its public API to accept resource attributes instead of string-based configuration. It updates all workspace dependencies and consumer code to use the new crate name and API, replacing the ACP_LOG_DIR environment variable with TROGON_LOG_DIR throughout.

Changes

Telemetry Crate Rename and API Refactoring

Layer / File(s) Summary
Crate Rename & Workspace Baseline
rsworkspace/Cargo.toml, rsworkspace/crates/trogon-telemetry/Cargo.toml
Root rename: acp-telemetrytrogon-telemetry in workspace dependencies and crate manifest.
Library API Architecture
rsworkspace/crates/trogon-telemetry/src/lib.rs, rsworkspace/crates/trogon-telemetry/src/resource_attribute.rs
New ResourceAttribute enum with AcpPrefix variant replaces string-based config. init_logger signature accepts generic IntoIterator<Item = ResourceAttribute> instead of acp_prefix: &str. try_init_otel refactored to build OpenTelemetry Resource from attributes.
Service Name Expansion
rsworkspace/crates/trogon-telemetry/src/service_name.rs
Add McpNatsStdio and McpNatsServer variants to ServiceName enum with corresponding string mappings.
Constants & Environment
rsworkspace/crates/trogon-telemetry/src/constants.rs, rsworkspace/crates/trogon-telemetry/src/log.rs
Add RESOURCE_ATTRIBUTE_ACP_PREFIX constant. Change env var from ACP_LOG_DIR to TROGON_LOG_DIR in ensure_log_dir.
Internal Cleanup
rsworkspace/crates/trogon-telemetry/src/log.rs, rsworkspace/crates/trogon-telemetry/src/metric.rs, rsworkspace/crates/trogon-telemetry/src/trace.rs
Remove internal pub(crate) fn force_flush() functions from log, metric, and trace modules; shutdown now aggregates provider errors directly.
Consumer Dependency Updates
rsworkspace/crates/acp-nats-server/Cargo.toml, rsworkspace/crates/acp-nats-stdio/Cargo.toml, rsworkspace/crates/trogon-gateway/Cargo.toml, rsworkspace/crates/trogon-source-*/Cargo.toml
Replace all acp-telemetry = { workspace = true } with trogon-telemetry = { workspace = true } across 7 crates.
Consumer Implementation Updates
rsworkspace/crates/acp-nats-server/src/main.rs, rsworkspace/crates/acp-nats-server/src/connection.rs, rsworkspace/crates/acp-nats-server/src/transport.rs, rsworkspace/crates/acp-nats-stdio/src/main.rs, rsworkspace/crates/trogon-gateway/src/main.rs
Update all telemetry initialization calls: switch meter/init_logger to trogon_telemetry::*, pass ResourceAttribute::acp_prefix(...) instead of string, import shutdown_signal directly, call trogon_telemetry::shutdown_otel(). Add early error when no gateway sources configured.
Documentation Updates
rsworkspace/crates/acp-nats-server/README.md, rsworkspace/crates/acp-nats-stdio/README.md
Replace ACP_LOG_DIR with TROGON_LOG_DIR in Observability environment variable documentation.
Test Updates
rsworkspace/crates/trogon-telemetry/tests/lifecycle.rs
Update test imports and env var usage to TROGON_LOG_DIR; adjust init_logger call to pass [ResourceAttribute::acp_prefix("test")] instead of "test" string; update shutdown to use trogon_telemetry::shutdown_otel().

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

  • TrogonStack/trogonai#37: Directly modifies acp-nats-stdio telemetry integration and Cargo.toml; this PR applies the telemetry migration introduced by that PR.
  • TrogonStack/trogonai#104: Modifies telemetry crate's ServiceName enum and wiring; this PR adds the new MCP service variants to that enum.
  • TrogonStack/trogonai#38: Uses the renamed trogon-telemetry crate and its updated resource attribute API in new consumer code.

Poem

🐰 Hop hop, refactor done!
From acp to trogon—what telemetry fun!
Attributes now flow, where strings used to go,
Log dirs renamed, and API aglow.
Clean wiring, new names, one crate stands anew!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/refactor-telemetry

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cursor
Copy link
Copy Markdown

cursor Bot commented May 6, 2026

PR Summary

Medium Risk
Medium risk because it changes telemetry initialization/shutdown and renames the log directory env var across multiple binaries, which could break logging/OTel attribution if misconfigured.

Overview
Telemetry crate ownership/usage is migrated from acp-telemetry to trogon-telemetry across the workspace, updating Cargo.toml deps and all affected binaries to call trogon_telemetry::{init_logger,meter,shutdown_otel}.

trogon-telemetry now accepts an iterator of ResourceAttribute values (e.g. acp.prefix) instead of a single acp_prefix string, expands ServiceName to include MCP variants, and makes logger initialization resilient to being called multiple times via try_init.

Operational config changes: file logging env var is renamed from ACP_LOG_DIR to TROGON_LOG_DIR (docs + code), and OpenTelemetry shutdown behavior is simplified by removing explicit force-flush helpers while adding tests for shutdown error formatting and log file open failures.

Reviewed by Cursor Bugbot for commit 7411092. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

badge

Code Coverage Summary

Details
Filename                                                                      Stmts    Miss  Cover    Missing
--------------------------------------------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
crates/trogon-std/src/duration.rs                                                45       0  100.00%
crates/trogon-std/src/json.rs                                                    30       0  100.00%
crates/trogon-std/src/uuid.rs                                                     7       0  100.00%
crates/trogon-std/src/args.rs                                                    10       0  100.00%
crates/trogon-std/src/signal.rs                                                   7       1  85.71%   43
crates/trogon-std/src/http.rs                                                    19       0  100.00%
crates/trogon-std/src/secret_string.rs                                           35       0  100.00%
crates/trogon-service-config/src/lib.rs                                          92       0  100.00%
crates/trogon-source-gitlab/src/server.rs                                       397       0  100.00%
crates/trogon-source-gitlab/src/config.rs                                        17       0  100.00%
crates/trogon-source-gitlab/src/signature.rs                                     28       0  100.00%
crates/acp-nats-server/src/acp_connection_id.rs                                  45       0  100.00%
crates/acp-nats-server/src/transport.rs                                        1833     109  94.05%   277, 528, 546, 573, 627, 632, 651, 663, 782, 805-807, 859, 876-879, 974-977, 1051, 1054, 1057, 1066, 1070, 1073, 1076-1079, 1098, 1130-1133, 1141-1146, 1158-1162, 1166-1175, 1187-1188, 1206-1207, 1217, 1233-1237, 1265-1271, 1290-1292, 1297-1301, 1304-1309, 1319-1321, 1330, 1332-1333, 1415-1416, 1428-1429, 1449-1450, 1502-1518, 2214, 2257, 2309, 2364, 2376
crates/acp-nats-server/src/main.rs                                              896      10  98.88%   100, 231-238, 437
crates/acp-nats-server/src/connection.rs                                        171      32  81.29%   76-83, 88-99, 115, 117-118, 123, 132-133, 138, 142, 146, 149, 157, 161, 164, 167-171, 207
crates/acp-nats-server/src/config.rs                                            137       9  93.43%   41, 50-61
crates/acp-nats/src/nats/parsing.rs                                             278       1  99.64%   151
crates/acp-nats/src/nats/extensions.rs                                            3       0  100.00%
crates/acp-nats/src/nats/mod.rs                                                  23       0  100.00%
crates/acp-nats/src/lib.rs                                                       69       0  100.00%
crates/acp-nats/src/error.rs                                                     82       0  100.00%
crates/acp-nats/src/client_proxy.rs                                             181       0  100.00%
crates/acp-nats/src/jsonrpc.rs                                                    6       0  100.00%
crates/acp-nats/src/pending_prompt_waiters.rs                                   134       0  100.00%
crates/acp-nats/src/acp_prefix.rs                                                50       0  100.00%
crates/acp-nats/src/ext_method_name.rs                                           68       0  100.00%
crates/acp-nats/src/session_id.rs                                                71       0  100.00%
crates/acp-nats/src/req_id.rs                                                    39       0  100.00%
crates/acp-nats/src/config.rs                                                   203       0  100.00%
crates/acp-nats/src/in_flight_slot_guard.rs                                      32       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_kill.rs                    12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/fs_read_text_file.rs                12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_output.rs                  12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/session_request_permission.rs       12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_create.rs                  12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_release.rs                 12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_wait_for_exit.rs           12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/fs_write_text_file.rs               12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/session_update.rs                   12       0  100.00%
crates/acp-nats-agent/src/connection.rs                                        1270       1  99.92%   607
crates/trogon-source-microsoft-graph/src/client_state.rs                         30       0  100.00%
crates/trogon-source-microsoft-graph/src/server.rs                              325       0  100.00%
crates/acp-nats/src/client/terminal_release.rs                                  347       0  100.00%
crates/acp-nats/src/client/mod.rs                                              2851       0  100.00%
crates/acp-nats/src/client/fs_read_text_file.rs                                 356       0  100.00%
crates/acp-nats/src/client/terminal_kill.rs                                     290       0  100.00%
crates/acp-nats/src/client/terminal_wait_for_exit.rs                            378       0  100.00%
crates/acp-nats/src/client/terminal_create.rs                                   274       0  100.00%
crates/acp-nats/src/client/rpc_reply.rs                                          64       0  100.00%
crates/acp-nats/src/client/ext.rs                                               308       8  97.40%   163-172, 189-198
crates/acp-nats/src/client/terminal_output.rs                                   206       0  100.00%
crates/acp-nats/src/client/ext_session_prompt_response.rs                       135       0  100.00%
crates/acp-nats/src/client/session_update.rs                                     55       0  100.00%
crates/acp-nats/src/client/request_permission.rs                                308       0  100.00%
crates/acp-nats/src/client/fs_write_text_file.rs                                418       0  100.00%
crates/trogon-source-telegram/src/server.rs                                     339       0  100.00%
crates/trogon-source-telegram/src/config.rs                                     109       0  100.00%
crates/trogon-source-telegram/src/registration.rs                               324       0  100.00%
crates/trogon-source-telegram/src/signature.rs                                   32       0  100.00%
crates/trogon-std/src/fs/system.rs                                               92       0  100.00%
crates/trogon-std/src/fs/mem.rs                                                 216      10  95.37%   61-63, 77-79, 132-134, 157
crates/acp-nats/src/agent/ext_notification.rs                                    82       0  100.00%
crates/acp-nats/src/agent/resume_session.rs                                      90       0  100.00%
crates/acp-nats/src/agent/fork_session.rs                                        94       0  100.00%
crates/acp-nats/src/agent/new_session.rs                                         82       0  100.00%
crates/acp-nats/src/agent/initialize.rs                                          79       0  100.00%
crates/acp-nats/src/agent/set_session_config_option.rs                           67       0  100.00%
crates/acp-nats/src/agent/bridge.rs                                             123       4  96.75%   108-111
crates/acp-nats/src/agent/js_request.rs                                         283       0  100.00%
crates/acp-nats/src/agent/list_sessions.rs                                       47       0  100.00%
crates/acp-nats/src/agent/set_session_model.rs                                   67       0  100.00%
crates/acp-nats/src/agent/cancel.rs                                             101       0  100.00%
crates/acp-nats/src/agent/set_session_mode.rs                                    67       0  100.00%
crates/acp-nats/src/agent/load_session.rs                                        89       0  100.00%
crates/acp-nats/src/agent/authenticate.rs                                        49       0  100.00%
crates/acp-nats/src/agent/logout.rs                                              49       0  100.00%
crates/acp-nats/src/agent/close_session.rs                                       63       0  100.00%
crates/acp-nats/src/agent/prompt.rs                                             471       0  100.00%
crates/acp-nats/src/agent/mod.rs                                                 65       0  100.00%
crates/acp-nats/src/agent/ext_method.rs                                          82       0  100.00%
crates/acp-nats/src/agent/test_support.rs                                       267       0  100.00%
crates/trogon-std/src/telemetry/http.rs                                         217       0  100.00%
crates/acp-nats-stdio/src/main.rs                                               135      25  81.48%   65, 113-120, 126-128, 145, 174-193
crates/acp-nats-stdio/src/config.rs                                              66       0  100.00%
crates/acp-nats/src/nats/subjects/mod.rs                                        362       0  100.00%
crates/acp-nats/src/nats/subjects/stream.rs                                      56       0  100.00%
crates/trogon-gateway/src/config.rs                                            1946       0  100.00%
crates/trogon-gateway/src/main.rs                                                 4       0  100.00%
crates/trogon-gateway/src/streams.rs                                            148       0  100.00%
crates/trogon-gateway/src/source_status.rs                                       28       0  100.00%
crates/trogon-gateway/src/http.rs                                               119       0  100.00%
crates/trogon-nats/src/token.rs                                                   6       0  100.00%
crates/trogon-nats/src/mocks.rs                                                 284       0  100.00%
crates/trogon-nats/src/auth.rs                                                  114       0  100.00%
crates/trogon-nats/src/subject_token_violation.rs                                17       0  100.00%
crates/trogon-nats/src/client.rs                                                 22      22  0.00%    50-86
crates/trogon-nats/src/connect.rs                                                94       9  90.43%   22-23, 33, 60-65
crates/trogon-nats/src/nats_token.rs                                            157       0  100.00%
crates/trogon-nats/src/messaging.rs                                             561       2  99.64%   144, 154
crates/trogon-source-notion/src/notion_verification_token.rs                     17       0  100.00%
crates/trogon-source-notion/src/server.rs                                       318       8  97.48%   92-96, 129-130, 149-150
crates/trogon-source-notion/src/signature.rs                                     56       1  98.21%   32
crates/trogon-source-notion/src/notion_event_type.rs                             46       3  93.48%   47-49
crates/acp-nats/src/nats/subjects/global/ext.rs                                   9       0  100.00%
crates/acp-nats/src/nats/subjects/global/session_new.rs                           6       0  100.00%
crates/acp-nats/src/nats/subjects/global/logout.rs                                6       0  100.00%
crates/acp-nats/src/nats/subjects/global/ext_notify.rs                            9       0  100.00%
crates/acp-nats/src/nats/subjects/global/session_list.rs                          6       0  100.00%
crates/acp-nats/src/nats/subjects/global/authenticate.rs                          6       0  100.00%
crates/acp-nats/src/nats/subjects/global/initialize.rs                            6       0  100.00%
crates/trogon-source-twitter/src/signature.rs                                    69       0  100.00%
crates/trogon-source-twitter/src/config.rs                                       17       0  100.00%
crates/trogon-source-twitter/src/server.rs                                      525       0  100.00%
crates/trogon-source-slack/src/signature.rs                                      77       0  100.00%
crates/trogon-source-slack/src/server.rs                                        863       0  100.00%
crates/trogon-source-slack/src/config.rs                                         17       0  100.00%
crates/trogon-std/src/dirs/fixed.rs                                              80       0  100.00%
crates/trogon-std/src/dirs/system.rs                                             71       0  100.00%
crates/trogon-nats/src/telemetry/messaging.rs                                    82       0  100.00%
crates/trogon-std/src/time/system.rs                                             31       0  100.00%
crates/trogon-std/src/time/mock.rs                                              125       0  100.00%
crates/trogon-source-incidentio/src/config.rs                                    16       0  100.00%
crates/trogon-source-incidentio/src/incidentio_signing_secret.rs                 67       0  100.00%
crates/trogon-source-incidentio/src/signature.rs                                369       0  100.00%
crates/trogon-source-incidentio/src/incidentio_event_type.rs                     62       0  100.00%
crates/trogon-source-incidentio/src/server.rs                                   343       0  100.00%
crates/trogon-nats/src/lease/renew.rs                                           246      19  92.28%   23-29, 48-59
crates/trogon-nats/src/lease/acquire.rs                                           5       5  0.00%    9-14
crates/trogon-nats/src/lease/lease_timing.rs                                     15       0  100.00%
crates/trogon-nats/src/lease/mod.rs                                             561      13  97.68%   180-193
crates/trogon-nats/src/lease/renew_interval.rs                                   61       0  100.00%
crates/trogon-nats/src/lease/lease_config_error.rs                               11       0  100.00%
crates/trogon-nats/src/lease/provision.rs                                       187      10  94.65%   82-92
crates/trogon-nats/src/lease/release.rs                                           5       5  0.00%    8-12
crates/trogon-nats/src/lease/lease_bucket.rs                                     19       0  100.00%
crates/trogon-nats/src/lease/nats_kv_lease_config.rs                             26       0  100.00%
crates/trogon-nats/src/lease/ttl.rs                                              73       0  100.00%
crates/trogon-nats/src/lease/lease_key.rs                                        19       0  100.00%
crates/trogon-telemetry/src/log.rs                                               68       1  98.53%   33
crates/trogon-telemetry/src/metric.rs                                            26       1  96.15%   29
crates/trogon-telemetry/src/service_name.rs                                      44       0  100.00%
crates/trogon-telemetry/src/lib.rs                                              197      23  88.32%   94, 99, 104, 114-115, 121-139, 175, 178, 181, 187
crates/trogon-telemetry/src/resource_attribute.rs                                13       0  100.00%
crates/trogon-telemetry/src/trace.rs                                             23       1  95.65%   22
crates/acp-nats/src/nats/subjects/responses/prompt_response.rs                   27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/ext_ready.rs                         12       0  100.00%
crates/acp-nats/src/nats/subjects/responses/cancelled.rs                         15       0  100.00%
crates/acp-nats/src/nats/subjects/responses/update.rs                            27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/response.rs                          20       0  100.00%
crates/trogon-nats/src/jetstream/create_conflicts.rs                             24       0  100.00%
crates/trogon-nats/src/jetstream/publish.rs                                      64       0  100.00%
crates/trogon-nats/src/jetstream/stream_max_age.rs                               18       0  100.00%
crates/trogon-nats/src/jetstream/mocks.rs                                       670      32  95.22%   364-378, 384-392, 407-413, 427-430, 494-496
crates/trogon-nats/src/jetstream/traits.rs                                       46      46  0.00%    145-248
crates/trogon-nats/src/jetstream/claim_check.rs                                 346       0  100.00%
crates/acp-nats/src/jetstream/ext_policy.rs                                      26       0  100.00%
crates/acp-nats/src/jetstream/consumers.rs                                       91       0  100.00%
crates/acp-nats/src/jetstream/provision.rs                                       53       0  100.00%
crates/acp-nats/src/jetstream/streams.rs                                        163       4  97.55%   206-208, 218
crates/trogon-source-sentry/src/sentry_client_secret.rs                          17       0  100.00%
crates/trogon-source-sentry/src/signature.rs                                     54       0  100.00%
crates/trogon-source-sentry/src/server.rs                                       311       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_agent_ext.rs                  9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/global_all.rs                     9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_agent.rs                      9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/prompt_wildcard.rs                9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_session.rs                   12       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_agent.rs                     15       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_client.rs                    15       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_client.rs                     9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_session.rs                    9       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_config_option.rs                  15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/load.rs                               15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/prompt.rs                             15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/fork.rs                               15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/close.rs                              15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_mode.rs                           15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_model.rs                          15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/cancel.rs                             15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/resume.rs                             15       0  100.00%
crates/trogon-source-discord/src/config.rs                                      108       0  100.00%
crates/trogon-source-discord/src/gateway.rs                                     426       1  99.77%   137
crates/trogon-source-linear/src/server.rs                                       386       0  100.00%
crates/trogon-source-linear/src/config.rs                                        17       0  100.00%
crates/trogon-source-linear/src/signature.rs                                     54       1  98.15%   16
crates/acp-nats/src/telemetry/metrics.rs                                         53       0  100.00%
crates/trogon-std/src/env/system.rs                                              17       0  100.00%
crates/trogon-std/src/env/in_memory.rs                                           73       0  100.00%
crates/trogon-source-github/src/config.rs                                        17       0  100.00%
crates/trogon-source-github/src/server.rs                                       328       0  100.00%
crates/trogon-source-github/src/signature.rs                                     61       0  100.00%
TOTAL                                                                         29149     417  98.57%

Diff against main

Filename                                             Stmts    Miss  Cover
-------------------------------------------------  -------  ------  --------
crates/acp-nats-server/src/transport.rs                  0      -1  +0.05%
crates/trogon-telemetry/src/log.rs                     +68      +1  +98.53%
crates/trogon-telemetry/src/metric.rs                  +26      +1  +96.15%
crates/trogon-telemetry/src/service_name.rs            +44       0  +100.00%
crates/trogon-telemetry/src/lib.rs                    +197     +23  +88.32%
crates/trogon-telemetry/src/resource_attribute.rs      +13       0  +100.00%
crates/trogon-telemetry/src/trace.rs                   +23      +1  +95.65%
TOTAL                                                 +371     +25  +0.04%

Results for commit: 7411092

Minimum allowed coverage is 95%

♻️ This comment has been updated with latest results

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 898e42f. Configure here.

Comment thread rsworkspace/crates/trogon-telemetry/src/log.rs Outdated
@yordis yordis added the rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline label May 6, 2026
@yordis yordis force-pushed the yordis/refactor-telemetry branch 2 times, most recently from f216241 to 1f0e72d Compare May 6, 2026 08:11
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis yordis force-pushed the yordis/refactor-telemetry branch from 1f0e72d to 7411092 Compare May 6, 2026 08:24
@yordis yordis merged commit 8909c37 into main May 6, 2026
6 of 7 checks passed
@yordis yordis deleted the yordis/refactor-telemetry branch May 6, 2026 08:27
mariorha added a commit that referenced this pull request May 12, 2026
Resolves all conflicts from 5 commits:
- refactor(gateway): consolidate source adapters (#153)
- feat(mcp-nats): support distributed MCP (#149)
- refactor(telemetry): generalize service instrumentation (#152)
- fix(signal): share shutdown boundary (#151)
- fix(acp-nats): preserve typed NATS subject contracts (#150)

Key decisions:
- trogon-source-* Cargo.toml files deleted (accepted gateway consolidation)
- acp-nats-server: accepted origin/main (registry routing removed by fix #150)
- trogon-telemetry: generic resource_attributes API accepted (fix #152)
- service_name.rs: combined AcpNatsWs + McpNatsStdio/McpNatsServer variants
- Platform crates migrated from acp-telemetry to trogon-telemetry
- signal::shutdown_signal moved from acp-telemetry to trogon-std
- Orphaned trogon-source-* dirs excluded from workspace (tests preserved)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant