What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use an existing OpenTelemetry semantic-convention attribute whenever one matches your concept. If none fits, create a lowercase key with a clear dot-separated namespace, keep the value bounded and the meaning documented, and reserve otel.* for attributes defined by OpenTelemetry itself. Keep request-specific identifiers in attributes—not in span names—so traces remain useful across services and backends.
Start with the applicable semantic convention
OpenTelemetry semantic conventions are a shared vocabulary for spans, attributes, span kinds and related telemetry fields. They let independently written instrumentation emit data that other services, query tools and observability backends can interpret consistently. The official semantic-conventions index currently displays version 1.44.0, but individual convention groups can have different stability statuses.
Before inventing a key, find the convention for the technology or operation you are instrumenting. The trace catalog includes general, database, HTTP, messaging, RPC and cloud-provider groups, among others. Read the status shown for the specific convention you plan to use; “available in the catalog” does not by itself mean every field has the same maturity.
Reuse is usually safer than creating a synonym
Search the relevant convention and existing attributes for the concept first. Reusing a standard key gives code written in different languages and services the same meaning and avoids forcing every dashboard, alert and query to learn a local synonym. Create a new attribute only when the concept is not covered and there is a clear instrumentation use case and user benefit.
#1 Best Overall
Choose a predictable key
Use lowercase names
Attribute keys should be lowercase. A name should tell a reader what domain, object or property it describes without requiring knowledge of one implementation.
Use dots for namespaces
Separate namespace components with dots when they clarify ownership or the relationship between an object and its property. OpenTelemetry uses names such as service.version and telemetry.sdk.name as examples of namespaced keys. A namespace can have more than two components when that makes the domain unambiguous.
For an application-specific concept, prefer a domain namespace you control, such as checkout.cart_id or acme.billing.plan, rather than placing it at the root with an opaque name.
Rank #2
Do not claim the otel.* namespace
The otel.* prefix is reserved for attributes that are part of the OpenTelemetry specification. Do not use it for a company, product or application attribute. Choose your own namespace instead.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchKeep span names general and put instance data in attributes
A span name should identify a statistically interesting class of operations, not one particular request. The Tracing API guidance treats get_account as a suitable operation name and get_account/314159 as too specific. The account number belongs in an attribute such as account_id.
This distinction controls cardinality. A stable name such as GET /users/{user_id} or get_account groups equivalent work; embedding every ID, URL, filename or query value creates a different name for each instance and makes aggregation less useful. Record those values as attributes only when they serve a diagnostic or analytical purpose, and apply the same boundedness considerations to the values.
Rank #3
Design a new attribute deliberately
State the meaning and use cases
Document exactly what the key represents, its unit or format where relevant, allowed value types, and examples. Explain which instrumentation emits it and what a user can do with it. “Useful someday” is not a sufficient reason to add a field.
Prefer bounded values
Avoid values that can grow without a practical limit, such as raw request bodies, unbounded query strings, stack traces or arbitrary user text. High-cardinality data can increase storage and indexing cost and make queries difficult. If an identifier is necessary, define its scope and format and verify that downstream systems can handle its possible range.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Use flat attributes for structured concepts when practical
Backends may not index properties inside a complex value efficiently. When users need to filter or aggregate on individual properties, expose those properties as separate, flat attributes where the convention allows it. Keep the structure simple enough that instrumentation in multiple languages can emit the same fields consistently.
Rank #4
Existing convention or custom key?
| Choice | Use it when | Main advantage | Main risk |
|---|---|---|---|
| Existing semantic-convention attribute | The documented meaning matches your data | Cross-service and cross-language consistency | Applying a near-match can mislead consumers |
| New namespaced attribute | No existing field expresses the concept and a clear use case exists | Precise meaning for your instrumentation | You own documentation, boundedness and future compatibility |
| Value embedded in the span name | Only when the value is part of a genuinely small, stable operation class | Readable operation grouping | IDs and other instance values create high-cardinality names |
Evaluate both options against semantic fit, consistency across languages and services, value boundedness, stability and the cost of changing consumers later. Do not select a custom key merely because its spelling is shorter.
Changing a key is a compatibility change
Telemetry producers and consumers form an interface: instrumentation emits a key, while dashboards, alerts, processors, storage mappings and queries may depend on it. Renaming an established attribute can therefore break a backend or silently remove data from existing queries.
Before you rename
- Search dashboards, alerts, saved queries, processors and exported-data consumers for the old key.
- Check the attribute’s convention and stability status, including any documented migration guidance.
- Plan how old and new data will coexist during the transition.
- Use OpenTelemetry telemetry-schema mechanisms where applicable to describe the rename or other transformation.
- Communicate the migration and remove the old key only after dependent consumers have moved.
OpenTelemetry’s versioning and telemetry-schema documentation treats field evolution and renames as compatibility concerns, not cosmetic edits.
Best Value
A practical naming workflow
- Identify the operation. Determine the protocol, library or service category producing the span.
- Read the matching convention. Check the current catalog entry and its displayed stability status.
- Search for an exact semantic match. Reuse the existing key rather than creating a synonym.
- Define the smallest useful value. Exclude secrets, unnecessary payloads and unbounded text.
- Name a new key in lowercase. Use a dot-separated namespace that communicates the domain; never use
otel.*for local data. - Keep the span name stable. Put request-specific IDs and other instance values in attributes.
- Document and review it. Record meaning, type, units, examples, bounds and instrumentation use cases.
- Check consumers before release. Treat the key as an interface that may already be queried or indexed.
Examples
Account lookup
Better: span name get_account with account_id as an attribute.
Avoid: a span name such as get_account/314159, which creates an operation name for one account instance.
Service metadata
Use the established namespaced form service.version when that is the concept you need. Do not replace it with a local synonym such as app_ver unless the data genuinely represents a different concept.
Application-specific billing detail
If no existing convention describes a bounded billing dimension, a key such as acme.billing.plan makes ownership and meaning clearer than a root-level key. Define the allowed plan values and keep them finite.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Final checklist
- Did you check the technology-specific semantic convention first?
- Does an existing attribute already express the concept?
- Is the key lowercase and clearly namespaced?
- Have you avoided the reserved
otel.*prefix? - Is the value bounded, useful and documented?
- Are variable identifiers kept out of the span name?
- Have you considered stability and the impact on existing consumers?
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




