You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
de8158f87a
Share the AddOption and RecordOption pools used by generated semconv metric helpers through a small internal package, instead of emitting one pair of pools in every generated metric package. Regenerate semconv/v1.41.0 from the updated templates. Fixes #8356 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com>
419 lines
14 KiB
Go
419 lines
14 KiB
Go
// Code generated from semantic convention specification. DO NOT EDIT.
|
|
|
|
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Package azureconv provides types and functionality for OpenTelemetry semantic
|
|
// conventions in the "azure" namespace.
|
|
package azureconv
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.opentelemetry.io/otel/attribute"
|
|
"go.opentelemetry.io/otel/metric"
|
|
"go.opentelemetry.io/otel/metric/noop"
|
|
"go.opentelemetry.io/otel/semconv/internal/metricpool"
|
|
)
|
|
|
|
// CosmosDBConsistencyLevelAttr is an attribute conforming to the
|
|
// azure.cosmosdb.consistency.level semantic conventions. It represents the
|
|
// account or request [consistency level].
|
|
//
|
|
// [consistency level]: https://learn.microsoft.com/azure/cosmos-db/consistency-levels
|
|
type CosmosDBConsistencyLevelAttr string
|
|
|
|
var (
|
|
// CosmosDBConsistencyLevelStrong is the strong.
|
|
CosmosDBConsistencyLevelStrong CosmosDBConsistencyLevelAttr = "Strong"
|
|
// CosmosDBConsistencyLevelBoundedStaleness is the bounded Staleness.
|
|
CosmosDBConsistencyLevelBoundedStaleness CosmosDBConsistencyLevelAttr = "BoundedStaleness"
|
|
// CosmosDBConsistencyLevelSession is the session.
|
|
CosmosDBConsistencyLevelSession CosmosDBConsistencyLevelAttr = "Session"
|
|
// CosmosDBConsistencyLevelEventual is the eventual.
|
|
CosmosDBConsistencyLevelEventual CosmosDBConsistencyLevelAttr = "Eventual"
|
|
// CosmosDBConsistencyLevelConsistentPrefix is the consistent Prefix.
|
|
CosmosDBConsistencyLevelConsistentPrefix CosmosDBConsistencyLevelAttr = "ConsistentPrefix"
|
|
)
|
|
|
|
// ErrorTypeAttr is an attribute conforming to the error.type semantic
|
|
// conventions. It represents the describes a class of error the operation ended
|
|
// with.
|
|
type ErrorTypeAttr string
|
|
|
|
var (
|
|
// ErrorTypeOther is a fallback error value to be used when the instrumentation
|
|
// doesn't define a custom value.
|
|
ErrorTypeOther ErrorTypeAttr = "_OTHER"
|
|
)
|
|
|
|
// CosmosDBClientActiveInstanceCount is an instrument used to record metric
|
|
// values conforming to the "azure.cosmosdb.client.active_instance.count"
|
|
// semantic conventions. It represents the number of active client instances.
|
|
type CosmosDBClientActiveInstanceCount struct {
|
|
metric.Int64UpDownCounter
|
|
}
|
|
|
|
var newCosmosDBClientActiveInstanceCountOpts = []metric.Int64UpDownCounterOption{
|
|
metric.WithDescription("Number of active client instances."),
|
|
metric.WithUnit("{instance}"),
|
|
}
|
|
|
|
// NewCosmosDBClientActiveInstanceCount returns a new
|
|
// CosmosDBClientActiveInstanceCount instrument.
|
|
func NewCosmosDBClientActiveInstanceCount(
|
|
m metric.Meter,
|
|
opt ...metric.Int64UpDownCounterOption,
|
|
) (CosmosDBClientActiveInstanceCount, error) {
|
|
// Check if the meter is nil.
|
|
if m == nil {
|
|
return CosmosDBClientActiveInstanceCount{noop.Int64UpDownCounter{}}, nil
|
|
}
|
|
|
|
if len(opt) == 0 {
|
|
opt = newCosmosDBClientActiveInstanceCountOpts
|
|
} else {
|
|
opt = append(opt, newCosmosDBClientActiveInstanceCountOpts...)
|
|
}
|
|
|
|
i, err := m.Int64UpDownCounter(
|
|
"azure.cosmosdb.client.active_instance.count",
|
|
opt...,
|
|
)
|
|
if err != nil {
|
|
return CosmosDBClientActiveInstanceCount{noop.Int64UpDownCounter{}}, err
|
|
}
|
|
return CosmosDBClientActiveInstanceCount{i}, nil
|
|
}
|
|
|
|
// Inst returns the underlying metric instrument.
|
|
func (m CosmosDBClientActiveInstanceCount) Inst() metric.Int64UpDownCounter {
|
|
return m.Int64UpDownCounter
|
|
}
|
|
|
|
// Name returns the semantic convention name of the instrument.
|
|
func (CosmosDBClientActiveInstanceCount) Name() string {
|
|
return "azure.cosmosdb.client.active_instance.count"
|
|
}
|
|
|
|
// Unit returns the semantic convention unit of the instrument
|
|
func (CosmosDBClientActiveInstanceCount) Unit() string {
|
|
return "{instance}"
|
|
}
|
|
|
|
// Description returns the semantic convention description of the instrument
|
|
func (CosmosDBClientActiveInstanceCount) Description() string {
|
|
return "Number of active client instances."
|
|
}
|
|
|
|
// Add adds incr to the existing count for attrs.
|
|
//
|
|
// All additional attrs passed are included in the recorded value.
|
|
func (m CosmosDBClientActiveInstanceCount) Add(
|
|
ctx context.Context,
|
|
incr int64,
|
|
attrs ...attribute.KeyValue,
|
|
) {
|
|
if !m.Int64UpDownCounter.Enabled(ctx) {
|
|
return
|
|
}
|
|
if len(attrs) == 0 {
|
|
m.Int64UpDownCounter.Add(ctx, incr)
|
|
return
|
|
}
|
|
|
|
o := metricpool.AddOptions()
|
|
defer metricpool.PutAddOptions(o)
|
|
|
|
*o = append(
|
|
*o,
|
|
metric.WithAttributes(
|
|
attrs...,
|
|
),
|
|
)
|
|
|
|
m.Int64UpDownCounter.Add(ctx, incr, *o...)
|
|
}
|
|
|
|
// AddSet adds incr to the existing count for set.
|
|
func (m CosmosDBClientActiveInstanceCount) AddSet(ctx context.Context, incr int64, set attribute.Set) {
|
|
if !m.Int64UpDownCounter.Enabled(ctx) {
|
|
return
|
|
}
|
|
if set.Len() == 0 {
|
|
m.Int64UpDownCounter.Add(ctx, incr)
|
|
return
|
|
}
|
|
|
|
o := metricpool.AddOptions()
|
|
defer metricpool.PutAddOptions(o)
|
|
|
|
*o = append(*o, metric.WithAttributeSet(set))
|
|
m.Int64UpDownCounter.Add(ctx, incr, *o...)
|
|
}
|
|
|
|
// AttrServerPort returns an optional attribute for the "server.port" semantic
|
|
// convention. It represents the server port number.
|
|
func (CosmosDBClientActiveInstanceCount) AttrServerPort(val int) attribute.KeyValue {
|
|
return attribute.Int("server.port", val)
|
|
}
|
|
|
|
// AttrServerAddress returns an optional attribute for the "server.address"
|
|
// semantic convention. It represents the name of the database host.
|
|
func (CosmosDBClientActiveInstanceCount) AttrServerAddress(val string) attribute.KeyValue {
|
|
return attribute.String("server.address", val)
|
|
}
|
|
|
|
// CosmosDBClientActiveInstanceCountObservable is an instrument used to record
|
|
// metric values conforming to the "azure.cosmosdb.client.active_instance.count"
|
|
// semantic conventions. It represents the number of active client instances.
|
|
type CosmosDBClientActiveInstanceCountObservable struct {
|
|
metric.Int64ObservableUpDownCounter
|
|
}
|
|
|
|
var newCosmosDBClientActiveInstanceCountObservableOpts = []metric.Int64ObservableUpDownCounterOption{
|
|
metric.WithDescription("Number of active client instances."),
|
|
metric.WithUnit("{instance}"),
|
|
}
|
|
|
|
// NewCosmosDBClientActiveInstanceCountObservable returns a new
|
|
// CosmosDBClientActiveInstanceCountObservable instrument.
|
|
func NewCosmosDBClientActiveInstanceCountObservable(
|
|
m metric.Meter,
|
|
opt ...metric.Int64ObservableUpDownCounterOption,
|
|
) (CosmosDBClientActiveInstanceCountObservable, error) {
|
|
// Check if the meter is nil.
|
|
if m == nil {
|
|
return CosmosDBClientActiveInstanceCountObservable{noop.Int64ObservableUpDownCounter{}}, nil
|
|
}
|
|
|
|
if len(opt) == 0 {
|
|
opt = newCosmosDBClientActiveInstanceCountObservableOpts
|
|
} else {
|
|
opt = append(opt, newCosmosDBClientActiveInstanceCountObservableOpts...)
|
|
}
|
|
|
|
i, err := m.Int64ObservableUpDownCounter(
|
|
"azure.cosmosdb.client.active_instance.count",
|
|
opt...,
|
|
)
|
|
if err != nil {
|
|
return CosmosDBClientActiveInstanceCountObservable{noop.Int64ObservableUpDownCounter{}}, err
|
|
}
|
|
return CosmosDBClientActiveInstanceCountObservable{i}, nil
|
|
}
|
|
|
|
// Inst returns the underlying metric instrument.
|
|
func (m CosmosDBClientActiveInstanceCountObservable) Inst() metric.Int64ObservableUpDownCounter {
|
|
return m.Int64ObservableUpDownCounter
|
|
}
|
|
|
|
// Name returns the semantic convention name of the instrument.
|
|
func (CosmosDBClientActiveInstanceCountObservable) Name() string {
|
|
return "azure.cosmosdb.client.active_instance.count"
|
|
}
|
|
|
|
// Unit returns the semantic convention unit of the instrument
|
|
func (CosmosDBClientActiveInstanceCountObservable) Unit() string {
|
|
return "{instance}"
|
|
}
|
|
|
|
// Description returns the semantic convention description of the instrument
|
|
func (CosmosDBClientActiveInstanceCountObservable) Description() string {
|
|
return "Number of active client instances."
|
|
}
|
|
|
|
// AttrServerPort returns an optional attribute for the "server.port" semantic
|
|
// convention. It represents the server port number.
|
|
func (CosmosDBClientActiveInstanceCountObservable) AttrServerPort(val int) attribute.KeyValue {
|
|
return attribute.Int("server.port", val)
|
|
}
|
|
|
|
// AttrServerAddress returns an optional attribute for the "server.address"
|
|
// semantic convention. It represents the name of the database host.
|
|
func (CosmosDBClientActiveInstanceCountObservable) AttrServerAddress(val string) attribute.KeyValue {
|
|
return attribute.String("server.address", val)
|
|
}
|
|
|
|
// CosmosDBClientOperationRequestCharge is an instrument used to record metric
|
|
// values conforming to the "azure.cosmosdb.client.operation.request_charge"
|
|
// semantic conventions. It represents the [Request units] consumed by the
|
|
// operation.
|
|
//
|
|
// [Request units]: https://learn.microsoft.com/azure/cosmos-db/request-units
|
|
type CosmosDBClientOperationRequestCharge struct {
|
|
metric.Int64Histogram
|
|
}
|
|
|
|
var newCosmosDBClientOperationRequestChargeOpts = []metric.Int64HistogramOption{
|
|
metric.WithDescription("[Request units](https://learn.microsoft.com/azure/cosmos-db/request-units) consumed by the operation."),
|
|
metric.WithUnit("{request_unit}"),
|
|
}
|
|
|
|
// NewCosmosDBClientOperationRequestCharge returns a new
|
|
// CosmosDBClientOperationRequestCharge instrument.
|
|
func NewCosmosDBClientOperationRequestCharge(
|
|
m metric.Meter,
|
|
opt ...metric.Int64HistogramOption,
|
|
) (CosmosDBClientOperationRequestCharge, error) {
|
|
// Check if the meter is nil.
|
|
if m == nil {
|
|
return CosmosDBClientOperationRequestCharge{noop.Int64Histogram{}}, nil
|
|
}
|
|
|
|
if len(opt) == 0 {
|
|
opt = newCosmosDBClientOperationRequestChargeOpts
|
|
} else {
|
|
opt = append(opt, newCosmosDBClientOperationRequestChargeOpts...)
|
|
}
|
|
|
|
i, err := m.Int64Histogram(
|
|
"azure.cosmosdb.client.operation.request_charge",
|
|
opt...,
|
|
)
|
|
if err != nil {
|
|
return CosmosDBClientOperationRequestCharge{noop.Int64Histogram{}}, err
|
|
}
|
|
return CosmosDBClientOperationRequestCharge{i}, nil
|
|
}
|
|
|
|
// Inst returns the underlying metric instrument.
|
|
func (m CosmosDBClientOperationRequestCharge) Inst() metric.Int64Histogram {
|
|
return m.Int64Histogram
|
|
}
|
|
|
|
// Name returns the semantic convention name of the instrument.
|
|
func (CosmosDBClientOperationRequestCharge) Name() string {
|
|
return "azure.cosmosdb.client.operation.request_charge"
|
|
}
|
|
|
|
// Unit returns the semantic convention unit of the instrument
|
|
func (CosmosDBClientOperationRequestCharge) Unit() string {
|
|
return "{request_unit}"
|
|
}
|
|
|
|
// Description returns the semantic convention description of the instrument
|
|
func (CosmosDBClientOperationRequestCharge) Description() string {
|
|
return "[Request units](https://learn.microsoft.com/azure/cosmos-db/request-units) consumed by the operation."
|
|
}
|
|
|
|
// Record records val to the current distribution for attrs.
|
|
//
|
|
// The dbOperationName is the the name of the operation or command being
|
|
// executed.
|
|
//
|
|
// All additional attrs passed are included in the recorded value.
|
|
func (m CosmosDBClientOperationRequestCharge) Record(
|
|
ctx context.Context,
|
|
val int64,
|
|
dbOperationName string,
|
|
attrs ...attribute.KeyValue,
|
|
) {
|
|
if !m.Int64Histogram.Enabled(ctx) {
|
|
return
|
|
}
|
|
if len(attrs) == 0 {
|
|
m.Int64Histogram.Record(ctx, val, metric.WithAttributes(
|
|
attribute.String("db.operation.name", dbOperationName),
|
|
))
|
|
return
|
|
}
|
|
|
|
o := metricpool.RecordOptions()
|
|
defer metricpool.PutRecordOptions(o)
|
|
|
|
*o = append(
|
|
*o,
|
|
metric.WithAttributes(
|
|
append(
|
|
attrs[:len(attrs):len(attrs)],
|
|
attribute.String("db.operation.name", dbOperationName),
|
|
)...,
|
|
),
|
|
)
|
|
|
|
m.Int64Histogram.Record(ctx, val, *o...)
|
|
}
|
|
|
|
// RecordSet records val to the current distribution for set.
|
|
func (m CosmosDBClientOperationRequestCharge) RecordSet(ctx context.Context, val int64, set attribute.Set) {
|
|
if !m.Int64Histogram.Enabled(ctx) {
|
|
return
|
|
}
|
|
if set.Len() == 0 {
|
|
m.Int64Histogram.Record(ctx, val)
|
|
return
|
|
}
|
|
|
|
o := metricpool.RecordOptions()
|
|
defer metricpool.PutRecordOptions(o)
|
|
|
|
*o = append(*o, metric.WithAttributeSet(set))
|
|
m.Int64Histogram.Record(ctx, val, *o...)
|
|
}
|
|
|
|
// AttrCosmosDBConsistencyLevel returns an optional attribute for the
|
|
// "azure.cosmosdb.consistency.level" semantic convention. It represents the
|
|
// account or request [consistency level].
|
|
//
|
|
// [consistency level]: https://learn.microsoft.com/azure/cosmos-db/consistency-levels
|
|
func (CosmosDBClientOperationRequestCharge) AttrCosmosDBConsistencyLevel(val CosmosDBConsistencyLevelAttr) attribute.KeyValue {
|
|
return attribute.String("azure.cosmosdb.consistency.level", string(val))
|
|
}
|
|
|
|
// AttrCosmosDBResponseSubStatusCode returns an optional attribute for the
|
|
// "azure.cosmosdb.response.sub_status_code" semantic convention. It represents
|
|
// the cosmos DB sub status code.
|
|
func (CosmosDBClientOperationRequestCharge) AttrCosmosDBResponseSubStatusCode(val int) attribute.KeyValue {
|
|
return attribute.Int("azure.cosmosdb.response.sub_status_code", val)
|
|
}
|
|
|
|
// AttrDBCollectionName returns an optional attribute for the
|
|
// "db.collection.name" semantic convention. It represents the cosmos DB
|
|
// container name.
|
|
func (CosmosDBClientOperationRequestCharge) AttrDBCollectionName(val string) attribute.KeyValue {
|
|
return attribute.String("db.collection.name", val)
|
|
}
|
|
|
|
// AttrDBNamespace returns an optional attribute for the "db.namespace" semantic
|
|
// convention. It represents the name of the database, fully qualified within the
|
|
// server address and port.
|
|
func (CosmosDBClientOperationRequestCharge) AttrDBNamespace(val string) attribute.KeyValue {
|
|
return attribute.String("db.namespace", val)
|
|
}
|
|
|
|
// AttrDBResponseStatusCode returns an optional attribute for the
|
|
// "db.response.status_code" semantic convention. It represents the database
|
|
// response status code.
|
|
func (CosmosDBClientOperationRequestCharge) AttrDBResponseStatusCode(val string) attribute.KeyValue {
|
|
return attribute.String("db.response.status_code", val)
|
|
}
|
|
|
|
// AttrErrorType returns an optional attribute for the "error.type" semantic
|
|
// convention. It represents the describes a class of error the operation ended
|
|
// with.
|
|
func (CosmosDBClientOperationRequestCharge) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue {
|
|
return attribute.String("error.type", string(val))
|
|
}
|
|
|
|
// AttrServerPort returns an optional attribute for the "server.port" semantic
|
|
// convention. It represents the server port number.
|
|
func (CosmosDBClientOperationRequestCharge) AttrServerPort(val int) attribute.KeyValue {
|
|
return attribute.Int("server.port", val)
|
|
}
|
|
|
|
// AttrCosmosDBOperationContactedRegions returns an optional attribute for the
|
|
// "azure.cosmosdb.operation.contacted_regions" semantic convention. It
|
|
// represents the list of regions contacted during operation in the order that
|
|
// they were contacted. If there is more than one region listed, it indicates
|
|
// that the operation was performed on multiple regions i.e. cross-regional call.
|
|
func (CosmosDBClientOperationRequestCharge) AttrCosmosDBOperationContactedRegions(val ...string) attribute.KeyValue {
|
|
return attribute.StringSlice("azure.cosmosdb.operation.contacted_regions", val)
|
|
}
|
|
|
|
// AttrServerAddress returns an optional attribute for the "server.address"
|
|
// semantic convention. It represents the name of the database host.
|
|
func (CosmosDBClientOperationRequestCharge) AttrServerAddress(val string) attribute.KeyValue {
|
|
return attribute.String("server.address", val)
|
|
}
|