Skip to content

feat: Trilogy attribute semantic convention stability#2095

Open
hannahramadan wants to merge 23 commits intoopen-telemetry:mainfrom
hannahramadan:trilogy_semantic_stability
Open

feat: Trilogy attribute semantic convention stability#2095
hannahramadan wants to merge 23 commits intoopen-telemetry:mainfrom
hannahramadan:trilogy_semantic_stability

Conversation

@hannahramadan
Copy link
Copy Markdown
Member

@hannahramadan hannahramadan commented Mar 18, 2026

This PR is intended to assist in the transition from the old to new database semantic convention attribute names. Per the database semantic convention stability migration spec, users should be able to set the environment variable OTEL_SEMCONV_STABILITY_OPT_IN to:

  • database to emit stable conventions only
  • database/dup to emit both old and the stable conventions
  • a blank env var will emit old conventions only

The agent is required to maintain this bridge for 6 months and may drop the environment variable in the next major version and emit only the stable database and networking conventions.

This approach was approved for HTTP migration in #1547

Changes (Old -> Stable):

  • db.system → db.system.name
  • net.peer.name → server.address
  • db.name → db.namespace
  • db.statement → db.query.text

Removed in stable:

  • db.user
  • db.instance.id
  • peer.service

Added in stable:

  • server.port
  • error.type
  • db.response.status_code

Comment thread helpers/mysql/lib/opentelemetry/helpers/mysql.rb Outdated
Comment thread instrumentation/trilogy/README.md Outdated
Comment thread instrumentation/trilogy/README.md
hannahramadan and others added 3 commits April 13, 2026 19:02
…ogy/patches/stable/client.rb

Co-authored-by: Robb Kidd <robb@thekidds.org>
Include table for stable v old conventions
@hannahramadan hannahramadan changed the title feat: Trilogy semantic convention stability feat: Trilogy attribute semantic convention stability Apr 14, 2026
hannahramadan and others added 2 commits April 21, 2026 13:40
Co-authored-by: Robb Kidd <robb@thekidds.org>

digest = Digest::MD5.new
digest.update('test')
digest.update(ENV.fetch('BUNDLE_GEMFILE', 'gemfile'))
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is a copy of the repo-level .simplecov, minus a guard:

digest.update(ENV.fetch('BUNDLE_GEMFILE', 'gemfile')) if ENV['APPRAISAL_INITIALIZED']

Usually appraisals are testing the same test file with different versions. They are overwriting each other's test coverage but it doesn't matter because it still looks like one file is well tested.

But now different appraisals are testing different source files and still overwriting each other's name, so it looks like code is missing tests.

The fix gives each run a unique name so all 6 results are saved and combined. When we are done with all these duplicate files, we can simply delete this file

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'm just seeing #2272. If that is merged, i'll revert this change, merge that change in, and see if that fixes things

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants