Skip to content

Add constant generation for entity types - #593

Merged
jack-berg merged 1 commit into
open-telemetry:mainfrom
jack-berg:generate-entity-constants
Oct 16, 2026
Merged

jack-berg merged 1 commit into
open-telemetry:mainfrom
jack-berg:generate-entity-constants

Conversation

@jack-berg

Copy link
Copy Markdown
Member

Follows the pattern of #483, #489. Starting with incubating only.

cc @trask, @lmolkova

@jack-berg
jack-berg requested review from a team as code owners October 9, 2026 18:26
Copilot AI balanced review requested due to automatic review settings October 9, 2026 18:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

Generation and coverage are consistent, with only a non-blocking upstream Javadoc typo remaining.

1 open finding
What changed in this PR

Adds incubating Java constants for OpenTelemetry entity types using Weaver generation.

Changes:

  • Adds entity-generation configuration and template.
  • Generates 24 namespace-specific entity classes.
  • Tests class availability, values, stability, and deprecation.
File Description
buildscripts/​templates/​registry/​incubating_java/​weaver.yaml Wires entity generation.
buildscripts/​templates/​registry/​incubating_java/​IncubatingSemanticEntities.java.j2 Defines entity constant generation.
semconv-incubating/​src/​test/​java/​io/​opentelemetry/​semconv/​incubating/​IncubatingEntitiesTest.java Tests representative constants.
semconv-incubating/​src/​test/​java/​io/​opentelemetry/​semconv/​incubating/​IncubatingAvailabilityTest.java Verifies generated classes.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​AndroidIncubatingEntities.java Adds Android entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​AppIncubatingEntities.java Adds application entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​AwsIncubatingEntities.java Adds AWS entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​BrowserIncubatingEntities.java Adds browser entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​CicdIncubatingEntities.java Adds CI/CD entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​CloudIncubatingEntities.java Adds cloud entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​CloudfoundryIncubatingEntities.java Adds Cloud Foundry entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​ContainerIncubatingEntities.java Adds container entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​DeploymentIncubatingEntities.java Adds deployment entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​DeviceIncubatingEntities.java Adds device entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​FaasIncubatingEntities.java Adds FaaS entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​GcpIncubatingEntities.java Adds GCP entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​HerokuIncubatingEntities.java Adds Heroku entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​HostIncubatingEntities.java Adds host entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​K8sIncubatingEntities.java Adds Kubernetes entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​OpenshiftIncubatingEntities.java Adds OpenShift entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​OsIncubatingEntities.java Adds operating-system entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​OtelIncubatingEntities.java Adds deprecated OTel entity constant.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​ProcessIncubatingEntities.java Adds process entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​ServiceIncubatingEntities.java Adds service entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​TelemetryIncubatingEntities.java Adds telemetry entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​VcsIncubatingEntities.java Adds VCS entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​WebengineIncubatingEntities.java Adds web-engine entity constants.
semconv-incubating/​src/​main/​java/​io/​opentelemetry/​semconv/​incubating/​ZosIncubatingEntities.java Adds z/OS entity constants.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@breedx-splk breedx-splk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

A great start, thanks!

public static final String AWS_EKS_TYPE = "aws.eks";

/** Entities specific to Amazon Web Services. */
public static final String AWS_LOG_TYPE = "aws.log";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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 think those changes would likely be included in the next semantic convention release yeah? If so, then we won't actually publish these new entity constants until updating to the latest semconv release with those changes. So no harm done.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

good point 👍

@jack-berg
jack-berg merged commit 8804f3b into open-telemetry:main Oct 16, 2026
18 checks passed
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.

4 participants