opentelemetry-collector/semconv/v1.5.0/generated_trace.go

1477 lines
47 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
// Code generated from semantic convention specification. DO NOT EDIT.
package semconv // import "go.opentelemetry.io/collector/semconv/v1.5.0"
// Span attributes used by AWS Lambda (in addition to general `faas` attributes).
const (
// The full invoked ARN as provided on the Context passed to the function (Lambda-
// Runtime-Invoked-Function-ARN header on the /runtime/invocation/next
// applicable).
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'arn:aws:lambda:us-east-1:123456:function:myfunction:myalias'
// Note: This may be different from faas.id if an alias is involved.
AttributeAWSLambdaInvokedARN = "aws.lambda.invoked_arn"
)
// This document defines the attributes used to perform database client calls.
const (
// An identifier for the database management system (DBMS) product being used. See
// below for a list of well-known identifiers.
//
// Type: Enum
// Required: Always
// Stability: stable
AttributeDBSystem = "db.system"
// The connection string used to connect to the database. It is recommended to
// remove embedded credentials.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Server=(localdb)\\v11.0;Integrated Security=true;'
AttributeDBConnectionString = "db.connection_string"
// Username for accessing the database.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'readonly_user', 'reporting_user'
AttributeDBUser = "db.user"
// The fully-qualified class name of the Java Database Connectivity (JDBC) driver
// used to connect.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'org.postgresql.Driver',
// 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
AttributeDBJDBCDriverClassname = "db.jdbc.driver_classname"
// If no tech-specific attribute 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).
//
// Type: string
// Required: Required, if applicable and no more-specific attribute is defined.
// Stability: stable
// Examples: 'customers', 'main'
// Note: In some SQL databases, the database name to be used is called
// "schema name".
AttributeDBName = "db.name"
// The database statement being executed.
//
// Type: string
// Required: Required if applicable and not explicitly disabled via
// instrumentation configuration.
// Stability: stable
// Examples: 'SELECT * FROM wuser_table', 'SET mykey "WuValue"'
// Note: The value may be sanitized to exclude sensitive information.
AttributeDBStatement = "db.statement"
// The name of the operation being executed, e.g. the MongoDB command name such as
// findAndModify, or the SQL keyword.
//
// Type: string
// Required: Required, if `db.statement` is not applicable.
// Stability: stable
// Examples: 'findAndModify', 'HMSET', 'SELECT'
// Note: When setting this to an SQL keyword, it is not recommended to attempt any
// client-side parsing of db.statement just to get this property, but it should be
// set if the operation name is provided by the library being instrumented. If the
// SQL statement has an ambiguous operation, or performs more than one operation,
// this value may be omitted.
AttributeDBOperation = "db.operation"
)
const (
// Some other SQL database. Fallback only. See notes
AttributeDBSystemOtherSQL = "other_sql"
// Microsoft SQL Server
AttributeDBSystemMSSQL = "mssql"
// MySQL
AttributeDBSystemMySQL = "mysql"
// Oracle Database
AttributeDBSystemOracle = "oracle"
// IBM DB2
AttributeDBSystemDB2 = "db2"
// PostgreSQL
AttributeDBSystemPostgreSQL = "postgresql"
// Amazon Redshift
AttributeDBSystemRedshift = "redshift"
// Apache Hive
AttributeDBSystemHive = "hive"
// Cloudscape
AttributeDBSystemCloudscape = "cloudscape"
// HyperSQL DataBase
AttributeDBSystemHSQLDB = "hsqldb"
// Progress Database
AttributeDBSystemProgress = "progress"
// SAP MaxDB
AttributeDBSystemMaxDB = "maxdb"
// SAP HANA
AttributeDBSystemHanaDB = "hanadb"
// Ingres
AttributeDBSystemIngres = "ingres"
// FirstSQL
AttributeDBSystemFirstSQL = "firstsql"
// EnterpriseDB
AttributeDBSystemEDB = "edb"
// InterSystems Caché
AttributeDBSystemCache = "cache"
// Adabas (Adaptable Database System)
AttributeDBSystemAdabas = "adabas"
// Firebird
AttributeDBSystemFirebird = "firebird"
// Apache Derby
AttributeDBSystemDerby = "derby"
// FileMaker
AttributeDBSystemFilemaker = "filemaker"
// Informix
AttributeDBSystemInformix = "informix"
// InstantDB
AttributeDBSystemInstantDB = "instantdb"
// InterBase
AttributeDBSystemInterbase = "interbase"
// MariaDB
AttributeDBSystemMariaDB = "mariadb"
// Netezza
AttributeDBSystemNetezza = "netezza"
// Pervasive PSQL
AttributeDBSystemPervasive = "pervasive"
// PointBase
AttributeDBSystemPointbase = "pointbase"
// SQLite
AttributeDBSystemSqlite = "sqlite"
// Sybase
AttributeDBSystemSybase = "sybase"
// Teradata
AttributeDBSystemTeradata = "teradata"
// Vertica
AttributeDBSystemVertica = "vertica"
// H2
AttributeDBSystemH2 = "h2"
// ColdFusion IMQ
AttributeDBSystemColdfusion = "coldfusion"
// Apache Cassandra
AttributeDBSystemCassandra = "cassandra"
// Apache HBase
AttributeDBSystemHBase = "hbase"
// MongoDB
AttributeDBSystemMongoDB = "mongodb"
// Redis
AttributeDBSystemRedis = "redis"
// Couchbase
AttributeDBSystemCouchbase = "couchbase"
// CouchDB
AttributeDBSystemCouchDB = "couchdb"
// Microsoft Azure Cosmos DB
AttributeDBSystemCosmosDB = "cosmosdb"
// Amazon DynamoDB
AttributeDBSystemDynamoDB = "dynamodb"
// Neo4j
AttributeDBSystemNeo4j = "neo4j"
// Apache Geode
AttributeDBSystemGeode = "geode"
// Elasticsearch
AttributeDBSystemElasticsearch = "elasticsearch"
// Memcached
AttributeDBSystemMemcached = "memcached"
// CockroachDB
AttributeDBSystemCockroachdb = "cockroachdb"
)
// Connection-level attributes for Microsoft SQL Server
const (
// The Microsoft SQL Server instance name connecting to. This name is used to
// determine the port of a named instance.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'MSSQLSERVER'
// Note: If setting a db.mssql.instance_name, net.peer.port is no longer required
// (but still recommended if non-standard).
AttributeDBMSSQLInstanceName = "db.mssql.instance_name"
)
// 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'
AttributeDBCassandraKeyspace = "db.cassandra.keyspace"
// The fetch size used for paging, i.e. how many rows will be returned at once.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 5000
AttributeDBCassandraPageSize = "db.cassandra.page_size"
// The consistency level of the query. Based on consistency values from CQL.
//
// Type: Enum
// Required: No
// Stability: stable
AttributeDBCassandraConsistencyLevel = "db.cassandra.consistency_level"
// The name of the primary table that the operation is acting upon, including the
// schema name (if applicable).
//
// Type: string
// Required: Recommended if available.
// Stability: stable
// Examples: 'mytable'
// Note: This mirrors the db.sql.table attribute but references cassandra rather
// than sql. It is not recommended to attempt any client-side parsing of
// db.statement just to get this property, but it should be set if it is provided
// by the library being instrumented. If the operation is acting upon an anonymous
// table, or more than one table, this value MUST NOT be set.
AttributeDBCassandraTable = "db.cassandra.table"
// Whether or not the query is idempotent.
//
// Type: boolean
// Required: No
// Stability: stable
AttributeDBCassandraIdempotence = "db.cassandra.idempotence"
// The number of times a query was speculatively executed. Not set or 0 if the
// query was not executed speculatively.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 0, 2
AttributeDBCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count"
// The ID of the coordinating node for a query.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af'
AttributeDBCassandraCoordinatorID = "db.cassandra.coordinator.id"
// The data center of the coordinating node for a query.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'us-west-2'
AttributeDBCassandraCoordinatorDC = "db.cassandra.coordinator.dc"
)
const (
// all
AttributeDBCassandraConsistencyLevelAll = "all"
// each_quorum
AttributeDBCassandraConsistencyLevelEachQuorum = "each_quorum"
// quorum
AttributeDBCassandraConsistencyLevelQuorum = "quorum"
// local_quorum
AttributeDBCassandraConsistencyLevelLocalQuorum = "local_quorum"
// one
AttributeDBCassandraConsistencyLevelOne = "one"
// two
AttributeDBCassandraConsistencyLevelTwo = "two"
// three
AttributeDBCassandraConsistencyLevelThree = "three"
// local_one
AttributeDBCassandraConsistencyLevelLocalOne = "local_one"
// any
AttributeDBCassandraConsistencyLevelAny = "any"
// serial
AttributeDBCassandraConsistencyLevelSerial = "serial"
// local_serial
AttributeDBCassandraConsistencyLevelLocalSerial = "local_serial"
)
// Call-level attributes for Apache HBase
const (
// The HBase namespace being accessed. To be used instead of the generic db.name
// attribute.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'default'
AttributeDBHBaseNamespace = "db.hbase.namespace"
)
// Call-level attributes for Redis
const (
// The index of the database being accessed as used in the SELECT command,
// provided as an integer. To be used instead of the generic db.name attribute.
//
// Type: int
// Required: Required, if other than the default database (`0`).
// Stability: stable
// Examples: 0, 1, 15
AttributeDBRedisDBIndex = "db.redis.database_index"
)
// Call-level attributes for MongoDB
const (
// The collection being accessed within the database stated in db.name.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'customers', 'products'
AttributeDBMongoDBCollection = "db.mongodb.collection"
)
// Call-level attrbiutes for SQL databases
const (
// The name of the primary table that the operation is acting upon, including the
// schema name (if applicable).
//
// Type: string
// Required: Recommended if available.
// Stability: stable
// Examples: 'public.users', 'customers'
// Note: It is not recommended to attempt any client-side parsing of db.statement
// just to get this property, but it should be set if it is provided by the
// library being instrumented. If the operation is acting upon an anonymous table,
// or more than one table, this value MUST NOT be set.
AttributeDBSQLTable = "db.sql.table"
)
// This document defines the attributes used to report a single exception associated with a span.
const (
// The type of the exception (its fully-qualified class name, if applicable). The
// dynamic type of the exception should be preferred over the static type in
// languages that support it.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'java.net.ConnectException', 'OSError'
AttributeExceptionType = "exception.type"
// The exception message.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Division by zero', "Can't convert 'int' object to str implicitly"
AttributeExceptionMessage = "exception.message"
// A stacktrace as a string in the natural representation for the language
// runtime. The representation is to be determined and documented by each language
// SIG.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Exception in thread "main" java.lang.RuntimeException: Test
// exception\\n at '
// 'com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at '
// 'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at '
// 'com.example.GenerateTrace.main(GenerateTrace.java:5)'
AttributeExceptionStacktrace = "exception.stacktrace"
// 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
// Required: No
// 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.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.
AttributeExceptionEscaped = "exception.escaped"
)
// 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: 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.
// Stability: stable
AttributeFaaSTrigger = "faas.trigger"
// The execution ID of the current function execution.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'af9d5aa4-a685-4c5f-a22b-444f80b3cc28'
AttributeFaaSExecution = "faas.execution"
)
const (
// A response to some data source operation such as a database or filesystem read/write
AttributeFaaSTriggerDatasource = "datasource"
// To provide an answer to an inbound HTTP request
AttributeFaaSTriggerHTTP = "http"
// A function is set to be executed when messages are sent to a messaging system
AttributeFaaSTriggerPubsub = "pubsub"
// A function is scheduled to be executed regularly
AttributeFaaSTriggerTimer = "timer"
// If none of the others apply
AttributeFaaSTriggerOther = "other"
)
// Semantic Convention for FaaS triggered as a response to some data source operation such as a database or filesystem read/write.
const (
// The name of the source on which the triggering operation was performed. For
// example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos
// DB to the database name.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'myBucketName', 'myDBName'
AttributeFaaSDocumentCollection = "faas.document.collection"
// Describes the type of the operation that was performed on the data.
//
// Type: Enum
// Required: Always
// Stability: stable
AttributeFaaSDocumentOperation = "faas.document.operation"
// A string containing the time when the data was accessed in the ISO 8601 format
// expressed in UTC.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: '2020-01-23T13:47:06Z'
AttributeFaaSDocumentTime = "faas.document.time"
// The document name/table subjected to the operation. For example, in Cloud
// Storage or S3 is the name of the file, and in Cosmos DB the table name.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'myFile.txt', 'myTableName'
AttributeFaaSDocumentName = "faas.document.name"
)
const (
// When a new object is created
AttributeFaaSDocumentOperationInsert = "insert"
// When an object is modified
AttributeFaaSDocumentOperationEdit = "edit"
// When an object is deleted
AttributeFaaSDocumentOperationDelete = "delete"
)
// Semantic Convention for FaaS scheduled to be executed regularly.
const (
// A string containing the function invocation time in the ISO 8601 format
// expressed in UTC.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: '2020-01-23T13:47:06Z'
AttributeFaaSTime = "faas.time"
// A string containing the schedule period as Cron Expression.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '0/5 * * * ? *'
AttributeFaaSCron = "faas.cron"
)
// Contains additional attributes for incoming FaaS spans.
const (
// A boolean that is true if the serverless function is executed for the first
// time (aka cold-start).
//
// Type: boolean
// Required: No
// Stability: stable
AttributeFaaSColdstart = "faas.coldstart"
)
// Contains additional attributes for outgoing FaaS spans.
const (
// The name of the invoked function.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'my-function'
// Note: SHOULD be equal to the faas.name resource attribute of the invoked
// function.
AttributeFaaSInvokedName = "faas.invoked_name"
// The cloud provider of the invoked function.
//
// Type: Enum
// Required: Always
// Stability: stable
// Note: SHOULD be equal to the cloud.provider resource attribute of the invoked
// function.
AttributeFaaSInvokedProvider = "faas.invoked_provider"
// The cloud region of the invoked function.
//
// Type: string
// Required: For some cloud providers, like AWS or GCP, the region in which a
// function is hosted is essential to uniquely identify the function and also part
// of its endpoint. Since it's part of the endpoint being called, the region is
// always known to clients. In these cases, `faas.invoked_region` MUST be set
// accordingly. If the region is unknown to the client or not required for
// identifying the invoked function, setting `faas.invoked_region` is optional.
// Stability: stable
// Examples: 'eu-central-1'
// Note: SHOULD be equal to the cloud.region resource attribute of the invoked
// function.
AttributeFaaSInvokedRegion = "faas.invoked_region"
)
const (
// Amazon Web Services
AttributeFaaSInvokedProviderAWS = "aws"
// Microsoft Azure
AttributeFaaSInvokedProviderAzure = "azure"
// Google Cloud Platform
AttributeFaaSInvokedProviderGCP = "gcp"
)
// These attributes may be used for any network related operation.
const (
// Transport protocol used. See note below.
//
// Type: Enum
// Required: No
// Stability: stable
AttributeNetTransport = "net.transport"
// Remote address of the peer (dotted decimal for IPv4 or RFC5952 for IPv6)
//
// Type: string
// Required: No
// Stability: stable
// Examples: '127.0.0.1'
AttributeNetPeerIP = "net.peer.ip"
// Remote port number.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 80, 8080, 443
AttributeNetPeerPort = "net.peer.port"
// Remote hostname or similar, see note below.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'example.com'
AttributeNetPeerName = "net.peer.name"
// Like net.peer.ip but for the host IP. Useful in case of a multi-IP host.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '192.168.0.1'
AttributeNetHostIP = "net.host.ip"
// Like net.peer.port but for the host port.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 35555
AttributeNetHostPort = "net.host.port"
// Local hostname or similar, see note below.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'localhost'
AttributeNetHostName = "net.host.name"
)
const (
// ip_tcp
AttributeNetTransportTCP = "ip_tcp"
// ip_udp
AttributeNetTransportUDP = "ip_udp"
// Another IP-based protocol
AttributeNetTransportIP = "ip"
// Unix Domain socket. See below
AttributeNetTransportUnix = "unix"
// Named or anonymous pipe. See note below
AttributeNetTransportPipe = "pipe"
// In-process communication
AttributeNetTransportInProc = "inproc"
// Something else (non IP-based)
AttributeNetTransportOther = "other"
)
// Operations that access some remote service.
const (
// The service.name of the remote service. SHOULD be equal to the actual
// service.name resource attribute of the remote service if any.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'AuthTokenCache'
AttributePeerService = "peer.service"
)
// These attributes may be used for any operation with an authenticated and/or authorized enduser.
const (
// Username or client_id extracted from the access token or Authorization header
// in the inbound request from outside the system.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'username'
AttributeEnduserID = "enduser.id"
// Actual/assumed role the client is making the request under extracted from token
// or application security context.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'admin'
AttributeEnduserRole = "enduser.role"
// Scopes or granted authorities the client currently possesses extracted from
// token or application security context. The value would come from the scope
// associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0
// Assertion.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'read:message, write:files'
AttributeEnduserScope = "enduser.scope"
)
// These attributes may be used for any operation to store information about a thread that started a span.
const (
// Current "managed" thread ID (as opposed to OS thread ID).
//
// Type: int
// Required: No
// Stability: stable
// Examples: 42
AttributeThreadID = "thread.id"
// Current thread name.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'main'
AttributeThreadName = "thread.name"
)
// These attributes allow to report this unit of code and therefore to provide more context about the span.
const (
// The method or function name, or equivalent (usually rightmost part of the code
// unit's name).
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'serveRequest'
AttributeCodeFunction = "code.function"
// The "namespace" within which code.function is defined. Usually the
// qualified class or module name, such that code.namespace + some separator +
// code.function form a unique identifier for the code unit.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'com.example.MyHTTPService'
AttributeCodeNamespace = "code.namespace"
// The source code file name that identifies the code unit as uniquely as possible
// (preferably an absolute file path).
//
// Type: string
// Required: No
// Stability: stable
// Examples: '/usr/local/MyApplication/content_root/app/index.php'
AttributeCodeFilepath = "code.filepath"
// The line number in code.filepath best representing the operation. It SHOULD
// point within the code unit named in code.function.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 42
AttributeCodeLineNumber = "code.lineno"
)
// This document defines semantic conventions for HTTP client and server Spans.
const (
// HTTP request method.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'GET', 'POST', 'HEAD'
AttributeHTTPMethod = "http.method"
// Full HTTP request URL in the form scheme://host[:port]/path?query[#fragment].
// Usually the fragment is not transmitted over HTTP, but if it is known, it
// should be included nevertheless.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv'
// Note: http.url MUST NOT contain credentials passed via URL in form of
// https://username:password@www.example.com/. In such case the attribute's value
// should be https://www.example.com/.
AttributeHTTPURL = "http.url"
// The full request target as passed in a HTTP request line or equivalent.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '/path/12314/?q=ddds#123'
AttributeHTTPTarget = "http.target"
// The value of the HTTP host header. When the header is empty or not present,
// this attribute should be the same.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'www.example.org'
AttributeHTTPHost = "http.host"
// The URI scheme identifying the used protocol.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'http', 'https'
AttributeHTTPScheme = "http.scheme"
// HTTP response status code.
//
// Type: int
// Required: If and only if one was received/sent.
// Stability: stable
// Examples: 200
AttributeHTTPStatusCode = "http.status_code"
// Kind of HTTP protocol used.
//
// Type: Enum
// Required: No
// Stability: stable
// Note: If net.transport is not specified, it can be assumed to be IP.TCP except
// if http.flavor is QUIC, in which case IP.UDP is assumed.
AttributeHTTPFlavor = "http.flavor"
// Value of the HTTP User-Agent header sent by the client.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'CERN-LineMode/2.15 libwww/2.17b3'
AttributeHTTPUserAgent = "http.user_agent"
// The size of the request payload body in bytes. This is the number of bytes
// transferred excluding headers and is often, but not always, present as the
// Content-Length header. For requests using transport encoding, this should be
// the compressed size.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 3495
AttributeHTTPRequestContentLength = "http.request_content_length"
// The size of the uncompressed request payload body after transport decoding. Not
// set if transport encoding not used.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 5493
AttributeHTTPRequestContentLengthUncompressed = "http.request_content_length_uncompressed"
// The size of the response payload body in bytes. This is the number of bytes
// transferred excluding headers and is often, but not always, present as the
// Content-Length header. For requests using transport encoding, this should be
// the compressed size.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 3495
AttributeHTTPResponseContentLength = "http.response_content_length"
// The size of the uncompressed response payload body after transport decoding.
// Not set if transport encoding not used.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 5493
AttributeHTTPResponseContentLengthUncompressed = "http.response_content_length_uncompressed"
)
const (
// HTTP 1.0
AttributeHTTPFlavorHTTP10 = "1.0"
// HTTP 1.1
AttributeHTTPFlavorHTTP11 = "1.1"
// HTTP 2
AttributeHTTPFlavorHTTP20 = "2.0"
// SPDY protocol
AttributeHTTPFlavorSPDY = "SPDY"
// QUIC protocol
AttributeHTTPFlavorQUIC = "QUIC"
)
// Semantic Convention for HTTP Server
const (
// The primary server name of the matched virtual host. This should be obtained
// via configuration. If no such configuration can be obtained, this attribute
// MUST NOT be set ( net.host.name should be used instead).
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'example.com'
// Note: http.url is usually not readily available on the server side but would
// have to be assembled in a cumbersome and sometimes lossy process from other
// information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus
// preferred to supply the raw data that is available.
AttributeHTTPServerName = "http.server_name"
// The matched route (path template).
//
// Type: string
// Required: No
// Stability: stable
// Examples: '/users/:userID?'
AttributeHTTPRoute = "http.route"
// The IP address of the original client behind all proxies, if known (e.g. from
// X-Forwarded-For).
//
// Type: string
// Required: No
// Stability: stable
// Examples: '83.164.160.102'
// Note: This is not necessarily the same as net.peer.ip, which would identify the
// network-level peer, which may be a proxy.
AttributeHTTPClientIP = "http.client_ip"
)
// Attributes that exist for multiple DynamoDB request types.
const (
// The keys in the RequestItems object field.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: 'Users', 'Cats'
AttributeAWSDynamoDBTableNames = "aws.dynamodb.table_names"
// The JSON-serialized value of each item in the ConsumedCapacity response field.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: '{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : {
// "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits":
// number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number,
// "ReadCapacityUnits": number, "WriteCapacityUnits": number } },
// "ReadCapacityUnits": number, "Table": { "CapacityUnits": number,
// "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName":
// "string", "WriteCapacityUnits": number }'
AttributeAWSDynamoDBConsumedCapacity = "aws.dynamodb.consumed_capacity"
// The JSON-serialized value of the ItemCollectionMetrics response field.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob,
// "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" :
// "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S":
// "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }'
AttributeAWSDynamoDBItemCollectionMetrics = "aws.dynamodb.item_collection_metrics"
// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
//
// Type: double
// Required: No
// Stability: stable
// Examples: 1.0, 2.0
AttributeAWSDynamoDBProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity"
// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
//
// Type: double
// Required: No
// Stability: stable
// Examples: 1.0, 2.0
AttributeAWSDynamoDBProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity"
// The value of the ConsistentRead request parameter.
//
// Type: boolean
// Required: No
// Stability: stable
AttributeAWSDynamoDBConsistentRead = "aws.dynamodb.consistent_read"
// The value of the ProjectionExpression request parameter.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Title', 'Title, Price, Color', 'Title, Description, RelatedItems,
// ProductReviews'
AttributeAWSDynamoDBProjection = "aws.dynamodb.projection"
// The value of the Limit request parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 10
AttributeAWSDynamoDBLimit = "aws.dynamodb.limit"
// The value of the AttributesToGet request parameter.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: 'lives', 'id'
AttributeAWSDynamoDBAttributesToGet = "aws.dynamodb.attributes_to_get"
// The value of the IndexName request parameter.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'name_to_group'
AttributeAWSDynamoDBIndexName = "aws.dynamodb.index_name"
// The value of the Select request parameter.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'ALL_ATTRIBUTES', 'COUNT'
AttributeAWSDynamoDBSelect = "aws.dynamodb.select"
)
// DynamoDB.CreateTable
const (
// The JSON-serialized value of each item of the GlobalSecondaryIndexes request
// field
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: '{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string",
// "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ],
// "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits":
// number, "WriteCapacityUnits": number } }'
AttributeAWSDynamoDBGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes"
// The JSON-serialized value of each item of the LocalSecondaryIndexes request
// field.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: '{ "IndexARN": "string", "IndexName": "string", "IndexSizeBytes":
// number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string",
// "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ],
// "ProjectionType": "string" } }'
AttributeAWSDynamoDBLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes"
)
// DynamoDB.ListTables
const (
// The value of the ExclusiveStartTableName request parameter.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Users', 'CatsTable'
AttributeAWSDynamoDBExclusiveStartTable = "aws.dynamodb.exclusive_start_table"
// The the number of items in the TableNames response parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 20
AttributeAWSDynamoDBTableCount = "aws.dynamodb.table_count"
)
// DynamoDB.Query
const (
// The value of the ScanIndexForward request parameter.
//
// Type: boolean
// Required: No
// Stability: stable
AttributeAWSDynamoDBScanForward = "aws.dynamodb.scan_forward"
)
// DynamoDB.Scan
const (
// The value of the Segment request parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 10
AttributeAWSDynamoDBSegment = "aws.dynamodb.segment"
// The value of the TotalSegments request parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 100
AttributeAWSDynamoDBTotalSegments = "aws.dynamodb.total_segments"
// The value of the Count response parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 10
AttributeAWSDynamoDBCount = "aws.dynamodb.count"
// The value of the ScannedCount response parameter.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 50
AttributeAWSDynamoDBScannedCount = "aws.dynamodb.scanned_count"
)
// DynamoDB.UpdateTable
const (
// The JSON-serialized value of each item in the AttributeDefinitions request
// field.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: '{ "AttributeName": "string", "AttributeType": "string" }'
AttributeAWSDynamoDBAttributeDefinitions = "aws.dynamodb.attribute_definitions"
// The JSON-serialized value of each item in the the GlobalSecondaryIndexUpdates
// request field.
//
// Type: string[]
// Required: No
// Stability: stable
// Examples: '{ "Create": { "IndexName": "string", "KeySchema": [ {
// "AttributeName": "string", "KeyType": "string" } ], "Projection": {
// "NonKeyAttributes": [ "string" ], "ProjectionType": "string" },
// "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits":
// number } }'
AttributeAWSDynamoDBGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates"
)
// This document defines the attributes used in messaging systems.
const (
// A string identifying the messaging system.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'kafka', 'rabbitmq', 'activemq', 'AmazonSQS'
AttributeMessagingSystem = "messaging.system"
// The message destination name. This might be equal to the span name but is
// required nevertheless.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'MyQueue', 'MyTopic'
AttributeMessagingDestination = "messaging.destination"
// The kind of message destination
//
// Type: Enum
// Required: Required only if the message destination is either a `queue` or
// `topic`.
// Stability: stable
AttributeMessagingDestinationKind = "messaging.destination_kind"
// A boolean that is true if the message destination is temporary.
//
// Type: boolean
// Required: If missing, it is assumed to be false.
// Stability: stable
AttributeMessagingTempDestination = "messaging.temp_destination"
// The name of the transport protocol.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'AMQP', 'MQTT'
AttributeMessagingProtocol = "messaging.protocol"
// The version of the transport protocol.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '0.9.1'
AttributeMessagingProtocolVersion = "messaging.protocol_version"
// Connection string.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'tibjmsnaming://localhost:7222',
// 'https://queue.amazonaws.com/80398EXAMPLE/MyQueue'
AttributeMessagingURL = "messaging.url"
// A value used by the messaging system as an identifier for the message,
// represented as a string.
//
// Type: string
// Required: No
// Stability: stable
// Examples: '452a7c7c7c7048c2f887f61572b18fc2'
AttributeMessagingMessageID = "messaging.message_id"
// The conversation ID identifying the conversation to which the message belongs,
// represented as a string. Sometimes called "Correlation ID".
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'MyConversationID'
AttributeMessagingConversationID = "messaging.conversation_id"
// The (uncompressed) size of the message payload in bytes. Also use this
// attribute if it is unknown whether the compressed or uncompressed payload size
// is reported.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 2738
AttributeMessagingMessagePayloadSizeBytes = "messaging.message_payload_size_bytes"
// The compressed size of the message payload in bytes.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 2048
AttributeMessagingMessagePayloadCompressedSizeBytes = "messaging.message_payload_compressed_size_bytes"
)
const (
// A message sent to a queue
AttributeMessagingDestinationKindQueue = "queue"
// A message sent to a topic
AttributeMessagingDestinationKindTopic = "topic"
)
// Semantic convention for a consumer of messages received from a messaging system
const (
// A string identifying the kind of message consumption as defined in the
// Operation names section above. If the operation is "send", this
// attribute MUST NOT be set, since the operation can be inferred from the span
// kind in that case.
//
// Type: Enum
// Required: No
// Stability: stable
AttributeMessagingOperation = "messaging.operation"
)
const (
// receive
AttributeMessagingOperationReceive = "receive"
// process
AttributeMessagingOperationProcess = "process"
)
// Attributes for RabbitMQ
const (
// RabbitMQ message routing key.
//
// Type: string
// Required: Unless it is empty.
// Stability: stable
// Examples: 'myKey'
AttributeMessagingRabbitmqRoutingKey = "messaging.rabbitmq.routing_key"
)
// Attributes for Apache Kafka
const (
// Message keys in Kafka are used for grouping alike messages to ensure they're
// processed on the same partition. They differ from messaging.message_id in that
// they're not unique. If the key is null, the attribute MUST NOT be set.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'myKey'
// Note: If the key type is not string, it's string representation has to be
// supplied for the attribute. If the key has no unambiguous, canonical string
// form, don't include its value.
AttributeMessagingKafkaMessageKey = "messaging.kafka.message_key"
// Name of the Kafka Consumer Group that is handling the message. Only applies to
// consumers, not producers.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'my-group'
AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer_group"
// Client ID for the Consumer or Producer that is handling the message.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'client-5'
AttributeMessagingKafkaClientID = "messaging.kafka.client_id"
// Partition the message is sent to.
//
// Type: int
// Required: No
// Stability: stable
// Examples: 2
AttributeMessagingKafkaPartition = "messaging.kafka.partition"
// A boolean that is true if the message is a tombstone.
//
// Type: boolean
// Required: If missing, it is assumed to be false.
// Stability: stable
AttributeMessagingKafkaTombstone = "messaging.kafka.tombstone"
)
// This document defines semantic conventions for remote procedure calls.
const (
// A string identifying the remoting system.
//
// Type: string
// Required: Always
// Stability: stable
// Examples: 'grpc', 'java_rmi', 'wcf'
AttributeRPCSystem = "rpc.system"
// The full (logical) name of the service being called, including its package
// name, if applicable.
//
// Type: string
// Required: No, but recommended
// Stability: stable
// Examples: 'myservice.EchoService'
// Note: This is the logical name of the service from the RPC interface
// perspective, which can be different from the name of any implementing class.
// The code.namespace attribute may be used to store the latter (despite the
// attribute name, it may include a class name; e.g., class with method actually
// executing the call on the server side, RPC client stub class on the client
// side).
AttributeRPCService = "rpc.service"
// The name of the (logical) method being called, must be equal to the $method
// part in the span name.
//
// Type: string
// Required: No, but recommended
// Stability: stable
// Examples: 'exampleMethod'
// Note: This is the logical name of the method from the RPC interface
// perspective, which can be different from the name of any implementing
// method/function. The code.function attribute may be used to store the latter
// (e.g., method actually executing the call on the server side, RPC client stub
// method on the client side).
AttributeRPCMethod = "rpc.method"
)
// Tech-specific attributes for gRPC.
const (
// The numeric status code of the gRPC request.
//
// Type: Enum
// Required: Always
// Stability: stable
AttributeRPCGRPCStatusCode = "rpc.grpc.status_code"
)
const (
// OK
AttributeRPCGRPCStatusCodeOk = "0"
// CANCELLED
AttributeRPCGRPCStatusCodeCancelled = "1"
// UNKNOWN
AttributeRPCGRPCStatusCodeUnknown = "2"
// INVALID_ARGUMENT
AttributeRPCGRPCStatusCodeInvalidArgument = "3"
// DEADLINE_EXCEEDED
AttributeRPCGRPCStatusCodeDeadlineExceeded = "4"
// NOT_FOUND
AttributeRPCGRPCStatusCodeNotFound = "5"
// ALREADY_EXISTS
AttributeRPCGRPCStatusCodeAlreadyExists = "6"
// PERMISSION_DENIED
AttributeRPCGRPCStatusCodePermissionDenied = "7"
// RESOURCE_EXHAUSTED
AttributeRPCGRPCStatusCodeResourceExhausted = "8"
// FAILED_PRECONDITION
AttributeRPCGRPCStatusCodeFailedPrecondition = "9"
// ABORTED
AttributeRPCGRPCStatusCodeAborted = "10"
// OUT_OF_RANGE
AttributeRPCGRPCStatusCodeOutOfRange = "11"
// UNIMPLEMENTED
AttributeRPCGRPCStatusCodeUnimplemented = "12"
// INTERNAL
AttributeRPCGRPCStatusCodeInternal = "13"
// UNAVAILABLE
AttributeRPCGRPCStatusCodeUnavailable = "14"
// DATA_LOSS
AttributeRPCGRPCStatusCodeDataLoss = "15"
// UNAUTHENTICATED
AttributeRPCGRPCStatusCodeUnauthenticated = "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".
// Stability: stable
// Examples: '2.0', '1.0'
AttributeRPCJsonrpcVersion = "rpc.jsonrpc.version"
// 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
// Stability: stable
// Examples: '10', 'request-7', ''
AttributeRPCJsonrpcRequestID = "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.
// Stability: stable
// Examples: -32700, 100
AttributeRPCJsonrpcErrorCode = "rpc.jsonrpc.error_code"
// error.message property of response if it is an error response.
//
// Type: string
// Required: No
// Stability: stable
// Examples: 'Parse error', 'User already exists'
AttributeRPCJsonrpcErrorMessage = "rpc.jsonrpc.error_message"
)
func GetTraceSemanticConventionAttributeNames() []string {
return []string{
AttributeAWSLambdaInvokedARN,
AttributeDBSystem,
AttributeDBConnectionString,
AttributeDBUser,
AttributeDBJDBCDriverClassname,
AttributeDBName,
AttributeDBStatement,
AttributeDBOperation,
AttributeDBMSSQLInstanceName,
AttributeDBCassandraKeyspace,
AttributeDBCassandraPageSize,
AttributeDBCassandraConsistencyLevel,
AttributeDBCassandraTable,
AttributeDBCassandraIdempotence,
AttributeDBCassandraSpeculativeExecutionCount,
AttributeDBCassandraCoordinatorID,
AttributeDBCassandraCoordinatorDC,
AttributeDBHBaseNamespace,
AttributeDBRedisDBIndex,
AttributeDBMongoDBCollection,
AttributeDBSQLTable,
AttributeExceptionType,
AttributeExceptionMessage,
AttributeExceptionStacktrace,
AttributeExceptionEscaped,
AttributeFaaSTrigger,
AttributeFaaSExecution,
AttributeFaaSDocumentCollection,
AttributeFaaSDocumentOperation,
AttributeFaaSDocumentTime,
AttributeFaaSDocumentName,
AttributeFaaSTime,
AttributeFaaSCron,
AttributeFaaSColdstart,
AttributeFaaSInvokedName,
AttributeFaaSInvokedProvider,
AttributeFaaSInvokedRegion,
AttributeNetTransport,
AttributeNetPeerIP,
AttributeNetPeerPort,
AttributeNetPeerName,
AttributeNetHostIP,
AttributeNetHostPort,
AttributeNetHostName,
AttributePeerService,
AttributeEnduserID,
AttributeEnduserRole,
AttributeEnduserScope,
AttributeThreadID,
AttributeThreadName,
AttributeCodeFunction,
AttributeCodeNamespace,
AttributeCodeFilepath,
AttributeCodeLineNumber,
AttributeHTTPMethod,
AttributeHTTPURL,
AttributeHTTPTarget,
AttributeHTTPHost,
AttributeHTTPScheme,
AttributeHTTPStatusCode,
AttributeHTTPFlavor,
AttributeHTTPUserAgent,
AttributeHTTPRequestContentLength,
AttributeHTTPRequestContentLengthUncompressed,
AttributeHTTPResponseContentLength,
AttributeHTTPResponseContentLengthUncompressed,
AttributeHTTPServerName,
AttributeHTTPRoute,
AttributeHTTPClientIP,
AttributeAWSDynamoDBTableNames,
AttributeAWSDynamoDBConsumedCapacity,
AttributeAWSDynamoDBItemCollectionMetrics,
AttributeAWSDynamoDBProvisionedReadCapacity,
AttributeAWSDynamoDBProvisionedWriteCapacity,
AttributeAWSDynamoDBConsistentRead,
AttributeAWSDynamoDBProjection,
AttributeAWSDynamoDBLimit,
AttributeAWSDynamoDBAttributesToGet,
AttributeAWSDynamoDBIndexName,
AttributeAWSDynamoDBSelect,
AttributeAWSDynamoDBGlobalSecondaryIndexes,
AttributeAWSDynamoDBLocalSecondaryIndexes,
AttributeAWSDynamoDBExclusiveStartTable,
AttributeAWSDynamoDBTableCount,
AttributeAWSDynamoDBScanForward,
AttributeAWSDynamoDBSegment,
AttributeAWSDynamoDBTotalSegments,
AttributeAWSDynamoDBCount,
AttributeAWSDynamoDBScannedCount,
AttributeAWSDynamoDBAttributeDefinitions,
AttributeAWSDynamoDBGlobalSecondaryIndexUpdates,
AttributeMessagingSystem,
AttributeMessagingDestination,
AttributeMessagingDestinationKind,
AttributeMessagingTempDestination,
AttributeMessagingProtocol,
AttributeMessagingProtocolVersion,
AttributeMessagingURL,
AttributeMessagingMessageID,
AttributeMessagingConversationID,
AttributeMessagingMessagePayloadSizeBytes,
AttributeMessagingMessagePayloadCompressedSizeBytes,
AttributeMessagingOperation,
AttributeMessagingRabbitmqRoutingKey,
AttributeMessagingKafkaMessageKey,
AttributeMessagingKafkaConsumerGroup,
AttributeMessagingKafkaClientID,
AttributeMessagingKafkaPartition,
AttributeMessagingKafkaTombstone,
AttributeRPCSystem,
AttributeRPCService,
AttributeRPCMethod,
AttributeRPCGRPCStatusCode,
AttributeRPCJsonrpcVersion,
AttributeRPCJsonrpcRequestID,
AttributeRPCJsonrpcErrorCode,
AttributeRPCJsonrpcErrorMessage,
}
}