|
|
|
package opentelemetry
|
|
|
|
|
|
|
|
import (
|
|
|
|
"go.opentelemetry.io/otel/attribute"
|
|
|
|
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
|
|
|
gcodes "google.golang.org/grpc/codes"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
// GRPCStatusCodeKey is convention for numeric status code of a gRPC request.
|
|
|
|
GRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code")
|
|
|
|
// RPCNameKey is the name of message transmitted or received.
|
|
|
|
RPCNameKey = attribute.Key("name")
|
|
|
|
// RPCMessageTypeKey is the type of message transmitted or received.
|
|
|
|
RPCMessageTypeKey = attribute.Key("message.type")
|
|
|
|
// RPCMessageIDKey is the identifier of message transmitted or received.
|
|
|
|
RPCMessageIDKey = attribute.Key("message.id")
|
|
|
|
// RPCMessageCompressedSizeKey is the compressed size of the message transmitted or received in bytes.
|
|
|
|
RPCMessageCompressedSizeKey = attribute.Key("message.compressed_size")
|
|
|
|
// RPCMessageUncompressedSizeKey is the uncompressed size of the message
|
|
|
|
// transmitted or received in bytes.
|
|
|
|
RPCMessageUncompressedSizeKey = attribute.Key("message.uncompressed_size")
|
|
|
|
)
|
|
|
|
|
|
|
|
// Semantic conventions for common RPC attributes.
|
|
|
|
var (
|
|
|
|
// RPCSystemGRPC is the semantic convention for gRPC as the remoting system.
|
|
|
|
RPCSystemGRPC = semconv.RPCSystemKey.String("grpc")
|
|
|
|
// RPCNameMessage is the semantic convention for a message named message.
|
|
|
|
RPCNameMessage = RPCNameKey.String("message")
|
|
|
|
// RPCMessageTypeSent is the semantic conventions for sent RPC message types.
|
|
|
|
RPCMessageTypeSent = RPCMessageTypeKey.String("SENT")
|
|
|
|
// RPCMessageTypeReceived is the semantic conventions for the received RPC message types.
|
|
|
|
RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED")
|
|
|
|
)
|
|
|
|
|
|
|
|
// StatusCodeAttr returns a attribute.KeyValue that represents the give c.
|
|
|
|
func StatusCodeAttr(c gcodes.Code) attribute.KeyValue {
|
|
|
|
return GRPCStatusCodeKey.Int64(int64(c))
|
|
|
|
}
|