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

semconv 1.25: update in a non-breaking way #1651

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Commits on Jul 11, 2024

  1. Configuration menu
    Copy the full SHA
    37ef6dc View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. update semconv rake targets and templates for v1.26

    * pull from the new semconv repo
    
    * update jinja2 template for the new structure of convention data
    
    * stable semconv names will appear in OpenTelemetry::SemanticConventions
      while all semconv names (experimental, deprecated, stable, etc) appear
      in OpenTelemetry::SemanticCandidates
        - This maps to what other langs (Java, Python, JS) are putting into
          "Incubating" modules. We opted for "candidates" because
          OpenTelemetry::SemanticConventions::Incubating::... was getting
          too long and OpenTelemetry::SemanticIncubating didn't make much
          sense.
    
    * generate a module per root semconv namespace to make navigating docs
      more focused and to decrease the number of constants loaded when
      using more precise requires in downstream code
    
    * generates only attribute name constants and to an attributes subfolder
      to prepare for metric name constants to be generated to metrics
      subfolders, also for decreasing the scope of what gets loaded when
      downstream instrumentation requires these constants
    
    Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com>
    robbkidd and kaylareopelle committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    855904a View commit details
    Browse the repository at this point in the history
  2. the code generated

    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    e942876 View commit details
    Browse the repository at this point in the history
  3. add ability to exclude specific attrs from code gen

    Because converting to SCREAMING_SNAKE_CASE cannot distinguish
    between ...
    
        screaming.snake_case
    
    ... and ...
    
        screaming.snake.case
    
    So, like other languages, ignore the deprecated messaging.client_id in
    favor of its replacement and let backends deal with the changed attr
    name.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    09dfa27 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5ce2eae View commit details
    Browse the repository at this point in the history
  5. test that constants are available in candidates

        277 runs, 500 assertions, 26 failures, 0 errors, 0 skips
    
    Apparently there are some kinks to work out.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    4343ffe View commit details
    Browse the repository at this point in the history
  6. generate v1.25 semconv

    There's naming hijinks in the db.* namespace I would like to avoid in
    this first effort to bring semconv up-to-recent-date.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a0798c7 View commit details
    Browse the repository at this point in the history
  7. add/expand doc comments on top-level modules

    Explain the auto-generated situation.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    b982540 View commit details
    Browse the repository at this point in the history
  8. correct deprecation notices for several old names

    The v1.10 names whose comments were updated in this commit were renamed
    or removed in version 1.11-1.25. Made note of their replacements or that
    their use should be dropped.
    
    Removed test for one-to-one matching of 1.10 constants to 1.25 "all"
    constants. That will never pass without updating the source semconv YAML
    to add back the missing names with dep notices. I believe our dep notes
    will suffice and we won't auto-generate Resource or Trace again.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    dc42bf5 View commit details
    Browse the repository at this point in the history
  9. gitignore semconv repo clone; rake improvements

    * Move to a tmp/ dir and ignore that.
    
    * Update the git commands to be able to reuse one directory for
      the repo working copy, just update what's needed for a different
      tag between iterations. (Generally only an improvement for dev envs.)
    
    * Use sh() for shell commands so that tasks fail if their commands fail.
    
    * Appease Rubocop.
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    9b268d1 View commit details
    Browse the repository at this point in the history
  10. typo/grammar corrections

    Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com>
    robbkidd and kaylareopelle committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a641734 View commit details
    Browse the repository at this point in the history
  11. adds kramdown to dev dependencies

    Yard's default use of the rdoc markdown provider was choking on links
    containing codeblocks, for example: [`ENV`](link/to/somewhere). These
    style links are pretty popular in the text details provided with semconv
    attributes.
    
    Let's switch to kramdown which is a markdown parser and
    renderer that:
    
    * can handle inline code blocks inside a link anchor
    * is pure Ruby (no C extensions) so works with JRuby
    robbkidd committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    0446676 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. reorg module namespaces

    * out with Candidates, we're using Incubating like most other SIGs
    * shorten the namespace to SemConv
    * do not provide an all-in-one rollup require for all namespaces;
      downstream users must directly require the namespaces that they use
    * attributes that are templates (prefixes, really, for the moment) are
      generated as lambdas with _LAMBDA appended to their name; users must
      call that lambda with a key for the template to return the attribute
      name string
    robbkidd committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    99788de View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. semconv 1.26 with weaver

    With multiple template entries in weaver.yaml, code generation for
    stable and incubating can be performed in one invocation of the docker
    image. Rakefile targets trimmed down in light of that.
    robbkidd committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    90975a8 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. generate separate attrs and metrics files

    Each root namespace gets separate attributes and metrics files.
    
    Include examples of possible values for attributes.
    
    Include a usage example of the template attributes as lambdas.
    
    Fix links in doc comments referencing stable constants.
    
    Co-authored-by: Hannah Ramadan <hannahramadan@users.noreply.github.com>
    Co-authored-by: Kayla Reopelle <kaylareopelle@users.noreply.github.com>
    3 people committed Sep 16, 2024
    Configuration menu
    Copy the full SHA
    af1516b View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Configuration menu
    Copy the full SHA
    3b6d76a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5708734 View commit details
    Browse the repository at this point in the history