-
Notifications
You must be signed in to change notification settings - Fork 773
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
New semconvgen templates prototype #5156
Conversation
/// <summary> | ||
/// Describes semantic conventions for attributes in the <c>cloudevents</c> namespace. | ||
/// </summary> | ||
public static class CloudeventsAttributes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cloudevents
, graphql
, webengine
, opentracing
, etc cannot be automatically CamelCased, so need to figure out something on the semconv side to fix it across languages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/// <remarks> | ||
/// When observed from the server side, and when communicating through an intermediary, <c>client.address</c> SHOULD represent the client address behind any intermediaries, for example proxies, if it&#39;s available. | ||
/// </remarks> | ||
public const string ClientAddress = "client.address"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q:
ClientAttributes.ClientAddress
vs ClientAttributes.Address
?
/// <summary> | ||
/// Describes semantic conventions for attributes in the <c>other</c> namespace. | ||
/// </summary> | ||
public static class OtherAttributes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
todo on the spec side: all attributes must have a namespace
/// <remarks> | ||
/// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the <a href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length">Content-Length</a> header. For requests using transport encoding, this should be the compressed size. | ||
/// </remarks> | ||
public static Histogram<double> CreateHttpClientRequestBodySize(Meter meter) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
value type is not part of yaml - open-telemetry/semantic-conventions#591, so it's not fully possible yet
-D filter=is_experimental ` | ||
-D pkg=OpenTelemetry.SemanticConventions.${SPEC_VERSION_ESCAPED} | ||
|
||
#experimental metrics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no stable metric yet - open-telemetry/semantic-conventions#587
|
||
#experimental attributes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's easy to filter stable/experimental and move them into different artifacts, use different templates, add [Experimental]
attribute, etc
/// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. | ||
/// Tracing instrumentations that do so, MUST also set <c>http.request.method_original</c> to the original value. | ||
/// </remarks> | ||
public const string HttpRequestMethod = "http.request.method"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would we want multiple layers like HttpAttributes.Request
?
I'm slightly worried about the idea that "use whatever is the latest", versus pinning to a specific version. The problem I see is that if I use:
I think having the ability to have (missed the SIG, sorry if it was discussed there) |
This PR was marked stale due to lack of activity and will be closed in 7 days. Commenting or Pushing will instruct the bot to automatically remove the label. This bot runs once per day. |
Closed as inactive. Feel free to reopen if this PR is still being worked on. |
Prototype for new semconv generation approach (that groups attributes by namespace and stability vs semconv)
open-telemetry/semantic-conventions#551
Changes
vX_Y_Z_Experimental
namespaceMerge requirement checklist
CHANGELOG.md
files updated for non-trivial changes