You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-08-13 19:53:11 +02:00
Update semantic conventions to v1.4.0, move to versioned package (#1987)
* Update semantic conventions to v1.4.0, move to versioned package Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com> * precommit wants explicit import path renaming for semconv/v1.4.0 Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com> * Fix semconv import path in stdout exporter example Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
4883cb119d
commit
cdf67ddfa3
@@ -80,6 +80,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||
- Rename `NewExporter` to `New` in the `go.opentelemetry.io/otel/exporters/trace/zipkin` package. (#1985)
|
||||
- Rename `NewExporter` to `New` in the `go.opentelemetry.io/otel/exporters/otlp` package. (#1985)
|
||||
- Rename `NewUnstartedExporter` to `NewUnstarted` in the `go.opentelemetry.io/otel/exporters/otlp` package. (#1985)
|
||||
- The `go.opentelemetry.io/otel/semconv` package has been moved to `go.opentelemetry.io/otel/semconv/v1.4.0` to allow for multiple [telemetry schema](https://github.com/open-telemetry/oteps/blob/main/text/0152-telemetry-schemas.md) versions to be used concurrently. (#1987)
|
||||
|
||||
### Deprecated
|
||||
|
||||
|
13
RELEASING.md
13
RELEASING.md
@@ -20,6 +20,19 @@ go run generator.go -i /path/to/specification/repo/semantic_conventions/trace
|
||||
Using default values for all options other than `input` will result in using the `template.j2` template to
|
||||
generate `resource.go` and `trace.go` in `/path/to/otelgo/repo/semconv/<version>`.
|
||||
|
||||
There are several ancillary files that are not generated and should be copied into the new package from the
|
||||
prior package, with updates made as appropriate to canonical import path statements and constant values.
|
||||
These files include:
|
||||
|
||||
* doc.go
|
||||
* exception.go
|
||||
* http(_test)?.go
|
||||
* schema.go
|
||||
|
||||
Uses of the previous schema version in this repository should be updated to use the newly generated version.
|
||||
No tooling for this exists at present, so use find/replace in your editor of choice or craft a `grep | sed`
|
||||
pipeline if you like living on the edge.
|
||||
|
||||
## Pre-Release
|
||||
|
||||
Update go.mod for submodules to depend on the new release which will happen in the next step.
|
||||
|
@@ -23,7 +23,7 @@ import (
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
|
||||
"go.opentelemetry.io/otel/bridge/opentracing/migration"
|
||||
|
@@ -27,7 +27,7 @@ import (
|
||||
"go.opentelemetry.io/otel/exporters/trace/jaeger"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -37,7 +37,7 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -27,7 +27,7 @@ import (
|
||||
"go.opentelemetry.io/otel/exporters/trace/zipkin"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -28,7 +28,7 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -26,7 +26,7 @@ import (
|
||||
gen "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -35,7 +35,7 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -24,7 +24,7 @@ import (
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
|
||||
zkmodel "github.com/openzipkin/zipkin-go/model"
|
||||
|
@@ -32,7 +32,7 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -34,7 +34,7 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -22,7 +22,7 @@ import (
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -27,7 +27,7 @@ import (
|
||||
ottest "go.opentelemetry.io/otel/internal/internaltest"
|
||||
"go.opentelemetry.io/otel/internal/matchers"
|
||||
"go.opentelemetry.io/otel/oteltest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
|
@@ -23,7 +23,7 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
func TestDetect(t *testing.T) {
|
||||
|
@@ -22,7 +22,7 @@ import (
|
||||
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
type (
|
||||
|
@@ -21,7 +21,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -24,7 +24,7 @@ import (
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
ottest "go.opentelemetry.io/otel/internal/internaltest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
func TestDetectOnePair(t *testing.T) {
|
||||
|
@@ -18,7 +18,7 @@ import (
|
||||
"context"
|
||||
"strings"
|
||||
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
type osTypeDetector struct{}
|
||||
|
@@ -22,7 +22,7 @@ import (
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
type pidProvider func() int
|
||||
|
@@ -31,7 +31,7 @@ import (
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
ottest "go.opentelemetry.io/otel/internal/internaltest"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -23,7 +23,7 @@ import (
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
|
||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||
|
@@ -30,7 +30,7 @@ import (
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/oteltest"
|
||||
"go.opentelemetry.io/otel/semconv"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
@@ -19,6 +19,6 @@
|
||||
// the evolving OpenTelemetry specification and user feedback.
|
||||
//
|
||||
// OpenTelemetry semantic conventions are agreed standardized naming
|
||||
// patterns for OpenTelemetry things. This package aims to be the
|
||||
// centralized place to interact with these conventions.
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv"
|
||||
// patterns for OpenTelemetry things. This package represents the conventions
|
||||
// as of the v1.4.0 version of the OpenTelemetry specification.
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.4.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"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
|
||||
import (
|
||||
"fmt"
|
@@ -14,7 +14,7 @@
|
||||
|
||||
// Code generated from semantic convention specification. DO NOT EDIT.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
|
||||
import "go.opentelemetry.io/otel/attribute"
|
||||
|
||||
@@ -255,6 +255,44 @@ const (
|
||||
DeploymentEnvironmentKey = attribute.Key("deployment.environment")
|
||||
)
|
||||
|
||||
// The device on which the process represented by this resource is running.
|
||||
const (
|
||||
// A unique identifier representing the device
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092'
|
||||
// Note: The device identifier MUST only be defined using the values outlined
|
||||
// below. This value is not an advertising identifier and MUST NOT be used as
|
||||
// such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor id
|
||||
// entifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-iden
|
||||
// tifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the
|
||||
// Firebase Installation ID or a globally unique UUID which is persisted across
|
||||
// sessions in your application. More information can be found
|
||||
// [here](https://developer.android.com/training/articles/user-data-ids) on best
|
||||
// practices and exact implementation details. Caution should be taken when
|
||||
// storing personal data or anything which can identify a user. GDPR and data
|
||||
// protection laws may apply, ensure you do your own due diligence.
|
||||
DeviceIDKey = attribute.Key("device.id")
|
||||
// The model identifier for the device
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: 'iPhone3,4', 'SM-G920F'
|
||||
// Note: It's recommended this value represents a machine readable version of the
|
||||
// model identifier rather than the market or consumer-friendly name of the
|
||||
// device.
|
||||
DeviceModelIdentifierKey = attribute.Key("device.model.identifier")
|
||||
// The marketing name for the device model
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6'
|
||||
// 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")
|
||||
)
|
||||
|
||||
// A serverless instance.
|
||||
const (
|
||||
// The name of the function being executed.
|
||||
@@ -537,6 +575,19 @@ const (
|
||||
// Required: No
|
||||
// Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS'
|
||||
OSDescriptionKey = attribute.Key("os.description")
|
||||
// Human readable operating system name.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: 'iOS', 'Android', 'Ubuntu'
|
||||
OSNameKey = attribute.Key("os.name")
|
||||
// The version string of the operating system as defined in [Version
|
||||
// Attributes](../../resource/semantic_conventions/README.md#version-attributes).
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: '14.2.1', '18.04.1'
|
||||
OSVersionKey = attribute.Key("os.version")
|
||||
)
|
||||
|
||||
var (
|
@@ -15,8 +15,6 @@
|
||||
package semconv
|
||||
|
||||
// SchemaURL is the schema URL that matches the version of the semantic conventions
|
||||
// that this package defines. This package defines semantic conventions for spec
|
||||
// v1.3.0 which was released before the concept of schemas was introduce, thus the
|
||||
// schema URL is empty. Semconv packages starting from v1.4.0 must declare non-empty
|
||||
// schema URL in the form https://opentelemetry.io/schemas/<version>
|
||||
const SchemaURL = ""
|
||||
// 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.4.0"
|
@@ -14,7 +14,7 @@
|
||||
|
||||
// Code generated from semantic convention specification. DO NOT EDIT.
|
||||
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv"
|
||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||
|
||||
import "go.opentelemetry.io/otel/attribute"
|
||||
|
||||
@@ -173,6 +173,10 @@ var (
|
||||
DBSystemGeode = DBSystemKey.String("geode")
|
||||
// Elasticsearch
|
||||
DBSystemElasticsearch = DBSystemKey.String("elasticsearch")
|
||||
// Memcached
|
||||
DBSystemMemcached = DBSystemKey.String("memcached")
|
||||
// CockroachDB
|
||||
DBSystemCockroachdb = DBSystemKey.String("cockroachdb")
|
||||
)
|
||||
|
||||
// Connection-level attributes for Microsoft SQL Server
|
||||
@@ -1215,3 +1219,43 @@ var (
|
||||
// UNAUTHENTICATED
|
||||
RPCGRPCStatusCodeUnauthenticated = RPCGRPCStatusCodeKey.Int(16)
|
||||
)
|
||||
|
||||
// Tech-specific attributes for [JSON RPC](https://www.jsonrpc.org/).
|
||||
const (
|
||||
// Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC
|
||||
// 1.0 does not specify this, the value can be omitted.
|
||||
//
|
||||
// Type: string
|
||||
// Required: If missing, it is assumed to be "1.0".
|
||||
// Examples: '2.0', '1.0'
|
||||
RPCJsonrpcVersionKey = attribute.Key("rpc.jsonrpc.version")
|
||||
// `method` property from request. Unlike `rpc.method`, this may not relate to the
|
||||
// actual method being called. Useful for client-side traces since client does not
|
||||
// know what will be called on the server.
|
||||
//
|
||||
// Type: string
|
||||
// Required: Always
|
||||
// Examples: 'users.create', 'get_users'
|
||||
RPCJsonrpcMethodKey = attribute.Key("rpc.jsonrpc.method")
|
||||
// `id` property of request or response. Since protocol allows id to be int,
|
||||
// string, `null` or missing (for notifications), value is expected to be cast to
|
||||
// string for simplicity. Use empty string in case of `null` value. Omit entirely
|
||||
// if this is a notification.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: '10', 'request-7', ''
|
||||
RPCJsonrpcRequestIDKey = attribute.Key("rpc.jsonrpc.request_id")
|
||||
// `error.code` property of response if it is an error response.
|
||||
//
|
||||
// Type: int
|
||||
// Required: If missing, response is assumed to be successful.
|
||||
// Examples: -32700, 100
|
||||
RPCJsonrpcErrorCodeKey = attribute.Key("rpc.jsonrpc.error_code")
|
||||
// `error.message` property of response if it is an error response.
|
||||
//
|
||||
// Type: string
|
||||
// Required: No
|
||||
// Examples: 'Parse error', 'User already exists'
|
||||
RPCJsonrpcErrorMessageKey = attribute.Key("rpc.jsonrpc.error_message")
|
||||
)
|
@@ -60,7 +60,7 @@ span.SetAttributes(myKey.String("a value"))
|
||||
|
||||
### Semantic Attributes
|
||||
|
||||
Semantic Attributes are attributes that are defined by the OpenTelemetry Specification in order to provide a shared set of attribute keys across multiple languages, frameworks, and runtimes for common concepts like HTTP methods, status codes, user agents, and more. These attributes are available in the `go.opentelemetry.io/otel/semconv` package.
|
||||
Semantic Attributes are attributes that are defined by the OpenTelemetry Specification in order to provide a shared set of attribute keys across multiple languages, frameworks, and runtimes for common concepts like HTTP methods, status codes, user agents, and more. These attributes are available in the `go.opentelemetry.io/otel/semconv/v1.4.0` package.
|
||||
|
||||
Tracing semantic conventions can be found [in this document](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/trace/semantic_conventions)
|
||||
|
||||
|
Reference in New Issue
Block a user