You've already forked opentelemetry-go
							
							
				mirror of
				https://github.com/open-telemetry/opentelemetry-go.git
				synced 2025-10-31 00:07:40 +02:00 
			
		
		
		
	Add semconv/v1.18.0 (#3719)
* Add semconv/v1.18.0 * Add PR number to changelog
This commit is contained in:
		
							
								
								
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -13,6 +13,23 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm | ||||
| - Semantic conventions of the `event` type are now generated. (#3697) | ||||
| - The `event` type semantic conventions are added to `go.opentelemetry.io/otel/semconv/v1.17.0`. (#3697) | ||||
| - Support [Go 1.20]. (#3693) | ||||
| - The `go.opentelemetry.io/otel/semconv/v1.18.0` package. | ||||
|   The package contains semantic conventions from the `v1.18.0` version of the OpenTelemetry specification. (#3719) | ||||
|   - The following `const` renames from `go.opentelemetry.io/otel/semconv/v1.17.0` are included: | ||||
|     - `OtelScopeNameKey` -> `OTelScopeNameKey` | ||||
|     - `OtelScopeVersionKey` -> `OTelScopeVersionKey` | ||||
|     - `OtelLibraryNameKey` -> `OTelLibraryNameKey` | ||||
|     - `OtelLibraryVersionKey` -> `OTelLibraryVersionKey` | ||||
|     - `OtelStatusCodeKey` -> `OTelStatusCodeKey` | ||||
|     - `OtelStatusDescriptionKey` -> `OTelStatusDescriptionKey` | ||||
|     - `OtelStatusCodeOk` -> `OTelStatusCodeOk` | ||||
|     - `OtelStatusCodeError` -> `OTelStatusCodeError` | ||||
|   - The following `func` renames from `go.opentelemetry.io/otel/semconv/v1.17.0` are included: | ||||
|     - `OtelScopeName` -> `OTelScopeName` | ||||
|     - `OtelScopeVersion` -> `OTelScopeVersion` | ||||
|     - `OtelLibraryName` -> `OTelLibraryName` | ||||
|     - `OtelLibraryVersion` -> `OTelLibraryVersion` | ||||
|     - `OtelStatusDescription` -> `OTelStatusDescription` | ||||
|  | ||||
| ## [1.13.0/0.36.0] 2023-02-07 | ||||
|  | ||||
|   | ||||
							
								
								
									
										20
									
								
								semconv/v1.18.0/doc.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								semconv/v1.18.0/doc.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Package semconv implements OpenTelemetry semantic conventions. | ||||
| // | ||||
| // OpenTelemetry semantic conventions are agreed standardized naming | ||||
| // patterns for OpenTelemetry things. This package represents the conventions | ||||
| // as of the v1.18.0 version of the OpenTelemetry specification. | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
							
								
								
									
										199
									
								
								semconv/v1.18.0/event.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								semconv/v1.18.0/event.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Code generated from semantic convention specification. DO NOT EDIT. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
|  | ||||
| import "go.opentelemetry.io/otel/attribute" | ||||
|  | ||||
| // This semantic convention defines the attributes used to represent a feature | ||||
| // flag evaluation as an event. | ||||
| const ( | ||||
| 	// FeatureFlagKeyKey is the attribute Key conforming to the | ||||
| 	// "feature_flag.key" semantic conventions. It represents the unique | ||||
| 	// identifier of the feature flag. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// RequirementLevel: Required | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'logo-color' | ||||
| 	FeatureFlagKeyKey = attribute.Key("feature_flag.key") | ||||
|  | ||||
| 	// FeatureFlagProviderNameKey is the attribute Key conforming to the | ||||
| 	// "feature_flag.provider_name" semantic conventions. It represents the | ||||
| 	// name of the service provider that performs the flag evaluation. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// RequirementLevel: Recommended | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'Flag Manager' | ||||
| 	FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider_name") | ||||
|  | ||||
| 	// FeatureFlagVariantKey is the attribute Key conforming to the | ||||
| 	// "feature_flag.variant" semantic conventions. It represents the sHOULD be | ||||
| 	// a semantic identifier for a value. If one is unavailable, a stringified | ||||
| 	// version of the value can be used. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// RequirementLevel: Recommended | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'red', 'true', 'on' | ||||
| 	// Note: A semantic identifier, commonly referred to as a variant, provides | ||||
| 	// a means | ||||
| 	// for referring to a value without including the value itself. This can | ||||
| 	// provide additional context for understanding the meaning behind a value. | ||||
| 	// For example, the variant `red` maybe be used for the value `#c05543`. | ||||
| 	// | ||||
| 	// A stringified version of the value can be used in situations where a | ||||
| 	// semantic identifier is unavailable. String representation of the value | ||||
| 	// should be determined by the implementer. | ||||
| 	FeatureFlagVariantKey = attribute.Key("feature_flag.variant") | ||||
| ) | ||||
|  | ||||
| // FeatureFlagKey returns an attribute KeyValue conforming to the | ||||
| // "feature_flag.key" semantic conventions. It represents the unique identifier | ||||
| // of the feature flag. | ||||
| func FeatureFlagKey(val string) attribute.KeyValue { | ||||
| 	return FeatureFlagKeyKey.String(val) | ||||
| } | ||||
|  | ||||
| // FeatureFlagProviderName returns an attribute KeyValue conforming to the | ||||
| // "feature_flag.provider_name" semantic conventions. It represents the name of | ||||
| // the service provider that performs the flag evaluation. | ||||
| func FeatureFlagProviderName(val string) attribute.KeyValue { | ||||
| 	return FeatureFlagProviderNameKey.String(val) | ||||
| } | ||||
|  | ||||
| // FeatureFlagVariant returns an attribute KeyValue conforming to the | ||||
| // "feature_flag.variant" semantic conventions. It represents the sHOULD be a | ||||
| // semantic identifier for a value. If one is unavailable, a stringified | ||||
| // version of the value can be used. | ||||
| func FeatureFlagVariant(val string) attribute.KeyValue { | ||||
| 	return FeatureFlagVariantKey.String(val) | ||||
| } | ||||
|  | ||||
| // RPC received/sent message. | ||||
| const ( | ||||
| 	// MessageTypeKey is the attribute Key conforming to the "message.type" | ||||
| 	// semantic conventions. It represents the whether this is a received or | ||||
| 	// sent message. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// RequirementLevel: Optional | ||||
| 	// Stability: stable | ||||
| 	MessageTypeKey = attribute.Key("message.type") | ||||
|  | ||||
| 	// MessageIDKey is the attribute Key conforming to the "message.id" | ||||
| 	// semantic conventions. It represents the mUST be calculated as two | ||||
| 	// different counters starting from `1` one for sent messages and one for | ||||
| 	// received message. | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// RequirementLevel: Optional | ||||
| 	// Stability: stable | ||||
| 	// Note: This way we guarantee that the values will be consistent between | ||||
| 	// different implementations. | ||||
| 	MessageIDKey = attribute.Key("message.id") | ||||
|  | ||||
| 	// MessageCompressedSizeKey is the attribute Key conforming to the | ||||
| 	// "message.compressed_size" semantic conventions. It represents the | ||||
| 	// compressed size of the message in bytes. | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// RequirementLevel: Optional | ||||
| 	// Stability: stable | ||||
| 	MessageCompressedSizeKey = attribute.Key("message.compressed_size") | ||||
|  | ||||
| 	// MessageUncompressedSizeKey is the attribute Key conforming to the | ||||
| 	// "message.uncompressed_size" semantic conventions. It represents the | ||||
| 	// uncompressed size of the message in bytes. | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// RequirementLevel: Optional | ||||
| 	// Stability: stable | ||||
| 	MessageUncompressedSizeKey = attribute.Key("message.uncompressed_size") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// sent | ||||
| 	MessageTypeSent = MessageTypeKey.String("SENT") | ||||
| 	// received | ||||
| 	MessageTypeReceived = MessageTypeKey.String("RECEIVED") | ||||
| ) | ||||
|  | ||||
| // MessageID returns an attribute KeyValue conforming to the "message.id" | ||||
| // semantic conventions. It represents the mUST be calculated as two different | ||||
| // counters starting from `1` one for sent messages and one for received | ||||
| // message. | ||||
| func MessageID(val int) attribute.KeyValue { | ||||
| 	return MessageIDKey.Int(val) | ||||
| } | ||||
|  | ||||
| // MessageCompressedSize returns an attribute KeyValue conforming to the | ||||
| // "message.compressed_size" semantic conventions. It represents the compressed | ||||
| // size of the message in bytes. | ||||
| func MessageCompressedSize(val int) attribute.KeyValue { | ||||
| 	return MessageCompressedSizeKey.Int(val) | ||||
| } | ||||
|  | ||||
| // MessageUncompressedSize returns an attribute KeyValue conforming to the | ||||
| // "message.uncompressed_size" semantic conventions. It represents the | ||||
| // uncompressed size of the message in bytes. | ||||
| func MessageUncompressedSize(val int) attribute.KeyValue { | ||||
| 	return MessageUncompressedSizeKey.Int(val) | ||||
| } | ||||
|  | ||||
| // The attributes used to report a single exception associated with a span. | ||||
| const ( | ||||
| 	// ExceptionEscapedKey is the attribute Key conforming to the | ||||
| 	// "exception.escaped" semantic conventions. It represents the sHOULD be | ||||
| 	// set to true if the exception event is recorded at a point where it is | ||||
| 	// known that the exception is escaping the scope of the span. | ||||
| 	// | ||||
| 	// Type: boolean | ||||
| 	// RequirementLevel: Optional | ||||
| 	// Stability: stable | ||||
| 	// Note: An exception is considered to have escaped (or left) the scope of | ||||
| 	// a span, | ||||
| 	// if that span is ended while the exception is still logically "in | ||||
| 	// flight". | ||||
| 	// This may be actually "in flight" in some languages (e.g. if the | ||||
| 	// exception | ||||
| 	// is passed to a Context manager's `__exit__` method in Python) but will | ||||
| 	// usually be caught at the point of recording the exception in most | ||||
| 	// languages. | ||||
| 	// | ||||
| 	// It is usually not possible to determine at the point where an exception | ||||
| 	// is thrown | ||||
| 	// whether it will escape the scope of a span. | ||||
| 	// However, it is trivial to know that an exception | ||||
| 	// will escape, if one checks for an active exception just before ending | ||||
| 	// the span, | ||||
| 	// as done in the [example above](#recording-an-exception). | ||||
| 	// | ||||
| 	// It follows that an exception may still escape the scope of the span | ||||
| 	// even if the `exception.escaped` attribute was not set or set to false, | ||||
| 	// since the event might have been recorded at a time where it was not | ||||
| 	// clear whether the exception will escape. | ||||
| 	ExceptionEscapedKey = attribute.Key("exception.escaped") | ||||
| ) | ||||
|  | ||||
| // ExceptionEscaped returns an attribute KeyValue conforming to the | ||||
| // "exception.escaped" semantic conventions. It represents the sHOULD be set to | ||||
| // true if the exception event is recorded at a point where it is known that | ||||
| // the exception is escaping the scope of the span. | ||||
| func ExceptionEscaped(val bool) attribute.KeyValue { | ||||
| 	return ExceptionEscapedKey.Bool(val) | ||||
| } | ||||
							
								
								
									
										20
									
								
								semconv/v1.18.0/exception.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								semconv/v1.18.0/exception.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
|  | ||||
| const ( | ||||
| 	// ExceptionEventName is the name of the Span event representing an exception. | ||||
| 	ExceptionEventName = "exception" | ||||
| ) | ||||
							
								
								
									
										21
									
								
								semconv/v1.18.0/http.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								semconv/v1.18.0/http.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
|  | ||||
| // HTTP scheme attributes. | ||||
| var ( | ||||
| 	HTTPSchemeHTTP  = HTTPSchemeKey.String("http") | ||||
| 	HTTPSchemeHTTPS = HTTPSchemeKey.String("https") | ||||
| ) | ||||
							
								
								
									
										150
									
								
								semconv/v1.18.0/httpconv/http.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								semconv/v1.18.0/httpconv/http.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Package httpconv provides OpenTelemetry semantic convetions for the net/http | ||||
| // package from the standard library. | ||||
| package httpconv // import "go.opentelemetry.io/otel/semconv/v1.18.0/httpconv" | ||||
|  | ||||
| import ( | ||||
| 	"net/http" | ||||
|  | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	"go.opentelemetry.io/otel/codes" | ||||
| 	"go.opentelemetry.io/otel/semconv/internal/v2" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	nc = &internal.NetConv{ | ||||
| 		NetHostNameKey:     semconv.NetHostNameKey, | ||||
| 		NetHostPortKey:     semconv.NetHostPortKey, | ||||
| 		NetPeerNameKey:     semconv.NetPeerNameKey, | ||||
| 		NetPeerPortKey:     semconv.NetPeerPortKey, | ||||
| 		NetSockPeerAddrKey: semconv.NetSockPeerAddrKey, | ||||
| 		NetSockPeerPortKey: semconv.NetSockPeerPortKey, | ||||
| 		NetTransportOther:  semconv.NetTransportOther, | ||||
| 		NetTransportTCP:    semconv.NetTransportTCP, | ||||
| 		NetTransportUDP:    semconv.NetTransportUDP, | ||||
| 		NetTransportInProc: semconv.NetTransportInProc, | ||||
| 	} | ||||
|  | ||||
| 	hc = &internal.HTTPConv{ | ||||
| 		NetConv: nc, | ||||
|  | ||||
| 		EnduserIDKey:                 semconv.EnduserIDKey, | ||||
| 		HTTPClientIPKey:              semconv.HTTPClientIPKey, | ||||
| 		HTTPFlavorKey:                semconv.HTTPFlavorKey, | ||||
| 		HTTPMethodKey:                semconv.HTTPMethodKey, | ||||
| 		HTTPRequestContentLengthKey:  semconv.HTTPRequestContentLengthKey, | ||||
| 		HTTPResponseContentLengthKey: semconv.HTTPResponseContentLengthKey, | ||||
| 		HTTPRouteKey:                 semconv.HTTPRouteKey, | ||||
| 		HTTPSchemeHTTP:               semconv.HTTPSchemeHTTP, | ||||
| 		HTTPSchemeHTTPS:              semconv.HTTPSchemeHTTPS, | ||||
| 		HTTPStatusCodeKey:            semconv.HTTPStatusCodeKey, | ||||
| 		HTTPTargetKey:                semconv.HTTPTargetKey, | ||||
| 		HTTPURLKey:                   semconv.HTTPURLKey, | ||||
| 		HTTPUserAgentKey:             semconv.HTTPUserAgentKey, | ||||
| 	} | ||||
| ) | ||||
|  | ||||
| // ClientResponse returns attributes for an HTTP response received by a client | ||||
| // from a server. It will return the following attributes if the related values | ||||
| // are defined in resp: "http.status.code", "http.response_content_length". | ||||
| // | ||||
| // This does not add all OpenTelemetry required attributes for an HTTP event, | ||||
| // it assumes ClientRequest was used to create the span with a complete set of | ||||
| // attributes. If a complete set of attributes can be generated using the | ||||
| // request contained in resp. For example: | ||||
| // | ||||
| //	append(ClientResponse(resp), ClientRequest(resp.Request)...) | ||||
| func ClientResponse(resp *http.Response) []attribute.KeyValue { | ||||
| 	return hc.ClientResponse(resp) | ||||
| } | ||||
|  | ||||
| // ClientRequest returns attributes for an HTTP request made by a client. The | ||||
| // following attributes are always returned: "http.url", "http.flavor", | ||||
| // "http.method", "net.peer.name". The following attributes are returned if the | ||||
| // related values are defined in req: "net.peer.port", "http.user_agent", | ||||
| // "http.request_content_length", "enduser.id". | ||||
| func ClientRequest(req *http.Request) []attribute.KeyValue { | ||||
| 	return hc.ClientRequest(req) | ||||
| } | ||||
|  | ||||
| // ClientStatus returns a span status code and message for an HTTP status code | ||||
| // value received by a client. | ||||
| func ClientStatus(code int) (codes.Code, string) { | ||||
| 	return hc.ClientStatus(code) | ||||
| } | ||||
|  | ||||
| // ServerRequest returns attributes for an HTTP request received by a server. | ||||
| // | ||||
| // The server must be the primary server name if it is known. For example this | ||||
| // would be the ServerName directive | ||||
| // (https://httpd.apache.org/docs/2.4/mod/core.html#servername) for an Apache | ||||
| // server, and the server_name directive | ||||
| // (http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name) for an | ||||
| // nginx server. More generically, the primary server name would be the host | ||||
| // header value that matches the default virtual host of an HTTP server. It | ||||
| // should include the host identifier and if a port is used to route to the | ||||
| // server that port identifier should be included as an appropriate port | ||||
| // suffix. | ||||
| // | ||||
| // If the primary server name is not known, server should be an empty string. | ||||
| // The req Host will be used to determine the server instead. | ||||
| // | ||||
| // The following attributes are always returned: "http.method", "http.scheme", | ||||
| // "http.flavor", "http.target", "net.host.name". The following attributes are | ||||
| // returned if they related values are defined in req: "net.host.port", | ||||
| // "net.sock.peer.addr", "net.sock.peer.port", "http.user_agent", "enduser.id", | ||||
| // "http.client_ip". | ||||
| func ServerRequest(server string, req *http.Request) []attribute.KeyValue { | ||||
| 	return hc.ServerRequest(server, req) | ||||
| } | ||||
|  | ||||
| // ServerStatus returns a span status code and message for an HTTP status code | ||||
| // value returned by a server. Status codes in the 400-499 range are not | ||||
| // returned as errors. | ||||
| func ServerStatus(code int) (codes.Code, string) { | ||||
| 	return hc.ServerStatus(code) | ||||
| } | ||||
|  | ||||
| // RequestHeader returns the contents of h as attributes. | ||||
| // | ||||
| // Instrumentation should require an explicit configuration of which headers to | ||||
| // captured and then prune what they pass here. Including all headers can be a | ||||
| // security risk - explicit configuration helps avoid leaking sensitive | ||||
| // information. | ||||
| // | ||||
| // The User-Agent header is already captured in the http.user_agent attribute | ||||
| // from ClientRequest and ServerRequest. Instrumentation may provide an option | ||||
| // to capture that header here even though it is not recommended. Otherwise, | ||||
| // instrumentation should filter that out of what is passed. | ||||
| func RequestHeader(h http.Header) []attribute.KeyValue { | ||||
| 	return hc.RequestHeader(h) | ||||
| } | ||||
|  | ||||
| // ResponseHeader returns the contents of h as attributes. | ||||
| // | ||||
| // Instrumentation should require an explicit configuration of which headers to | ||||
| // captured and then prune what they pass here. Including all headers can be a | ||||
| // security risk - explicit configuration helps avoid leaking sensitive | ||||
| // information. | ||||
| // | ||||
| // The User-Agent header is already captured in the http.user_agent attribute | ||||
| // from ClientRequest and ServerRequest. Instrumentation may provide an option | ||||
| // to capture that header here even though it is not recommended. Otherwise, | ||||
| // instrumentation should filter that out of what is passed. | ||||
| func ResponseHeader(h http.Header) []attribute.KeyValue { | ||||
| 	return hc.ResponseHeader(h) | ||||
| } | ||||
							
								
								
									
										66
									
								
								semconv/v1.18.0/netconv/net.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								semconv/v1.18.0/netconv/net.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Package netconv provides OpenTelemetry semantic convetions for the net | ||||
| // package from the standard library. | ||||
| package netconv // import "go.opentelemetry.io/otel/semconv/v1.18.0/netconv" | ||||
|  | ||||
| import ( | ||||
| 	"net" | ||||
|  | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	"go.opentelemetry.io/otel/semconv/internal/v2" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
| ) | ||||
|  | ||||
| var nc = &internal.NetConv{ | ||||
| 	NetHostNameKey:     semconv.NetHostNameKey, | ||||
| 	NetHostPortKey:     semconv.NetHostPortKey, | ||||
| 	NetPeerNameKey:     semconv.NetPeerNameKey, | ||||
| 	NetPeerPortKey:     semconv.NetPeerPortKey, | ||||
| 	NetSockFamilyKey:   semconv.NetSockFamilyKey, | ||||
| 	NetSockPeerAddrKey: semconv.NetSockPeerAddrKey, | ||||
| 	NetSockPeerPortKey: semconv.NetSockPeerPortKey, | ||||
| 	NetSockHostAddrKey: semconv.NetSockHostAddrKey, | ||||
| 	NetSockHostPortKey: semconv.NetSockHostPortKey, | ||||
| 	NetTransportOther:  semconv.NetTransportOther, | ||||
| 	NetTransportTCP:    semconv.NetTransportTCP, | ||||
| 	NetTransportUDP:    semconv.NetTransportUDP, | ||||
| 	NetTransportInProc: semconv.NetTransportInProc, | ||||
| } | ||||
|  | ||||
| // Transport returns an attribute describing the transport protocol of the | ||||
| // passed network. See the net.Dial for information about acceptable network | ||||
| // values. | ||||
| func Transport(network string) attribute.KeyValue { | ||||
| 	return nc.Transport(network) | ||||
| } | ||||
|  | ||||
| // Client returns attributes for a client network connection to address. See | ||||
| // net.Dial for information about acceptable address values, address should be | ||||
| // the same as the one used to create conn. If conn is nil, only network peer | ||||
| // attributes will be returned that describe address. Otherwise, the socket | ||||
| // level information about conn will also be included. | ||||
| func Client(address string, conn net.Conn) []attribute.KeyValue { | ||||
| 	return nc.Client(address, conn) | ||||
| } | ||||
|  | ||||
| // Server returns attributes for a network listener listening at address. See | ||||
| // net.Listen for information about acceptable address values, address should | ||||
| // be the same as the one used to create ln. If ln is nil, only network host | ||||
| // attributes will be returned that describe address. Otherwise, the socket | ||||
| // level information about ln will also be included. | ||||
| func Server(address string, ln net.Listener) []attribute.KeyValue { | ||||
| 	return nc.Server(address, ln) | ||||
| } | ||||
							
								
								
									
										2010
									
								
								semconv/v1.18.0/resource.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2010
									
								
								semconv/v1.18.0/resource.go
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										20
									
								
								semconv/v1.18.0/schema.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								semconv/v1.18.0/schema.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.18.0" | ||||
|  | ||||
| // SchemaURL is the schema URL that matches the version of the semantic conventions | ||||
| // that this package defines. Semconv packages starting from v1.4.0 must declare | ||||
| // non-empty schema URL in the form https://opentelemetry.io/schemas/<version> | ||||
| const SchemaURL = "https://opentelemetry.io/schemas/1.18.0" | ||||
							
								
								
									
										3381
									
								
								semconv/v1.18.0/trace.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3381
									
								
								semconv/v1.18.0/trace.go
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user