Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore][graph] Remodel node id as attribute sets #11344

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

djaglowski
Copy link
Member

This PR formalizes the notion that attributes are the defining identifiers for component instances in the graph package. It moves us towards the proposal described in #11343.

Copy link

codecov bot commented Oct 3, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 92.08%. Comparing base (151f837) to head (d251016).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11344      +/-   ##
==========================================
+ Coverage   92.07%   92.08%   +0.01%     
==========================================
  Files         432      432              
  Lines       20299    20339      +40     
==========================================
+ Hits        18690    18730      +40     
  Misses       1249     1249              
  Partials      360      360              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@djaglowski djaglowski marked this pull request as ready for review October 3, 2024 20:45
@djaglowski djaglowski requested a review from a team as a code owner October 3, 2024 20:45
@djaglowski djaglowski force-pushed the graph-attributes branch 3 times, most recently from f3779d2 to b299e68 Compare October 4, 2024 15:52
Copy link
Contributor

@codeboten codeboten left a comment

Choose a reason for hiding this comment

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

The change generally looks ok to me and aligns with what we've previously discussed around attributes. Probably needs to wait until the RFC for telemetry is merged before moving forward.

`connector "nop/conn" (traces to traces) -> ` +
`processor "nop" in pipeline "traces/1" -> ` +
`connector "nop/conn1" (traces to traces)`,
`connector "nop/conn1" (traces to traces) -> ` +
Copy link
Contributor

Choose a reason for hiding this comment

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

Why the change in test here?

Copy link
Member Author

@djaglowski djaglowski Oct 24, 2024

Choose a reason for hiding this comment

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

It's really just a change in where the start of the cycle is reported, but it still reports the same cycle deterministically.

What it comes down to is that this PR changes the way node IDs are generated. Previously, we built a particualr string for each kind of component. Now we build the ID from the attribute set. Both methods are deterministic, but the graph presumably contains some logic where the node ids are considered in an order that is sensitive to their values (e.g. sort the ids, then for each one, follow the edges, etc). The logical graph that is produced is the same, but when a cycle is encountered, the order in which it is reported is affected by the order in which nodes were considered.

Copy link
Contributor

This PR was marked stale due to lack of activity. It will be closed in 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants