chore: upgrade dependencies
This commit is contained in:
@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
package internal // import "go.opentelemetry.io/otel/semconv/internal"
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@ -21,47 +21,70 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
// HTTP scheme attributes.
|
||||
var (
|
||||
HTTPSchemeHTTP = HTTPSchemeKey.String("http")
|
||||
HTTPSchemeHTTPS = HTTPSchemeKey.String("https")
|
||||
)
|
||||
// SemanticConventions are the semantic convention values defined for a
|
||||
// version of the OpenTelemetry specification.
|
||||
type SemanticConventions struct {
|
||||
EnduserIDKey attribute.Key
|
||||
HTTPClientIPKey attribute.Key
|
||||
HTTPFlavorKey attribute.Key
|
||||
HTTPHostKey attribute.Key
|
||||
HTTPMethodKey attribute.Key
|
||||
HTTPRequestContentLengthKey attribute.Key
|
||||
HTTPRouteKey attribute.Key
|
||||
HTTPSchemeHTTP attribute.KeyValue
|
||||
HTTPSchemeHTTPS attribute.KeyValue
|
||||
HTTPServerNameKey attribute.Key
|
||||
HTTPStatusCodeKey attribute.Key
|
||||
HTTPTargetKey attribute.Key
|
||||
HTTPURLKey attribute.Key
|
||||
HTTPUserAgentKey attribute.Key
|
||||
NetHostIPKey attribute.Key
|
||||
NetHostNameKey attribute.Key
|
||||
NetHostPortKey attribute.Key
|
||||
NetPeerIPKey attribute.Key
|
||||
NetPeerNameKey attribute.Key
|
||||
NetPeerPortKey attribute.Key
|
||||
NetTransportIP attribute.KeyValue
|
||||
NetTransportOther attribute.KeyValue
|
||||
NetTransportTCP attribute.KeyValue
|
||||
NetTransportUDP attribute.KeyValue
|
||||
NetTransportUnix attribute.KeyValue
|
||||
}
|
||||
|
||||
// NetAttributesFromHTTPRequest generates attributes of the net
|
||||
// namespace as specified by the OpenTelemetry specification for a
|
||||
// span. The network parameter is a string that net.Dial function
|
||||
// from standard library can understand.
|
||||
func NetAttributesFromHTTPRequest(network string, request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) NetAttributesFromHTTPRequest(network string, request *http.Request) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{}
|
||||
|
||||
switch network {
|
||||
case "tcp", "tcp4", "tcp6":
|
||||
attrs = append(attrs, NetTransportTCP)
|
||||
attrs = append(attrs, sc.NetTransportTCP)
|
||||
case "udp", "udp4", "udp6":
|
||||
attrs = append(attrs, NetTransportUDP)
|
||||
attrs = append(attrs, sc.NetTransportUDP)
|
||||
case "ip", "ip4", "ip6":
|
||||
attrs = append(attrs, NetTransportIP)
|
||||
attrs = append(attrs, sc.NetTransportIP)
|
||||
case "unix", "unixgram", "unixpacket":
|
||||
attrs = append(attrs, NetTransportUnix)
|
||||
attrs = append(attrs, sc.NetTransportUnix)
|
||||
default:
|
||||
attrs = append(attrs, NetTransportOther)
|
||||
attrs = append(attrs, sc.NetTransportOther)
|
||||
}
|
||||
|
||||
peerIP, peerName, peerPort := hostIPNamePort(request.RemoteAddr)
|
||||
if peerIP != "" {
|
||||
attrs = append(attrs, NetPeerIPKey.String(peerIP))
|
||||
attrs = append(attrs, sc.NetPeerIPKey.String(peerIP))
|
||||
}
|
||||
if peerName != "" {
|
||||
attrs = append(attrs, NetPeerNameKey.String(peerName))
|
||||
attrs = append(attrs, sc.NetPeerNameKey.String(peerName))
|
||||
}
|
||||
if peerPort != 0 {
|
||||
attrs = append(attrs, NetPeerPortKey.Int(peerPort))
|
||||
attrs = append(attrs, sc.NetPeerPortKey.Int(peerPort))
|
||||
}
|
||||
|
||||
hostIP, hostName, hostPort := "", "", 0
|
||||
@ -72,13 +95,13 @@ func NetAttributesFromHTTPRequest(network string, request *http.Request) []attri
|
||||
}
|
||||
}
|
||||
if hostIP != "" {
|
||||
attrs = append(attrs, NetHostIPKey.String(hostIP))
|
||||
attrs = append(attrs, sc.NetHostIPKey.String(hostIP))
|
||||
}
|
||||
if hostName != "" {
|
||||
attrs = append(attrs, NetHostNameKey.String(hostName))
|
||||
attrs = append(attrs, sc.NetHostNameKey.String(hostName))
|
||||
}
|
||||
if hostPort != 0 {
|
||||
attrs = append(attrs, NetHostPortKey.Int(hostPort))
|
||||
attrs = append(attrs, sc.NetHostPortKey.Int(hostPort))
|
||||
}
|
||||
|
||||
return attrs
|
||||
@ -111,9 +134,9 @@ func hostIPNamePort(hostWithPort string) (ip string, name string, port int) {
|
||||
// EndUserAttributesFromHTTPRequest generates attributes of the
|
||||
// enduser namespace as specified by the OpenTelemetry specification
|
||||
// for a span.
|
||||
func EndUserAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) EndUserAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
if username, _, ok := request.BasicAuth(); ok {
|
||||
return []attribute.KeyValue{EnduserIDKey.String(username)}
|
||||
return []attribute.KeyValue{sc.EnduserIDKey.String(username)}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -121,13 +144,13 @@ func EndUserAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValu
|
||||
// HTTPClientAttributesFromHTTPRequest generates attributes of the
|
||||
// http namespace as specified by the OpenTelemetry specification for
|
||||
// a span on the client side.
|
||||
func HTTPClientAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) HTTPClientAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{}
|
||||
|
||||
if request.Method != "" {
|
||||
attrs = append(attrs, HTTPMethodKey.String(request.Method))
|
||||
attrs = append(attrs, sc.HTTPMethodKey.String(request.Method))
|
||||
} else {
|
||||
attrs = append(attrs, HTTPMethodKey.String(http.MethodGet))
|
||||
attrs = append(attrs, sc.HTTPMethodKey.String(http.MethodGet))
|
||||
}
|
||||
|
||||
// remove any username/password info that may be in the URL
|
||||
@ -135,38 +158,40 @@ func HTTPClientAttributesFromHTTPRequest(request *http.Request) []attribute.KeyV
|
||||
userinfo := request.URL.User
|
||||
request.URL.User = nil
|
||||
|
||||
attrs = append(attrs, HTTPURLKey.String(request.URL.String()))
|
||||
attrs = append(attrs, sc.HTTPURLKey.String(request.URL.String()))
|
||||
|
||||
// restore any username/password info that was removed
|
||||
request.URL.User = userinfo
|
||||
|
||||
return append(attrs, httpCommonAttributesFromHTTPRequest(request)...)
|
||||
return append(attrs, sc.httpCommonAttributesFromHTTPRequest(request)...)
|
||||
}
|
||||
|
||||
func httpCommonAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) httpCommonAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{}
|
||||
if ua := request.UserAgent(); ua != "" {
|
||||
attrs = append(attrs, HTTPUserAgentKey.String(ua))
|
||||
attrs = append(attrs, sc.HTTPUserAgentKey.String(ua))
|
||||
}
|
||||
if request.ContentLength > 0 {
|
||||
attrs = append(attrs, HTTPRequestContentLengthKey.Int64(request.ContentLength))
|
||||
attrs = append(attrs, sc.HTTPRequestContentLengthKey.Int64(request.ContentLength))
|
||||
}
|
||||
|
||||
return append(attrs, httpBasicAttributesFromHTTPRequest(request)...)
|
||||
return append(attrs, sc.httpBasicAttributesFromHTTPRequest(request)...)
|
||||
}
|
||||
|
||||
func httpBasicAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) httpBasicAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
// as these attributes are used by HTTPServerMetricAttributesFromHTTPRequest, they should be low-cardinality
|
||||
attrs := []attribute.KeyValue{}
|
||||
|
||||
if request.TLS != nil {
|
||||
attrs = append(attrs, HTTPSchemeHTTPS)
|
||||
attrs = append(attrs, sc.HTTPSchemeHTTPS)
|
||||
} else {
|
||||
attrs = append(attrs, HTTPSchemeHTTP)
|
||||
attrs = append(attrs, sc.HTTPSchemeHTTP)
|
||||
}
|
||||
|
||||
if request.Host != "" {
|
||||
attrs = append(attrs, HTTPHostKey.String(request.Host))
|
||||
attrs = append(attrs, sc.HTTPHostKey.String(request.Host))
|
||||
} else if request.URL != nil && request.URL.Host != "" {
|
||||
attrs = append(attrs, sc.HTTPHostKey.String(request.URL.Host))
|
||||
}
|
||||
|
||||
flavor := ""
|
||||
@ -176,7 +201,7 @@ func httpBasicAttributesFromHTTPRequest(request *http.Request) []attribute.KeyVa
|
||||
flavor = "2"
|
||||
}
|
||||
if flavor != "" {
|
||||
attrs = append(attrs, HTTPFlavorKey.String(flavor))
|
||||
attrs = append(attrs, sc.HTTPFlavorKey.String(flavor))
|
||||
}
|
||||
|
||||
return attrs
|
||||
@ -184,45 +209,45 @@ func httpBasicAttributesFromHTTPRequest(request *http.Request) []attribute.KeyVa
|
||||
|
||||
// HTTPServerMetricAttributesFromHTTPRequest generates low-cardinality attributes
|
||||
// to be used with server-side HTTP metrics.
|
||||
func HTTPServerMetricAttributesFromHTTPRequest(serverName string, request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) HTTPServerMetricAttributesFromHTTPRequest(serverName string, request *http.Request) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{}
|
||||
if serverName != "" {
|
||||
attrs = append(attrs, HTTPServerNameKey.String(serverName))
|
||||
attrs = append(attrs, sc.HTTPServerNameKey.String(serverName))
|
||||
}
|
||||
return append(attrs, httpBasicAttributesFromHTTPRequest(request)...)
|
||||
return append(attrs, sc.httpBasicAttributesFromHTTPRequest(request)...)
|
||||
}
|
||||
|
||||
// HTTPServerAttributesFromHTTPRequest generates attributes of the
|
||||
// http namespace as specified by the OpenTelemetry specification for
|
||||
// a span on the server side. Currently, only basic authentication is
|
||||
// supported.
|
||||
func HTTPServerAttributesFromHTTPRequest(serverName, route string, request *http.Request) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) HTTPServerAttributesFromHTTPRequest(serverName, route string, request *http.Request) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{
|
||||
HTTPMethodKey.String(request.Method),
|
||||
HTTPTargetKey.String(request.RequestURI),
|
||||
sc.HTTPMethodKey.String(request.Method),
|
||||
sc.HTTPTargetKey.String(request.RequestURI),
|
||||
}
|
||||
|
||||
if serverName != "" {
|
||||
attrs = append(attrs, HTTPServerNameKey.String(serverName))
|
||||
attrs = append(attrs, sc.HTTPServerNameKey.String(serverName))
|
||||
}
|
||||
if route != "" {
|
||||
attrs = append(attrs, HTTPRouteKey.String(route))
|
||||
attrs = append(attrs, sc.HTTPRouteKey.String(route))
|
||||
}
|
||||
if values, ok := request.Header["X-Forwarded-For"]; ok && len(values) > 0 {
|
||||
if addresses := strings.SplitN(values[0], ",", 2); len(addresses) > 0 {
|
||||
attrs = append(attrs, HTTPClientIPKey.String(addresses[0]))
|
||||
attrs = append(attrs, sc.HTTPClientIPKey.String(addresses[0]))
|
||||
}
|
||||
}
|
||||
|
||||
return append(attrs, httpCommonAttributesFromHTTPRequest(request)...)
|
||||
return append(attrs, sc.httpCommonAttributesFromHTTPRequest(request)...)
|
||||
}
|
||||
|
||||
// HTTPAttributesFromHTTPStatusCode generates attributes of the http
|
||||
// namespace as specified by the OpenTelemetry specification for a
|
||||
// span.
|
||||
func HTTPAttributesFromHTTPStatusCode(code int) []attribute.KeyValue {
|
||||
func (sc *SemanticConventions) HTTPAttributesFromHTTPStatusCode(code int) []attribute.KeyValue {
|
||||
attrs := []attribute.KeyValue{
|
||||
HTTPStatusCodeKey.Int(code),
|
||||
sc.HTTPStatusCodeKey.Int(code),
|
||||
}
|
||||
return attrs
|
||||
}
|
||||
@ -286,9 +311,9 @@ func SpanStatusFromHTTPStatusCodeAndSpanKind(code int, spanKind trace.SpanKind)
|
||||
return spanCode, ""
|
||||
}
|
||||
|
||||
// Validates the HTTP status code and returns corresponding span status code.
|
||||
// If the `code` is not a valid HTTP status code, returns span status Error
|
||||
// and false.
|
||||
// validateHTTPStatusCode validates the HTTP status code and returns
|
||||
// corresponding span status code. If the `code` is not a valid HTTP status
|
||||
// code, returns span status Error and false.
|
||||
func validateHTTPStatusCode(code int) (codes.Code, bool) {
|
||||
category := code / 100
|
||||
ranges, ok := validRangesPerCategory[category]
|
@ -16,5 +16,5 @@
|
||||
//
|
||||
// OpenTelemetry semantic conventions are agreed standardized naming
|
||||
// patterns for OpenTelemetry things. This package represents the conventions
|
||||
// as of the v1.7.0 version of the OpenTelemetry specification.
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
// as of the v1.10.0 version of the OpenTelemetry specification.
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0"
|
@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0"
|
||||
|
||||
const (
|
||||
// ExceptionEventName is the name of the Span event representing an exception.
|
114
vendor/go.opentelemetry.io/otel/semconv/v1.10.0/http.go
generated
vendored
Normal file
114
vendor/go.opentelemetry.io/otel/semconv/v1.10.0/http.go
generated
vendored
Normal file
@ -0,0 +1,114 @@
|
||||
// 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.10.0"
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/semconv/internal"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
// HTTP scheme attributes.
|
||||
var (
|
||||
HTTPSchemeHTTP = HTTPSchemeKey.String("http")
|
||||
HTTPSchemeHTTPS = HTTPSchemeKey.String("https")
|
||||
)
|
||||
|
||||
var sc = &internal.SemanticConventions{
|
||||
EnduserIDKey: EnduserIDKey,
|
||||
HTTPClientIPKey: HTTPClientIPKey,
|
||||
HTTPFlavorKey: HTTPFlavorKey,
|
||||
HTTPHostKey: HTTPHostKey,
|
||||
HTTPMethodKey: HTTPMethodKey,
|
||||
HTTPRequestContentLengthKey: HTTPRequestContentLengthKey,
|
||||
HTTPRouteKey: HTTPRouteKey,
|
||||
HTTPSchemeHTTP: HTTPSchemeHTTP,
|
||||
HTTPSchemeHTTPS: HTTPSchemeHTTPS,
|
||||
HTTPServerNameKey: HTTPServerNameKey,
|
||||
HTTPStatusCodeKey: HTTPStatusCodeKey,
|
||||
HTTPTargetKey: HTTPTargetKey,
|
||||
HTTPURLKey: HTTPURLKey,
|
||||
HTTPUserAgentKey: HTTPUserAgentKey,
|
||||
NetHostIPKey: NetHostIPKey,
|
||||
NetHostNameKey: NetHostNameKey,
|
||||
NetHostPortKey: NetHostPortKey,
|
||||
NetPeerIPKey: NetPeerIPKey,
|
||||
NetPeerNameKey: NetPeerNameKey,
|
||||
NetPeerPortKey: NetPeerPortKey,
|
||||
NetTransportIP: NetTransportIP,
|
||||
NetTransportOther: NetTransportOther,
|
||||
NetTransportTCP: NetTransportTCP,
|
||||
NetTransportUDP: NetTransportUDP,
|
||||
NetTransportUnix: NetTransportUnix,
|
||||
}
|
||||
|
||||
// NetAttributesFromHTTPRequest generates attributes of the net
|
||||
// namespace as specified by the OpenTelemetry specification for a
|
||||
// span. The network parameter is a string that net.Dial function
|
||||
// from standard library can understand.
|
||||
func NetAttributesFromHTTPRequest(network string, request *http.Request) []attribute.KeyValue {
|
||||
return sc.NetAttributesFromHTTPRequest(network, request)
|
||||
}
|
||||
|
||||
// EndUserAttributesFromHTTPRequest generates attributes of the
|
||||
// enduser namespace as specified by the OpenTelemetry specification
|
||||
// for a span.
|
||||
func EndUserAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
return sc.EndUserAttributesFromHTTPRequest(request)
|
||||
}
|
||||
|
||||
// HTTPClientAttributesFromHTTPRequest generates attributes of the
|
||||
// http namespace as specified by the OpenTelemetry specification for
|
||||
// a span on the client side.
|
||||
func HTTPClientAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue {
|
||||
return sc.HTTPClientAttributesFromHTTPRequest(request)
|
||||
}
|
||||
|
||||
// HTTPServerMetricAttributesFromHTTPRequest generates low-cardinality attributes
|
||||
// to be used with server-side HTTP metrics.
|
||||
func HTTPServerMetricAttributesFromHTTPRequest(serverName string, request *http.Request) []attribute.KeyValue {
|
||||
return sc.HTTPServerMetricAttributesFromHTTPRequest(serverName, request)
|
||||
}
|
||||
|
||||
// HTTPServerAttributesFromHTTPRequest generates attributes of the
|
||||
// http namespace as specified by the OpenTelemetry specification for
|
||||
// a span on the server side. Currently, only basic authentication is
|
||||
// supported.
|
||||
func HTTPServerAttributesFromHTTPRequest(serverName, route string, request *http.Request) []attribute.KeyValue {
|
||||
return sc.HTTPServerAttributesFromHTTPRequest(serverName, route, request)
|
||||
}
|
||||
|
||||
// HTTPAttributesFromHTTPStatusCode generates attributes of the http
|
||||
// namespace as specified by the OpenTelemetry specification for a
|
||||
// span.
|
||||
func HTTPAttributesFromHTTPStatusCode(code int) []attribute.KeyValue {
|
||||
return sc.HTTPAttributesFromHTTPStatusCode(code)
|
||||
}
|
||||
|
||||
// SpanStatusFromHTTPStatusCode generates a status code and a message
|
||||
// as specified by the OpenTelemetry specification for a span.
|
||||
func SpanStatusFromHTTPStatusCode(code int) (codes.Code, string) {
|
||||
return internal.SpanStatusFromHTTPStatusCode(code)
|
||||
}
|
||||
|
||||
// SpanStatusFromHTTPStatusCodeAndSpanKind generates a status code and a message
|
||||
// as specified by the OpenTelemetry specification for a span.
|
||||
// Exclude 4xx for SERVER to set the appropriate status.
|
||||
func SpanStatusFromHTTPStatusCodeAndSpanKind(code int, spanKind trace.SpanKind) (codes.Code, string) {
|
||||
return internal.SpanStatusFromHTTPStatusCodeAndSpanKind(code, spanKind)
|
||||
}
|
@ -14,7 +14,7 @@
|
||||
|
||||
// Code generated from semantic convention specification. DO NOT EDIT.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0"
|
||||
|
||||
import "go.opentelemetry.io/otel/attribute"
|
||||
|
||||
@ -33,18 +33,19 @@ const (
|
||||
// Stability: stable
|
||||
// Examples: '111111111111', 'opentelemetry'
|
||||
CloudAccountIDKey = attribute.Key("cloud.account.id")
|
||||
// The geographical region the resource is running. Refer to your provider's docs
|
||||
// to see the available regions, for example [Alibaba Cloud
|
||||
// regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS
|
||||
// regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/),
|
||||
// [Azure regions](https://azure.microsoft.com/en-us/global-
|
||||
// infrastructure/geographies/), or [Google Cloud
|
||||
// regions](https://cloud.google.com/about/locations).
|
||||
// The geographical region the resource is running.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'us-central1', 'us-east-1'
|
||||
// Note: Refer to your provider's docs to see the available regions, for example
|
||||
// [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-
|
||||
// detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-
|
||||
// infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en-
|
||||
// us/global-infrastructure/geographies/), [Google Cloud
|
||||
// regions](https://cloud.google.com/about/locations), or [Tencent Cloud
|
||||
// regions](https://intl.cloud.tencent.com/document/product/213/6091).
|
||||
CloudRegionKey = attribute.Key("cloud.region")
|
||||
// Cloud regions often have multiple, isolated locations known as zones to
|
||||
// increase availability. Availability zone represents the zone where the resource
|
||||
@ -75,6 +76,8 @@ var (
|
||||
CloudProviderAzure = CloudProviderKey.String("azure")
|
||||
// Google Cloud Platform
|
||||
CloudProviderGCP = CloudProviderKey.String("gcp")
|
||||
// Tencent Cloud
|
||||
CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud")
|
||||
)
|
||||
|
||||
var (
|
||||
@ -92,6 +95,8 @@ var (
|
||||
CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda")
|
||||
// AWS Elastic Beanstalk
|
||||
CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk")
|
||||
// AWS App Runner
|
||||
CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner")
|
||||
// Azure Virtual Machines
|
||||
CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm")
|
||||
// Azure Container Instances
|
||||
@ -112,6 +117,12 @@ var (
|
||||
CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions")
|
||||
// Google Cloud App Engine (GAE)
|
||||
CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine")
|
||||
// Tencent Cloud Cloud Virtual Machine (CVM)
|
||||
CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm")
|
||||
// Tencent Cloud Elastic Kubernetes Service (EKS)
|
||||
CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks")
|
||||
// Tencent Cloud Serverless Cloud Function (SCF)
|
||||
CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf")
|
||||
)
|
||||
|
||||
// Resources used by AWS Elastic Container Service (ECS).
|
||||
@ -229,7 +240,7 @@ const (
|
||||
|
||||
// A container instance.
|
||||
const (
|
||||
// Container name.
|
||||
// Container name used by container runtime.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
@ -320,6 +331,16 @@ const (
|
||||
// Note: It's recommended this value represents a human readable version of the
|
||||
// device model rather than a machine readable alternative.
|
||||
DeviceModelNameKey = attribute.Key("device.model.name")
|
||||
// The name of the device manufacturer
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'Apple', 'Samsung'
|
||||
// Note: The Android OS provides this field via
|
||||
// [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER).
|
||||
// iOS apps SHOULD hardcode the value `Apple`.
|
||||
DeviceManufacturerKey = attribute.Key("device.manufacturer")
|
||||
)
|
||||
|
||||
// A serverless instance.
|
||||
@ -476,6 +497,8 @@ var (
|
||||
HostArchPPC32 = HostArchKey.String("ppc32")
|
||||
// 64-bit PowerPC
|
||||
HostArchPPC64 = HostArchKey.String("ppc64")
|
||||
// IBM z/Architecture
|
||||
HostArchS390x = HostArchKey.String("s390x")
|
||||
// 32-bit x86
|
||||
HostArchX86 = HostArchKey.String("x86")
|
||||
)
|
||||
@ -540,13 +563,23 @@ const (
|
||||
|
||||
// A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates).
|
||||
const (
|
||||
// The name of the Container in a Pod template.
|
||||
// The name of the Container from Pod specification, must be unique within a Pod.
|
||||
// Container runtime usually uses different globally unique name
|
||||
// (`container.name`).
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'redis'
|
||||
K8SContainerNameKey = attribute.Key("k8s.container.name")
|
||||
// Number of times the container was restarted. This attribute can be used to
|
||||
// identify a particular container (running or stopped) within a container spec.
|
||||
//
|
||||
// Type: int
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 0, 2
|
||||
K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count")
|
||||
)
|
||||
|
||||
// A Kubernetes ReplicaSet object.
|
||||
@ -917,6 +950,8 @@ var (
|
||||
TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby")
|
||||
// webjs
|
||||
TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs")
|
||||
// swift
|
||||
TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift")
|
||||
)
|
||||
|
||||
// Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime.
|
@ -12,9 +12,9 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.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/v1.7.0"
|
||||
const SchemaURL = "https://opentelemetry.io/schemas/1.10.0"
|
@ -14,7 +14,7 @@
|
||||
|
||||
// Code generated from semantic convention specification. DO NOT EDIT.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.7.0"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0"
|
||||
|
||||
import "go.opentelemetry.io/otel/attribute"
|
||||
|
||||
@ -32,6 +32,71 @@ const (
|
||||
AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn")
|
||||
)
|
||||
|
||||
// This document defines attributes for CloudEvents. CloudEvents is a specification on how to define event data in a standard way. These attributes can be attached to spans when performing operations with CloudEvents, regardless of the protocol being used.
|
||||
const (
|
||||
// The [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec
|
||||
// .md#id) uniquely identifies the event.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: '123e4567-e89b-12d3-a456-426614174000', '0001'
|
||||
CloudeventsEventIDKey = attribute.Key("cloudevents.event_id")
|
||||
// The [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.m
|
||||
// d#source-1) identifies the context in which an event happened.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'https://github.com/cloudevents', '/cloudevents/spec/pull/123', 'my-
|
||||
// service'
|
||||
CloudeventsEventSourceKey = attribute.Key("cloudevents.event_source")
|
||||
// The [version of the CloudEvents specification](https://github.com/cloudevents/s
|
||||
// pec/blob/v1.0.2/cloudevents/spec.md#specversion) which the event uses.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: '1.0'
|
||||
CloudeventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version")
|
||||
// The [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/sp
|
||||
// ec.md#type) contains a value describing the type of event related to the
|
||||
// originating occurrence.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'com.github.pull_request.opened', 'com.example.object.deleted.v2'
|
||||
CloudeventsEventTypeKey = attribute.Key("cloudevents.event_type")
|
||||
// The [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.
|
||||
// md#subject) of the event in the context of the event producer (identified by
|
||||
// source).
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'mynewfile.jpg'
|
||||
CloudeventsEventSubjectKey = attribute.Key("cloudevents.event_subject")
|
||||
)
|
||||
|
||||
// This document defines semantic conventions for the OpenTracing Shim
|
||||
const (
|
||||
// Parent-child Reference type
|
||||
//
|
||||
// Type: Enum
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Note: The causal relationship between a child Span and a parent Span.
|
||||
OpentracingRefTypeKey = attribute.Key("opentracing.ref_type")
|
||||
)
|
||||
|
||||
var (
|
||||
// The parent Span depends on the child Span in some capacity
|
||||
OpentracingRefTypeChildOf = OpentracingRefTypeKey.String("child_of")
|
||||
// The parent Span does not depend in any way on the result of the child Span
|
||||
OpentracingRefTypeFollowsFrom = OpentracingRefTypeKey.String("follows_from")
|
||||
)
|
||||
|
||||
// This document defines the attributes used to perform database client calls.
|
||||
const (
|
||||
// An identifier for the database management system (DBMS) product being used. See
|
||||
@ -66,17 +131,18 @@ const (
|
||||
// Examples: 'org.postgresql.Driver',
|
||||
// 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
|
||||
DBJDBCDriverClassnameKey = attribute.Key("db.jdbc.driver_classname")
|
||||
// If no [tech-specific attribute](#call-level-attributes-for-specific-
|
||||
// technologies) is defined, this attribute is used to report the name of the
|
||||
// database being accessed. For commands that switch the database, this should be
|
||||
// set to the target database (even if the command fails).
|
||||
// This attribute is used to report the name of the database being accessed. For
|
||||
// commands that switch the database, this should be set to the target database
|
||||
// (even if the command fails).
|
||||
//
|
||||
// Type: string
|
||||
// Required: Required, if applicable and no more-specific attribute is defined.
|
||||
// Required: Required, if applicable.
|
||||
// Stability: stable
|
||||
// Examples: 'customers', 'main'
|
||||
// Note: In some SQL databases, the database name to be used is called "schema
|
||||
// name".
|
||||
// name". In case there are multiple layers that could be considered for database
|
||||
// name (e.g. Oracle instance name and schema name), the database name to be used
|
||||
// is the more specific layer (e.g. Oracle schema name).
|
||||
DBNameKey = attribute.Key("db.name")
|
||||
// The database statement being executed.
|
||||
//
|
||||
@ -217,14 +283,6 @@ const (
|
||||
|
||||
// Call-level attributes for Cassandra
|
||||
const (
|
||||
// The name of the keyspace being accessed. To be used instead of the generic
|
||||
// `db.name` attribute.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'mykeyspace'
|
||||
DBCassandraKeyspaceKey = attribute.Key("db.cassandra.keyspace")
|
||||
// The fetch size used for paging, i.e. how many rows will be returned at once.
|
||||
//
|
||||
// Type: int
|
||||
@ -241,7 +299,7 @@ const (
|
||||
// Stability: stable
|
||||
DBCassandraConsistencyLevelKey = attribute.Key("db.cassandra.consistency_level")
|
||||
// The name of the primary table that the operation is acting upon, including the
|
||||
// schema name (if applicable).
|
||||
// keyspace name (if applicable).
|
||||
//
|
||||
// Type: string
|
||||
// Required: Recommended if available.
|
||||
@ -308,18 +366,6 @@ var (
|
||||
DBCassandraConsistencyLevelLocalSerial = DBCassandraConsistencyLevelKey.String("local_serial")
|
||||
)
|
||||
|
||||
// Call-level attributes for Apache HBase
|
||||
const (
|
||||
// The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being
|
||||
// accessed. To be used instead of the generic `db.name` attribute.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'default'
|
||||
DBHBaseNamespaceKey = attribute.Key("db.hbase.namespace")
|
||||
)
|
||||
|
||||
// Call-level attributes for Redis
|
||||
const (
|
||||
// The index of the database being accessed as used in the [`SELECT`
|
||||
@ -344,10 +390,10 @@ const (
|
||||
DBMongoDBCollectionKey = attribute.Key("db.mongodb.collection")
|
||||
)
|
||||
|
||||
// Call-level attrbiutes for SQL databases
|
||||
// Call-level attributes for SQL databases
|
||||
const (
|
||||
// The name of the primary table that the operation is acting upon, including the
|
||||
// schema name (if applicable).
|
||||
// database name (if applicable).
|
||||
//
|
||||
// Type: string
|
||||
// Required: Recommended if available.
|
||||
@ -408,7 +454,7 @@ const (
|
||||
// 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](#exception-end-example).
|
||||
// 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,
|
||||
@ -419,15 +465,20 @@ const (
|
||||
|
||||
// This semantic convention describes an instance of a function that runs without provisioning or managing of servers (also known as serverless functions or Function as a Service (FaaS)) with spans.
|
||||
const (
|
||||
// Type of the trigger on which the function is executed.
|
||||
// Type of the trigger which caused this function execution.
|
||||
//
|
||||
// Type: Enum
|
||||
// Required: On FaaS instances, faas.trigger MUST be set on incoming invocations.
|
||||
// Clients invoking FaaS instances MUST set `faas.trigger` on outgoing
|
||||
// invocations, if it is known to the client. This is, for example, not the case,
|
||||
// when the transport layer is abstracted in a FaaS client framework without
|
||||
// access to its configuration.
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Note: For the server/consumer span on the incoming side,
|
||||
// `faas.trigger` MUST be set.
|
||||
|
||||
// Clients invoking FaaS instances usually cannot set `faas.trigger`,
|
||||
// since they would typically need to look in the payload to determine
|
||||
// the event type. If clients set it, it should be the same as the
|
||||
// trigger that corresponding incoming would have (i.e., this has
|
||||
// nothing to do with the underlying transport used to make the API
|
||||
// call to invoke the lambda, which is often HTTP).
|
||||
FaaSTriggerKey = attribute.Key("faas.trigger")
|
||||
// The execution ID of the current function execution.
|
||||
//
|
||||
@ -572,6 +623,8 @@ var (
|
||||
FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure")
|
||||
// Google Cloud Platform
|
||||
FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp")
|
||||
// Tencent Cloud
|
||||
FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud")
|
||||
)
|
||||
|
||||
// These attributes may be used for any network related operation.
|
||||
@ -957,6 +1010,13 @@ const (
|
||||
// Stability: stable
|
||||
// Examples: 5493
|
||||
HTTPResponseContentLengthUncompressedKey = attribute.Key("http.response_content_length_uncompressed")
|
||||
// The ordinal number of request re-sending attempt.
|
||||
//
|
||||
// Type: int
|
||||
// Required: If and only if a request was retried.
|
||||
// Stability: stable
|
||||
// Examples: 3
|
||||
HTTPRetryCountKey = attribute.Key("http.retry_count")
|
||||
)
|
||||
|
||||
var (
|
||||
@ -1224,7 +1284,7 @@ const (
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'kafka', 'rabbitmq', 'activemq', 'AmazonSQS'
|
||||
// Examples: 'kafka', 'rabbitmq', 'rocketmq', 'activemq', 'AmazonSQS'
|
||||
MessagingSystemKey = attribute.Key("messaging.system")
|
||||
// The message destination name. This might be equal to the span name but is
|
||||
// required nevertheless.
|
||||
@ -1396,14 +1456,85 @@ const (
|
||||
MessagingKafkaTombstoneKey = attribute.Key("messaging.kafka.tombstone")
|
||||
)
|
||||
|
||||
// This document defines semantic conventions for remote procedure calls.
|
||||
// Attributes for Apache RocketMQ
|
||||
const (
|
||||
// A string identifying the remoting system.
|
||||
// Namespace of RocketMQ resources, resources in different namespaces are
|
||||
// individual.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'grpc', 'java_rmi', 'wcf'
|
||||
// Examples: 'myNamespace'
|
||||
MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace")
|
||||
// Name of the RocketMQ producer/consumer group that is handling the message. The
|
||||
// client type is identified by the SpanKind.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'myConsumerGroup'
|
||||
MessagingRocketmqClientGroupKey = attribute.Key("messaging.rocketmq.client_group")
|
||||
// The unique identifier for each client.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
// Examples: 'myhost@8742@s8083jm'
|
||||
MessagingRocketmqClientIDKey = attribute.Key("messaging.rocketmq.client_id")
|
||||
// Type of message.
|
||||
//
|
||||
// Type: Enum
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message_type")
|
||||
// The secondary classifier of message besides topic.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'tagA'
|
||||
MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message_tag")
|
||||
// Key(s) of message, another way to mark message besides message id.
|
||||
//
|
||||
// Type: string[]
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
// Examples: 'keyA', 'keyB'
|
||||
MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message_keys")
|
||||
// Model of message consumption. This only applies to consumer spans.
|
||||
//
|
||||
// Type: Enum
|
||||
// Required: No
|
||||
// Stability: stable
|
||||
MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model")
|
||||
)
|
||||
|
||||
var (
|
||||
// Normal message
|
||||
MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal")
|
||||
// FIFO message
|
||||
MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo")
|
||||
// Delay message
|
||||
MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay")
|
||||
// Transaction message
|
||||
MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction")
|
||||
)
|
||||
|
||||
var (
|
||||
// Clustering consumption model
|
||||
MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering")
|
||||
// Broadcasting consumption model
|
||||
MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting")
|
||||
)
|
||||
|
||||
// This document defines semantic conventions for remote procedure calls.
|
||||
const (
|
||||
// A string identifying the remoting system. See below for a list of well-known
|
||||
// identifiers.
|
||||
//
|
||||
// Type: Enum
|
||||
// Required: Always
|
||||
// Stability: stable
|
||||
RPCSystemKey = attribute.Key("rpc.system")
|
||||
// The full (logical) name of the service being called, including its package
|
||||
// name, if applicable.
|
||||
@ -1434,6 +1565,17 @@ const (
|
||||
RPCMethodKey = attribute.Key("rpc.method")
|
||||
)
|
||||
|
||||
var (
|
||||
// gRPC
|
||||
RPCSystemGRPC = RPCSystemKey.String("grpc")
|
||||
// Java RMI
|
||||
RPCSystemJavaRmi = RPCSystemKey.String("java_rmi")
|
||||
// .NET WCF
|
||||
RPCSystemDotnetWcf = RPCSystemKey.String("dotnet_wcf")
|
||||
// Apache Dubbo
|
||||
RPCSystemApacheDubbo = RPCSystemKey.String("apache_dubbo")
|
||||
)
|
||||
|
||||
// Tech-specific attributes for gRPC.
|
||||
const (
|
||||
// The [numeric status
|
Reference in New Issue
Block a user