1 // Copyright The OpenTelemetry Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated from semantic convention specification. DO NOT EDIT. 16 17 package semconv // import "go.opentelemetry.io/otel/semconv/v1.15.0" 18 19 import "go.opentelemetry.io/otel/attribute" 20 21 // This document defines the shared attributes used to report a single exception associated with a span or log. 22 const ( 23 // The type of the exception (its fully-qualified class name, if applicable). The 24 // dynamic type of the exception should be preferred over the static type in 25 // languages that support it. 26 // 27 // Type: string 28 // RequirementLevel: Optional 29 // Stability: stable 30 // Examples: 'java.net.ConnectException', 'OSError' 31 ExceptionTypeKey = attribute.Key("exception.type") 32 // The exception message. 33 // 34 // Type: string 35 // RequirementLevel: Optional 36 // Stability: stable 37 // Examples: 'Division by zero', "Can't convert 'int' object to str implicitly" 38 ExceptionMessageKey = attribute.Key("exception.message") 39 // A stacktrace as a string in the natural representation for the language 40 // runtime. The representation is to be determined and documented by each language 41 // SIG. 42 // 43 // Type: string 44 // RequirementLevel: Optional 45 // Stability: stable 46 // Examples: 'Exception in thread "main" java.lang.RuntimeException: Test 47 // exception\\n at ' 48 // 'com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at ' 49 // 'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at ' 50 // 'com.example.GenerateTrace.main(GenerateTrace.java:5)' 51 ExceptionStacktraceKey = attribute.Key("exception.stacktrace") 52 ) 53 54 // This document defines attributes for Events represented using Log Records. 55 const ( 56 // The name identifies the event. 57 // 58 // Type: string 59 // RequirementLevel: Required 60 // Stability: stable 61 // Examples: 'click', 'exception' 62 EventNameKey = attribute.Key("event.name") 63 // The domain identifies the context in which an event happened. An event name is 64 // unique only within a domain. 65 // 66 // Type: Enum 67 // RequirementLevel: Required 68 // Stability: stable 69 // Note: An `event.name` is supposed to be unique only in the context of an 70 // `event.domain`, so this allows for two events in different domains to 71 // have same `event.name`, yet be unrelated events. 72 EventDomainKey = attribute.Key("event.domain") 73 ) 74 75 var ( 76 // Events from browser apps 77 EventDomainBrowser = EventDomainKey.String("browser") 78 // Events from mobile apps 79 EventDomainDevice = EventDomainKey.String("device") 80 // Events from Kubernetes 81 EventDomainK8S = EventDomainKey.String("k8s") 82 ) 83 84 // Span attributes used by AWS Lambda (in addition to general `faas` attributes). 85 const ( 86 // The full invoked ARN as provided on the `Context` passed to the function 87 // (`Lambda-Runtime-Invoked-Function-ARN` header on the `/runtime/invocation/next` 88 // applicable). 89 // 90 // Type: string 91 // RequirementLevel: Optional 92 // Stability: stable 93 // Examples: 'arn:aws:lambda:us-east-1:123456:function:myfunction:myalias' 94 // Note: This may be different from `faas.id` if an alias is involved. 95 AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn") 96 ) 97 98 // 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. 99 const ( 100 // The [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec 101 // .md#id) uniquely identifies the event. 102 // 103 // Type: string 104 // RequirementLevel: Required 105 // Stability: stable 106 // Examples: '123e4567-e89b-12d3-a456-426614174000', '0001' 107 CloudeventsEventIDKey = attribute.Key("cloudevents.event_id") 108 // The [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.m 109 // d#source-1) identifies the context in which an event happened. 110 // 111 // Type: string 112 // RequirementLevel: Required 113 // Stability: stable 114 // Examples: 'https://github.com/cloudevents', '/cloudevents/spec/pull/123', 'my- 115 // service' 116 CloudeventsEventSourceKey = attribute.Key("cloudevents.event_source") 117 // The [version of the CloudEvents specification](https://github.com/cloudevents/s 118 // pec/blob/v1.0.2/cloudevents/spec.md#specversion) which the event uses. 119 // 120 // Type: string 121 // RequirementLevel: Optional 122 // Stability: stable 123 // Examples: '1.0' 124 CloudeventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version") 125 // The [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/sp 126 // ec.md#type) contains a value describing the type of event related to the 127 // originating occurrence. 128 // 129 // Type: string 130 // RequirementLevel: Optional 131 // Stability: stable 132 // Examples: 'com.github.pull_request.opened', 'com.example.object.deleted.v2' 133 CloudeventsEventTypeKey = attribute.Key("cloudevents.event_type") 134 // The [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec. 135 // md#subject) of the event in the context of the event producer (identified by 136 // source). 137 // 138 // Type: string 139 // RequirementLevel: Optional 140 // Stability: stable 141 // Examples: 'mynewfile.jpg' 142 CloudeventsEventSubjectKey = attribute.Key("cloudevents.event_subject") 143 ) 144 145 // This document defines semantic conventions for the OpenTracing Shim 146 const ( 147 // Parent-child Reference type 148 // 149 // Type: Enum 150 // RequirementLevel: Optional 151 // Stability: stable 152 // Note: The causal relationship between a child Span and a parent Span. 153 OpentracingRefTypeKey = attribute.Key("opentracing.ref_type") 154 ) 155 156 var ( 157 // The parent Span depends on the child Span in some capacity 158 OpentracingRefTypeChildOf = OpentracingRefTypeKey.String("child_of") 159 // The parent Span does not depend in any way on the result of the child Span 160 OpentracingRefTypeFollowsFrom = OpentracingRefTypeKey.String("follows_from") 161 ) 162 163 // This document defines the attributes used to perform database client calls. 164 const ( 165 // An identifier for the database management system (DBMS) product being used. See 166 // below for a list of well-known identifiers. 167 // 168 // Type: Enum 169 // RequirementLevel: Required 170 // Stability: stable 171 DBSystemKey = attribute.Key("db.system") 172 // The connection string used to connect to the database. It is recommended to 173 // remove embedded credentials. 174 // 175 // Type: string 176 // RequirementLevel: Optional 177 // Stability: stable 178 // Examples: 'Server=(localdb)\\v11.0;Integrated Security=true;' 179 DBConnectionStringKey = attribute.Key("db.connection_string") 180 // Username for accessing the database. 181 // 182 // Type: string 183 // RequirementLevel: Optional 184 // Stability: stable 185 // Examples: 'readonly_user', 'reporting_user' 186 DBUserKey = attribute.Key("db.user") 187 // The fully-qualified class name of the [Java Database Connectivity 188 // (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver 189 // used to connect. 190 // 191 // Type: string 192 // RequirementLevel: Optional 193 // Stability: stable 194 // Examples: 'org.postgresql.Driver', 195 // 'com.microsoft.sqlserver.jdbc.SQLServerDriver' 196 DBJDBCDriverClassnameKey = attribute.Key("db.jdbc.driver_classname") 197 // This attribute is used to report the name of the database being accessed. For 198 // commands that switch the database, this should be set to the target database 199 // (even if the command fails). 200 // 201 // Type: string 202 // RequirementLevel: ConditionallyRequired (If applicable.) 203 // Stability: stable 204 // Examples: 'customers', 'main' 205 // Note: In some SQL databases, the database name to be used is called "schema 206 // name". In case there are multiple layers that could be considered for database 207 // name (e.g. Oracle instance name and schema name), the database name to be used 208 // is the more specific layer (e.g. Oracle schema name). 209 DBNameKey = attribute.Key("db.name") 210 // The database statement being executed. 211 // 212 // Type: string 213 // RequirementLevel: ConditionallyRequired (If applicable and not explicitly 214 // disabled via instrumentation configuration.) 215 // Stability: stable 216 // Examples: 'SELECT * FROM wuser_table', 'SET mykey "WuValue"' 217 // Note: The value may be sanitized to exclude sensitive information. 218 DBStatementKey = attribute.Key("db.statement") 219 // The name of the operation being executed, e.g. the [MongoDB command 220 // name](https://docs.mongodb.com/manual/reference/command/#database-operations) 221 // such as `findAndModify`, or the SQL keyword. 222 // 223 // Type: string 224 // RequirementLevel: ConditionallyRequired (If `db.statement` is not applicable.) 225 // Stability: stable 226 // Examples: 'findAndModify', 'HMSET', 'SELECT' 227 // Note: When setting this to an SQL keyword, it is not recommended to attempt any 228 // client-side parsing of `db.statement` just to get this property, but it should 229 // be set if the operation name is provided by the library being instrumented. If 230 // the SQL statement has an ambiguous operation, or performs more than one 231 // operation, this value may be omitted. 232 DBOperationKey = attribute.Key("db.operation") 233 ) 234 235 var ( 236 // Some other SQL database. Fallback only. See notes 237 DBSystemOtherSQL = DBSystemKey.String("other_sql") 238 // Microsoft SQL Server 239 DBSystemMSSQL = DBSystemKey.String("mssql") 240 // MySQL 241 DBSystemMySQL = DBSystemKey.String("mysql") 242 // Oracle Database 243 DBSystemOracle = DBSystemKey.String("oracle") 244 // IBM DB2 245 DBSystemDB2 = DBSystemKey.String("db2") 246 // PostgreSQL 247 DBSystemPostgreSQL = DBSystemKey.String("postgresql") 248 // Amazon Redshift 249 DBSystemRedshift = DBSystemKey.String("redshift") 250 // Apache Hive 251 DBSystemHive = DBSystemKey.String("hive") 252 // Cloudscape 253 DBSystemCloudscape = DBSystemKey.String("cloudscape") 254 // HyperSQL DataBase 255 DBSystemHSQLDB = DBSystemKey.String("hsqldb") 256 // Progress Database 257 DBSystemProgress = DBSystemKey.String("progress") 258 // SAP MaxDB 259 DBSystemMaxDB = DBSystemKey.String("maxdb") 260 // SAP HANA 261 DBSystemHanaDB = DBSystemKey.String("hanadb") 262 // Ingres 263 DBSystemIngres = DBSystemKey.String("ingres") 264 // FirstSQL 265 DBSystemFirstSQL = DBSystemKey.String("firstsql") 266 // EnterpriseDB 267 DBSystemEDB = DBSystemKey.String("edb") 268 // InterSystems Caché 269 DBSystemCache = DBSystemKey.String("cache") 270 // Adabas (Adaptable Database System) 271 DBSystemAdabas = DBSystemKey.String("adabas") 272 // Firebird 273 DBSystemFirebird = DBSystemKey.String("firebird") 274 // Apache Derby 275 DBSystemDerby = DBSystemKey.String("derby") 276 // FileMaker 277 DBSystemFilemaker = DBSystemKey.String("filemaker") 278 // Informix 279 DBSystemInformix = DBSystemKey.String("informix") 280 // InstantDB 281 DBSystemInstantDB = DBSystemKey.String("instantdb") 282 // InterBase 283 DBSystemInterbase = DBSystemKey.String("interbase") 284 // MariaDB 285 DBSystemMariaDB = DBSystemKey.String("mariadb") 286 // Netezza 287 DBSystemNetezza = DBSystemKey.String("netezza") 288 // Pervasive PSQL 289 DBSystemPervasive = DBSystemKey.String("pervasive") 290 // PointBase 291 DBSystemPointbase = DBSystemKey.String("pointbase") 292 // SQLite 293 DBSystemSqlite = DBSystemKey.String("sqlite") 294 // Sybase 295 DBSystemSybase = DBSystemKey.String("sybase") 296 // Teradata 297 DBSystemTeradata = DBSystemKey.String("teradata") 298 // Vertica 299 DBSystemVertica = DBSystemKey.String("vertica") 300 // H2 301 DBSystemH2 = DBSystemKey.String("h2") 302 // ColdFusion IMQ 303 DBSystemColdfusion = DBSystemKey.String("coldfusion") 304 // Apache Cassandra 305 DBSystemCassandra = DBSystemKey.String("cassandra") 306 // Apache HBase 307 DBSystemHBase = DBSystemKey.String("hbase") 308 // MongoDB 309 DBSystemMongoDB = DBSystemKey.String("mongodb") 310 // Redis 311 DBSystemRedis = DBSystemKey.String("redis") 312 // Couchbase 313 DBSystemCouchbase = DBSystemKey.String("couchbase") 314 // CouchDB 315 DBSystemCouchDB = DBSystemKey.String("couchdb") 316 // Microsoft Azure Cosmos DB 317 DBSystemCosmosDB = DBSystemKey.String("cosmosdb") 318 // Amazon DynamoDB 319 DBSystemDynamoDB = DBSystemKey.String("dynamodb") 320 // Neo4j 321 DBSystemNeo4j = DBSystemKey.String("neo4j") 322 // Apache Geode 323 DBSystemGeode = DBSystemKey.String("geode") 324 // Elasticsearch 325 DBSystemElasticsearch = DBSystemKey.String("elasticsearch") 326 // Memcached 327 DBSystemMemcached = DBSystemKey.String("memcached") 328 // CockroachDB 329 DBSystemCockroachdb = DBSystemKey.String("cockroachdb") 330 // OpenSearch 331 DBSystemOpensearch = DBSystemKey.String("opensearch") 332 ) 333 334 // Connection-level attributes for Microsoft SQL Server 335 const ( 336 // The Microsoft SQL Server [instance name](https://docs.microsoft.com/en- 337 // us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) 338 // connecting to. This name is used to determine the port of a named instance. 339 // 340 // Type: string 341 // RequirementLevel: Optional 342 // Stability: stable 343 // Examples: 'MSSQLSERVER' 344 // Note: If setting a `db.mssql.instance_name`, `net.peer.port` is no longer 345 // required (but still recommended if non-standard). 346 DBMSSQLInstanceNameKey = attribute.Key("db.mssql.instance_name") 347 ) 348 349 // Call-level attributes for Cassandra 350 const ( 351 // The fetch size used for paging, i.e. how many rows will be returned at once. 352 // 353 // Type: int 354 // RequirementLevel: Optional 355 // Stability: stable 356 // Examples: 5000 357 DBCassandraPageSizeKey = attribute.Key("db.cassandra.page_size") 358 // The consistency level of the query. Based on consistency values from 359 // [CQL](https://docs.datastax.com/en/cassandra- 360 // oss/3.0/cassandra/dml/dmlConfigConsistency.html). 361 // 362 // Type: Enum 363 // RequirementLevel: Optional 364 // Stability: stable 365 DBCassandraConsistencyLevelKey = attribute.Key("db.cassandra.consistency_level") 366 // The name of the primary table that the operation is acting upon, including the 367 // keyspace name (if applicable). 368 // 369 // Type: string 370 // RequirementLevel: Recommended 371 // Stability: stable 372 // Examples: 'mytable' 373 // Note: This mirrors the db.sql.table attribute but references cassandra rather 374 // than sql. It is not recommended to attempt any client-side parsing of 375 // `db.statement` just to get this property, but it should be set if it is 376 // provided by the library being instrumented. If the operation is acting upon an 377 // anonymous table, or more than one table, this value MUST NOT be set. 378 DBCassandraTableKey = attribute.Key("db.cassandra.table") 379 // Whether or not the query is idempotent. 380 // 381 // Type: boolean 382 // RequirementLevel: Optional 383 // Stability: stable 384 DBCassandraIdempotenceKey = attribute.Key("db.cassandra.idempotence") 385 // The number of times a query was speculatively executed. Not set or `0` if the 386 // query was not executed speculatively. 387 // 388 // Type: int 389 // RequirementLevel: Optional 390 // Stability: stable 391 // Examples: 0, 2 392 DBCassandraSpeculativeExecutionCountKey = attribute.Key("db.cassandra.speculative_execution_count") 393 // The ID of the coordinating node for a query. 394 // 395 // Type: string 396 // RequirementLevel: Optional 397 // Stability: stable 398 // Examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af' 399 DBCassandraCoordinatorIDKey = attribute.Key("db.cassandra.coordinator.id") 400 // The data center of the coordinating node for a query. 401 // 402 // Type: string 403 // RequirementLevel: Optional 404 // Stability: stable 405 // Examples: 'us-west-2' 406 DBCassandraCoordinatorDCKey = attribute.Key("db.cassandra.coordinator.dc") 407 ) 408 409 var ( 410 // all 411 DBCassandraConsistencyLevelAll = DBCassandraConsistencyLevelKey.String("all") 412 // each_quorum 413 DBCassandraConsistencyLevelEachQuorum = DBCassandraConsistencyLevelKey.String("each_quorum") 414 // quorum 415 DBCassandraConsistencyLevelQuorum = DBCassandraConsistencyLevelKey.String("quorum") 416 // local_quorum 417 DBCassandraConsistencyLevelLocalQuorum = DBCassandraConsistencyLevelKey.String("local_quorum") 418 // one 419 DBCassandraConsistencyLevelOne = DBCassandraConsistencyLevelKey.String("one") 420 // two 421 DBCassandraConsistencyLevelTwo = DBCassandraConsistencyLevelKey.String("two") 422 // three 423 DBCassandraConsistencyLevelThree = DBCassandraConsistencyLevelKey.String("three") 424 // local_one 425 DBCassandraConsistencyLevelLocalOne = DBCassandraConsistencyLevelKey.String("local_one") 426 // any 427 DBCassandraConsistencyLevelAny = DBCassandraConsistencyLevelKey.String("any") 428 // serial 429 DBCassandraConsistencyLevelSerial = DBCassandraConsistencyLevelKey.String("serial") 430 // local_serial 431 DBCassandraConsistencyLevelLocalSerial = DBCassandraConsistencyLevelKey.String("local_serial") 432 ) 433 434 // Call-level attributes for Redis 435 const ( 436 // The index of the database being accessed as used in the [`SELECT` 437 // command](https://redis.io/commands/select), provided as an integer. To be used 438 // instead of the generic `db.name` attribute. 439 // 440 // Type: int 441 // RequirementLevel: ConditionallyRequired (If other than the default database 442 // (`0`).) 443 // Stability: stable 444 // Examples: 0, 1, 15 445 DBRedisDBIndexKey = attribute.Key("db.redis.database_index") 446 ) 447 448 // Call-level attributes for MongoDB 449 const ( 450 // The collection being accessed within the database stated in `db.name`. 451 // 452 // Type: string 453 // RequirementLevel: Required 454 // Stability: stable 455 // Examples: 'customers', 'products' 456 DBMongoDBCollectionKey = attribute.Key("db.mongodb.collection") 457 ) 458 459 // Call-level attributes for SQL databases 460 const ( 461 // The name of the primary table that the operation is acting upon, including the 462 // database name (if applicable). 463 // 464 // Type: string 465 // RequirementLevel: Recommended 466 // Stability: stable 467 // Examples: 'public.users', 'customers' 468 // Note: It is not recommended to attempt any client-side parsing of 469 // `db.statement` just to get this property, but it should be set if it is 470 // provided by the library being instrumented. If the operation is acting upon an 471 // anonymous table, or more than one table, this value MUST NOT be set. 472 DBSQLTableKey = attribute.Key("db.sql.table") 473 ) 474 475 // Span attributes used by non-OTLP exporters to represent OpenTelemetry Span's concepts. 476 const ( 477 // Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is 478 // UNSET. 479 // 480 // Type: Enum 481 // RequirementLevel: Optional 482 // Stability: stable 483 OtelStatusCodeKey = attribute.Key("otel.status_code") 484 // Description of the Status if it has a value, otherwise not set. 485 // 486 // Type: string 487 // RequirementLevel: Optional 488 // Stability: stable 489 // Examples: 'resource not found' 490 OtelStatusDescriptionKey = attribute.Key("otel.status_description") 491 ) 492 493 var ( 494 // The operation has been validated by an Application developer or Operator to have completed successfully 495 OtelStatusCodeOk = OtelStatusCodeKey.String("OK") 496 // The operation contains an error 497 OtelStatusCodeError = OtelStatusCodeKey.String("ERROR") 498 ) 499 500 // 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. 501 const ( 502 // Type of the trigger which caused this function execution. 503 // 504 // Type: Enum 505 // RequirementLevel: Optional 506 // Stability: stable 507 // Note: For the server/consumer span on the incoming side, 508 // `faas.trigger` MUST be set. 509 510 // Clients invoking FaaS instances usually cannot set `faas.trigger`, 511 // since they would typically need to look in the payload to determine 512 // the event type. If clients set it, it should be the same as the 513 // trigger that corresponding incoming would have (i.e., this has 514 // nothing to do with the underlying transport used to make the API 515 // call to invoke the lambda, which is often HTTP). 516 FaaSTriggerKey = attribute.Key("faas.trigger") 517 // The execution ID of the current function execution. 518 // 519 // Type: string 520 // RequirementLevel: Optional 521 // Stability: stable 522 // Examples: 'af9d5aa4-a685-4c5f-a22b-444f80b3cc28' 523 FaaSExecutionKey = attribute.Key("faas.execution") 524 ) 525 526 var ( 527 // A response to some data source operation such as a database or filesystem read/write 528 FaaSTriggerDatasource = FaaSTriggerKey.String("datasource") 529 // To provide an answer to an inbound HTTP request 530 FaaSTriggerHTTP = FaaSTriggerKey.String("http") 531 // A function is set to be executed when messages are sent to a messaging system 532 FaaSTriggerPubsub = FaaSTriggerKey.String("pubsub") 533 // A function is scheduled to be executed regularly 534 FaaSTriggerTimer = FaaSTriggerKey.String("timer") 535 // If none of the others apply 536 FaaSTriggerOther = FaaSTriggerKey.String("other") 537 ) 538 539 // Semantic Convention for FaaS triggered as a response to some data source operation such as a database or filesystem read/write. 540 const ( 541 // The name of the source on which the triggering operation was performed. For 542 // example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos 543 // DB to the database name. 544 // 545 // Type: string 546 // RequirementLevel: Required 547 // Stability: stable 548 // Examples: 'myBucketName', 'myDBName' 549 FaaSDocumentCollectionKey = attribute.Key("faas.document.collection") 550 // Describes the type of the operation that was performed on the data. 551 // 552 // Type: Enum 553 // RequirementLevel: Required 554 // Stability: stable 555 FaaSDocumentOperationKey = attribute.Key("faas.document.operation") 556 // A string containing the time when the data was accessed in the [ISO 557 // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed 558 // in [UTC](https://www.w3.org/TR/NOTE-datetime). 559 // 560 // Type: string 561 // RequirementLevel: Optional 562 // Stability: stable 563 // Examples: '2020-01-23T13:47:06Z' 564 FaaSDocumentTimeKey = attribute.Key("faas.document.time") 565 // The document name/table subjected to the operation. For example, in Cloud 566 // Storage or S3 is the name of the file, and in Cosmos DB the table name. 567 // 568 // Type: string 569 // RequirementLevel: Optional 570 // Stability: stable 571 // Examples: 'myFile.txt', 'myTableName' 572 FaaSDocumentNameKey = attribute.Key("faas.document.name") 573 ) 574 575 var ( 576 // When a new object is created 577 FaaSDocumentOperationInsert = FaaSDocumentOperationKey.String("insert") 578 // When an object is modified 579 FaaSDocumentOperationEdit = FaaSDocumentOperationKey.String("edit") 580 // When an object is deleted 581 FaaSDocumentOperationDelete = FaaSDocumentOperationKey.String("delete") 582 ) 583 584 // Semantic Convention for FaaS scheduled to be executed regularly. 585 const ( 586 // A string containing the function invocation time in the [ISO 587 // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed 588 // in [UTC](https://www.w3.org/TR/NOTE-datetime). 589 // 590 // Type: string 591 // RequirementLevel: Optional 592 // Stability: stable 593 // Examples: '2020-01-23T13:47:06Z' 594 FaaSTimeKey = attribute.Key("faas.time") 595 // A string containing the schedule period as [Cron Expression](https://docs.oracl 596 // e.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). 597 // 598 // Type: string 599 // RequirementLevel: Optional 600 // Stability: stable 601 // Examples: '0/5 * * * ? *' 602 FaaSCronKey = attribute.Key("faas.cron") 603 ) 604 605 // Contains additional attributes for incoming FaaS spans. 606 const ( 607 // A boolean that is true if the serverless function is executed for the first 608 // time (aka cold-start). 609 // 610 // Type: boolean 611 // RequirementLevel: Optional 612 // Stability: stable 613 FaaSColdstartKey = attribute.Key("faas.coldstart") 614 ) 615 616 // Contains additional attributes for outgoing FaaS spans. 617 const ( 618 // The name of the invoked function. 619 // 620 // Type: string 621 // RequirementLevel: Required 622 // Stability: stable 623 // Examples: 'my-function' 624 // Note: SHOULD be equal to the `faas.name` resource attribute of the invoked 625 // function. 626 FaaSInvokedNameKey = attribute.Key("faas.invoked_name") 627 // The cloud provider of the invoked function. 628 // 629 // Type: Enum 630 // RequirementLevel: Required 631 // Stability: stable 632 // Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked 633 // function. 634 FaaSInvokedProviderKey = attribute.Key("faas.invoked_provider") 635 // The cloud region of the invoked function. 636 // 637 // Type: string 638 // RequirementLevel: ConditionallyRequired (For some cloud providers, like AWS or 639 // GCP, the region in which a function is hosted is essential to uniquely identify 640 // the function and also part of its endpoint. Since it's part of the endpoint 641 // being called, the region is always known to clients. In these cases, 642 // `faas.invoked_region` MUST be set accordingly. If the region is unknown to the 643 // client or not required for identifying the invoked function, setting 644 // `faas.invoked_region` is optional.) 645 // Stability: stable 646 // Examples: 'eu-central-1' 647 // Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked 648 // function. 649 FaaSInvokedRegionKey = attribute.Key("faas.invoked_region") 650 ) 651 652 var ( 653 // Alibaba Cloud 654 FaaSInvokedProviderAlibabaCloud = FaaSInvokedProviderKey.String("alibaba_cloud") 655 // Amazon Web Services 656 FaaSInvokedProviderAWS = FaaSInvokedProviderKey.String("aws") 657 // Microsoft Azure 658 FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure") 659 // Google Cloud Platform 660 FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp") 661 // Tencent Cloud 662 FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud") 663 ) 664 665 // These attributes may be used for any network related operation. 666 const ( 667 // Transport protocol used. See note below. 668 // 669 // Type: Enum 670 // RequirementLevel: Optional 671 // Stability: stable 672 NetTransportKey = attribute.Key("net.transport") 673 // Application layer protocol used. The value SHOULD be normalized to lowercase. 674 // 675 // Type: string 676 // RequirementLevel: Optional 677 // Stability: stable 678 // Examples: 'amqp', 'http', 'mqtt' 679 NetAppProtocolNameKey = attribute.Key("net.app.protocol.name") 680 // Version of the application layer protocol used. See note below. 681 // 682 // Type: string 683 // RequirementLevel: Optional 684 // Stability: stable 685 // Examples: '3.1.1' 686 // Note: `net.app.protocol.version` refers to the version of the protocol used and 687 // might be different from the protocol client's version. If the HTTP client used 688 // has a version of `0.27.2`, but sends HTTP version `1.1`, this attribute should 689 // be set to `1.1`. 690 NetAppProtocolVersionKey = attribute.Key("net.app.protocol.version") 691 // Remote socket peer name. 692 // 693 // Type: string 694 // RequirementLevel: Recommended (If available and different from `net.peer.name` 695 // and if `net.sock.peer.addr` is set.) 696 // Stability: stable 697 // Examples: 'proxy.example.com' 698 NetSockPeerNameKey = attribute.Key("net.sock.peer.name") 699 // Remote socket peer address: IPv4 or IPv6 for internet protocols, path for local 700 // communication, [etc](https://man7.org/linux/man- 701 // pages/man7/address_families.7.html). 702 // 703 // Type: string 704 // RequirementLevel: Optional 705 // Stability: stable 706 // Examples: '127.0.0.1', '/tmp/mysql.sock' 707 NetSockPeerAddrKey = attribute.Key("net.sock.peer.addr") 708 // Remote socket peer port. 709 // 710 // Type: int 711 // RequirementLevel: Recommended (If defined for the address family and if 712 // different than `net.peer.port` and if `net.sock.peer.addr` is set.) 713 // Stability: stable 714 // Examples: 16456 715 NetSockPeerPortKey = attribute.Key("net.sock.peer.port") 716 // Protocol [address family](https://man7.org/linux/man- 717 // pages/man7/address_families.7.html) which is used for communication. 718 // 719 // Type: Enum 720 // RequirementLevel: ConditionallyRequired (If different than `inet` and if any of 721 // `net.sock.peer.addr` or `net.sock.host.addr` are set. Consumers of telemetry 722 // SHOULD accept both IPv4 and IPv6 formats for the address in 723 // `net.sock.peer.addr` if `net.sock.family` is not set. This is to support 724 // instrumentations that follow previous versions of this document.) 725 // Stability: stable 726 // Examples: 'inet6', 'bluetooth' 727 NetSockFamilyKey = attribute.Key("net.sock.family") 728 // Logical remote hostname, see note below. 729 // 730 // Type: string 731 // RequirementLevel: Optional 732 // Stability: stable 733 // Examples: 'example.com' 734 // Note: `net.peer.name` SHOULD NOT be set if capturing it would require an extra 735 // DNS lookup. 736 NetPeerNameKey = attribute.Key("net.peer.name") 737 // Logical remote port number 738 // 739 // Type: int 740 // RequirementLevel: Optional 741 // Stability: stable 742 // Examples: 80, 8080, 443 743 NetPeerPortKey = attribute.Key("net.peer.port") 744 // Logical local hostname or similar, see note below. 745 // 746 // Type: string 747 // RequirementLevel: Optional 748 // Stability: stable 749 // Examples: 'localhost' 750 NetHostNameKey = attribute.Key("net.host.name") 751 // Logical local port number, preferably the one that the peer used to connect 752 // 753 // Type: int 754 // RequirementLevel: Optional 755 // Stability: stable 756 // Examples: 8080 757 NetHostPortKey = attribute.Key("net.host.port") 758 // Local socket address. Useful in case of a multi-IP host. 759 // 760 // Type: string 761 // RequirementLevel: Optional 762 // Stability: stable 763 // Examples: '192.168.0.1' 764 NetSockHostAddrKey = attribute.Key("net.sock.host.addr") 765 // Local socket port number. 766 // 767 // Type: int 768 // RequirementLevel: Recommended (If defined for the address family and if 769 // different than `net.host.port` and if `net.sock.host.addr` is set.) 770 // Stability: stable 771 // Examples: 35555 772 NetSockHostPortKey = attribute.Key("net.sock.host.port") 773 // The internet connection type currently being used by the host. 774 // 775 // Type: Enum 776 // RequirementLevel: Optional 777 // Stability: stable 778 // Examples: 'wifi' 779 NetHostConnectionTypeKey = attribute.Key("net.host.connection.type") 780 // This describes more details regarding the connection.type. It may be the type 781 // of cell technology connection, but it could be used for describing details 782 // about a wifi connection. 783 // 784 // Type: Enum 785 // RequirementLevel: Optional 786 // Stability: stable 787 // Examples: 'LTE' 788 NetHostConnectionSubtypeKey = attribute.Key("net.host.connection.subtype") 789 // The name of the mobile carrier. 790 // 791 // Type: string 792 // RequirementLevel: Optional 793 // Stability: stable 794 // Examples: 'sprint' 795 NetHostCarrierNameKey = attribute.Key("net.host.carrier.name") 796 // The mobile carrier country code. 797 // 798 // Type: string 799 // RequirementLevel: Optional 800 // Stability: stable 801 // Examples: '310' 802 NetHostCarrierMccKey = attribute.Key("net.host.carrier.mcc") 803 // The mobile carrier network code. 804 // 805 // Type: string 806 // RequirementLevel: Optional 807 // Stability: stable 808 // Examples: '001' 809 NetHostCarrierMncKey = attribute.Key("net.host.carrier.mnc") 810 // The ISO 3166-1 alpha-2 2-character country code associated with the mobile 811 // carrier network. 812 // 813 // Type: string 814 // RequirementLevel: Optional 815 // Stability: stable 816 // Examples: 'DE' 817 NetHostCarrierIccKey = attribute.Key("net.host.carrier.icc") 818 ) 819 820 var ( 821 // ip_tcp 822 NetTransportTCP = NetTransportKey.String("ip_tcp") 823 // ip_udp 824 NetTransportUDP = NetTransportKey.String("ip_udp") 825 // Named or anonymous pipe. See note below 826 NetTransportPipe = NetTransportKey.String("pipe") 827 // In-process communication 828 NetTransportInProc = NetTransportKey.String("inproc") 829 // Something else (non IP-based) 830 NetTransportOther = NetTransportKey.String("other") 831 ) 832 833 var ( 834 // IPv4 address 835 NetSockFamilyInet = NetSockFamilyKey.String("inet") 836 // IPv6 address 837 NetSockFamilyInet6 = NetSockFamilyKey.String("inet6") 838 // Unix domain socket path 839 NetSockFamilyUnix = NetSockFamilyKey.String("unix") 840 ) 841 842 var ( 843 // wifi 844 NetHostConnectionTypeWifi = NetHostConnectionTypeKey.String("wifi") 845 // wired 846 NetHostConnectionTypeWired = NetHostConnectionTypeKey.String("wired") 847 // cell 848 NetHostConnectionTypeCell = NetHostConnectionTypeKey.String("cell") 849 // unavailable 850 NetHostConnectionTypeUnavailable = NetHostConnectionTypeKey.String("unavailable") 851 // unknown 852 NetHostConnectionTypeUnknown = NetHostConnectionTypeKey.String("unknown") 853 ) 854 855 var ( 856 // GPRS 857 NetHostConnectionSubtypeGprs = NetHostConnectionSubtypeKey.String("gprs") 858 // EDGE 859 NetHostConnectionSubtypeEdge = NetHostConnectionSubtypeKey.String("edge") 860 // UMTS 861 NetHostConnectionSubtypeUmts = NetHostConnectionSubtypeKey.String("umts") 862 // CDMA 863 NetHostConnectionSubtypeCdma = NetHostConnectionSubtypeKey.String("cdma") 864 // EVDO Rel. 0 865 NetHostConnectionSubtypeEvdo0 = NetHostConnectionSubtypeKey.String("evdo_0") 866 // EVDO Rev. A 867 NetHostConnectionSubtypeEvdoA = NetHostConnectionSubtypeKey.String("evdo_a") 868 // CDMA2000 1XRTT 869 NetHostConnectionSubtypeCdma20001xrtt = NetHostConnectionSubtypeKey.String("cdma2000_1xrtt") 870 // HSDPA 871 NetHostConnectionSubtypeHsdpa = NetHostConnectionSubtypeKey.String("hsdpa") 872 // HSUPA 873 NetHostConnectionSubtypeHsupa = NetHostConnectionSubtypeKey.String("hsupa") 874 // HSPA 875 NetHostConnectionSubtypeHspa = NetHostConnectionSubtypeKey.String("hspa") 876 // IDEN 877 NetHostConnectionSubtypeIden = NetHostConnectionSubtypeKey.String("iden") 878 // EVDO Rev. B 879 NetHostConnectionSubtypeEvdoB = NetHostConnectionSubtypeKey.String("evdo_b") 880 // LTE 881 NetHostConnectionSubtypeLte = NetHostConnectionSubtypeKey.String("lte") 882 // EHRPD 883 NetHostConnectionSubtypeEhrpd = NetHostConnectionSubtypeKey.String("ehrpd") 884 // HSPAP 885 NetHostConnectionSubtypeHspap = NetHostConnectionSubtypeKey.String("hspap") 886 // GSM 887 NetHostConnectionSubtypeGsm = NetHostConnectionSubtypeKey.String("gsm") 888 // TD-SCDMA 889 NetHostConnectionSubtypeTdScdma = NetHostConnectionSubtypeKey.String("td_scdma") 890 // IWLAN 891 NetHostConnectionSubtypeIwlan = NetHostConnectionSubtypeKey.String("iwlan") 892 // 5G NR (New Radio) 893 NetHostConnectionSubtypeNr = NetHostConnectionSubtypeKey.String("nr") 894 // 5G NRNSA (New Radio Non-Standalone) 895 NetHostConnectionSubtypeNrnsa = NetHostConnectionSubtypeKey.String("nrnsa") 896 // LTE CA 897 NetHostConnectionSubtypeLteCa = NetHostConnectionSubtypeKey.String("lte_ca") 898 ) 899 900 // Operations that access some remote service. 901 const ( 902 // The [`service.name`](../../resource/semantic_conventions/README.md#service) of 903 // the remote service. SHOULD be equal to the actual `service.name` resource 904 // attribute of the remote service if any. 905 // 906 // Type: string 907 // RequirementLevel: Optional 908 // Stability: stable 909 // Examples: 'AuthTokenCache' 910 PeerServiceKey = attribute.Key("peer.service") 911 ) 912 913 // These attributes may be used for any operation with an authenticated and/or authorized enduser. 914 const ( 915 // Username or client_id extracted from the access token or 916 // [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the 917 // inbound request from outside the system. 918 // 919 // Type: string 920 // RequirementLevel: Optional 921 // Stability: stable 922 // Examples: 'username' 923 EnduserIDKey = attribute.Key("enduser.id") 924 // Actual/assumed role the client is making the request under extracted from token 925 // or application security context. 926 // 927 // Type: string 928 // RequirementLevel: Optional 929 // Stability: stable 930 // Examples: 'admin' 931 EnduserRoleKey = attribute.Key("enduser.role") 932 // Scopes or granted authorities the client currently possesses extracted from 933 // token or application security context. The value would come from the scope 934 // associated with an [OAuth 2.0 Access 935 // Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value 936 // in a [SAML 2.0 Assertion](http://docs.oasis- 937 // open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). 938 // 939 // Type: string 940 // RequirementLevel: Optional 941 // Stability: stable 942 // Examples: 'read:message, write:files' 943 EnduserScopeKey = attribute.Key("enduser.scope") 944 ) 945 946 // These attributes may be used for any operation to store information about a thread that started a span. 947 const ( 948 // Current "managed" thread ID (as opposed to OS thread ID). 949 // 950 // Type: int 951 // RequirementLevel: Optional 952 // Stability: stable 953 // Examples: 42 954 ThreadIDKey = attribute.Key("thread.id") 955 // Current thread name. 956 // 957 // Type: string 958 // RequirementLevel: Optional 959 // Stability: stable 960 // Examples: 'main' 961 ThreadNameKey = attribute.Key("thread.name") 962 ) 963 964 // These attributes allow to report this unit of code and therefore to provide more context about the span. 965 const ( 966 // The method or function name, or equivalent (usually rightmost part of the code 967 // unit's name). 968 // 969 // Type: string 970 // RequirementLevel: Optional 971 // Stability: stable 972 // Examples: 'serveRequest' 973 CodeFunctionKey = attribute.Key("code.function") 974 // The "namespace" within which `code.function` is defined. Usually the qualified 975 // class or module name, such that `code.namespace` + some separator + 976 // `code.function` form a unique identifier for the code unit. 977 // 978 // Type: string 979 // RequirementLevel: Optional 980 // Stability: stable 981 // Examples: 'com.example.MyHTTPService' 982 CodeNamespaceKey = attribute.Key("code.namespace") 983 // The source code file name that identifies the code unit as uniquely as possible 984 // (preferably an absolute file path). 985 // 986 // Type: string 987 // RequirementLevel: Optional 988 // Stability: stable 989 // Examples: '/usr/local/MyApplication/content_root/app/index.php' 990 CodeFilepathKey = attribute.Key("code.filepath") 991 // The line number in `code.filepath` best representing the operation. It SHOULD 992 // point within the code unit named in `code.function`. 993 // 994 // Type: int 995 // RequirementLevel: Optional 996 // Stability: stable 997 // Examples: 42 998 CodeLineNumberKey = attribute.Key("code.lineno") 999 ) 1000 1001 // This document defines semantic conventions for HTTP client and server Spans. 1002 const ( 1003 // HTTP request method. 1004 // 1005 // Type: string 1006 // RequirementLevel: Required 1007 // Stability: stable 1008 // Examples: 'GET', 'POST', 'HEAD' 1009 HTTPMethodKey = attribute.Key("http.method") 1010 // [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). 1011 // 1012 // Type: int 1013 // RequirementLevel: ConditionallyRequired (If and only if one was received/sent.) 1014 // Stability: stable 1015 // Examples: 200 1016 HTTPStatusCodeKey = attribute.Key("http.status_code") 1017 // Kind of HTTP protocol used. 1018 // 1019 // Type: Enum 1020 // RequirementLevel: Optional 1021 // Stability: stable 1022 // Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` 1023 // except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. 1024 HTTPFlavorKey = attribute.Key("http.flavor") 1025 // Value of the [HTTP User-Agent](https://www.rfc- 1026 // editor.org/rfc/rfc9110.html#field.user-agent) header sent by the client. 1027 // 1028 // Type: string 1029 // RequirementLevel: Optional 1030 // Stability: stable 1031 // Examples: 'CERN-LineMode/2.15 libwww/2.17b3' 1032 HTTPUserAgentKey = attribute.Key("http.user_agent") 1033 // The size of the request payload body in bytes. This is the number of bytes 1034 // transferred excluding headers and is often, but not always, present as the 1035 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content- 1036 // length) header. For requests using transport encoding, this should be the 1037 // compressed size. 1038 // 1039 // Type: int 1040 // RequirementLevel: Optional 1041 // Stability: stable 1042 // Examples: 3495 1043 HTTPRequestContentLengthKey = attribute.Key("http.request_content_length") 1044 // The size of the response payload body in bytes. This is the number of bytes 1045 // transferred excluding headers and is often, but not always, present as the 1046 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content- 1047 // length) header. For requests using transport encoding, this should be the 1048 // compressed size. 1049 // 1050 // Type: int 1051 // RequirementLevel: Optional 1052 // Stability: stable 1053 // Examples: 3495 1054 HTTPResponseContentLengthKey = attribute.Key("http.response_content_length") 1055 ) 1056 1057 var ( 1058 // HTTP/1.0 1059 HTTPFlavorHTTP10 = HTTPFlavorKey.String("1.0") 1060 // HTTP/1.1 1061 HTTPFlavorHTTP11 = HTTPFlavorKey.String("1.1") 1062 // HTTP/2 1063 HTTPFlavorHTTP20 = HTTPFlavorKey.String("2.0") 1064 // HTTP/3 1065 HTTPFlavorHTTP30 = HTTPFlavorKey.String("3.0") 1066 // SPDY protocol 1067 HTTPFlavorSPDY = HTTPFlavorKey.String("SPDY") 1068 // QUIC protocol 1069 HTTPFlavorQUIC = HTTPFlavorKey.String("QUIC") 1070 ) 1071 1072 // Semantic Convention for HTTP Client 1073 const ( 1074 // Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. 1075 // Usually the fragment is not transmitted over HTTP, but if it is known, it 1076 // should be included nevertheless. 1077 // 1078 // Type: string 1079 // RequirementLevel: Required 1080 // Stability: stable 1081 // Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv' 1082 // Note: `http.url` MUST NOT contain credentials passed via URL in form of 1083 // `https://username:password@www.example.com/`. In such case the attribute's 1084 // value should be `https://www.example.com/`. 1085 HTTPURLKey = attribute.Key("http.url") 1086 // The ordinal number of request resending attempt (for any reason, including 1087 // redirects). 1088 // 1089 // Type: int 1090 // RequirementLevel: Recommended (if and only if request was retried.) 1091 // Stability: stable 1092 // Examples: 3 1093 // Note: The resend count SHOULD be updated each time an HTTP request gets resent 1094 // by the client, regardless of what was the cause of the resending (e.g. 1095 // redirection, authorization failure, 503 Server Unavailable, network issues, or 1096 // any other). 1097 HTTPResendCountKey = attribute.Key("http.resend_count") 1098 ) 1099 1100 // Semantic Convention for HTTP Server 1101 const ( 1102 // The URI scheme identifying the used protocol. 1103 // 1104 // Type: string 1105 // RequirementLevel: Required 1106 // Stability: stable 1107 // Examples: 'http', 'https' 1108 HTTPSchemeKey = attribute.Key("http.scheme") 1109 // The full request target as passed in a HTTP request line or equivalent. 1110 // 1111 // Type: string 1112 // RequirementLevel: Required 1113 // Stability: stable 1114 // Examples: '/path/12314/?q=ddds' 1115 HTTPTargetKey = attribute.Key("http.target") 1116 // The matched route (path template in the format used by the respective server 1117 // framework). See note below 1118 // 1119 // Type: string 1120 // RequirementLevel: ConditionallyRequired (If and only if it's available) 1121 // Stability: stable 1122 // Examples: '/users/:userID?', '{controller}/{action}/{id?}' 1123 // Note: 'http.route' MUST NOT be populated when this is not supported by the HTTP 1124 // server framework as the route attribute should have low-cardinality and the URI 1125 // path can NOT substitute it. 1126 HTTPRouteKey = attribute.Key("http.route") 1127 // The IP address of the original client behind all proxies, if known (e.g. from 1128 // [X-Forwarded-For](https://developer.mozilla.org/en- 1129 // US/docs/Web/HTTP/Headers/X-Forwarded-For)). 1130 // 1131 // Type: string 1132 // RequirementLevel: Optional 1133 // Stability: stable 1134 // Examples: '83.164.160.102' 1135 // Note: This is not necessarily the same as `net.sock.peer.addr`, which would 1136 // identify the network-level peer, which may be a proxy. 1137 1138 // This attribute should be set when a source of information different 1139 // from the one used for `net.sock.peer.addr`, is available even if that other 1140 // source just confirms the same value as `net.sock.peer.addr`. 1141 // Rationale: For `net.sock.peer.addr`, one typically does not know if it 1142 // comes from a proxy, reverse proxy, or the actual client. Setting 1143 // `http.client_ip` when it's the same as `net.sock.peer.addr` means that 1144 // one is at least somewhat confident that the address is not that of 1145 // the closest proxy. 1146 HTTPClientIPKey = attribute.Key("http.client_ip") 1147 ) 1148 1149 // Attributes that exist for multiple DynamoDB request types. 1150 const ( 1151 // The keys in the `RequestItems` object field. 1152 // 1153 // Type: string[] 1154 // RequirementLevel: Optional 1155 // Stability: stable 1156 // Examples: 'Users', 'Cats' 1157 AWSDynamoDBTableNamesKey = attribute.Key("aws.dynamodb.table_names") 1158 // The JSON-serialized value of each item in the `ConsumedCapacity` response 1159 // field. 1160 // 1161 // Type: string[] 1162 // RequirementLevel: Optional 1163 // Stability: stable 1164 // Examples: '{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { 1165 // "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": 1166 // number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, 1167 // "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, 1168 // "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, 1169 // "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": 1170 // "string", "WriteCapacityUnits": number }' 1171 AWSDynamoDBConsumedCapacityKey = attribute.Key("aws.dynamodb.consumed_capacity") 1172 // The JSON-serialized value of the `ItemCollectionMetrics` response field. 1173 // 1174 // Type: string 1175 // RequirementLevel: Optional 1176 // Stability: stable 1177 // Examples: '{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, 1178 // "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : 1179 // "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": 1180 // "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }' 1181 AWSDynamoDBItemCollectionMetricsKey = attribute.Key("aws.dynamodb.item_collection_metrics") 1182 // The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. 1183 // 1184 // Type: double 1185 // RequirementLevel: Optional 1186 // Stability: stable 1187 // Examples: 1.0, 2.0 1188 AWSDynamoDBProvisionedReadCapacityKey = attribute.Key("aws.dynamodb.provisioned_read_capacity") 1189 // The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. 1190 // 1191 // Type: double 1192 // RequirementLevel: Optional 1193 // Stability: stable 1194 // Examples: 1.0, 2.0 1195 AWSDynamoDBProvisionedWriteCapacityKey = attribute.Key("aws.dynamodb.provisioned_write_capacity") 1196 // The value of the `ConsistentRead` request parameter. 1197 // 1198 // Type: boolean 1199 // RequirementLevel: Optional 1200 // Stability: stable 1201 AWSDynamoDBConsistentReadKey = attribute.Key("aws.dynamodb.consistent_read") 1202 // The value of the `ProjectionExpression` request parameter. 1203 // 1204 // Type: string 1205 // RequirementLevel: Optional 1206 // Stability: stable 1207 // Examples: 'Title', 'Title, Price, Color', 'Title, Description, RelatedItems, 1208 // ProductReviews' 1209 AWSDynamoDBProjectionKey = attribute.Key("aws.dynamodb.projection") 1210 // The value of the `Limit` request parameter. 1211 // 1212 // Type: int 1213 // RequirementLevel: Optional 1214 // Stability: stable 1215 // Examples: 10 1216 AWSDynamoDBLimitKey = attribute.Key("aws.dynamodb.limit") 1217 // The value of the `AttributesToGet` request parameter. 1218 // 1219 // Type: string[] 1220 // RequirementLevel: Optional 1221 // Stability: stable 1222 // Examples: 'lives', 'id' 1223 AWSDynamoDBAttributesToGetKey = attribute.Key("aws.dynamodb.attributes_to_get") 1224 // The value of the `IndexName` request parameter. 1225 // 1226 // Type: string 1227 // RequirementLevel: Optional 1228 // Stability: stable 1229 // Examples: 'name_to_group' 1230 AWSDynamoDBIndexNameKey = attribute.Key("aws.dynamodb.index_name") 1231 // The value of the `Select` request parameter. 1232 // 1233 // Type: string 1234 // RequirementLevel: Optional 1235 // Stability: stable 1236 // Examples: 'ALL_ATTRIBUTES', 'COUNT' 1237 AWSDynamoDBSelectKey = attribute.Key("aws.dynamodb.select") 1238 ) 1239 1240 // DynamoDB.CreateTable 1241 const ( 1242 // The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request 1243 // field 1244 // 1245 // Type: string[] 1246 // RequirementLevel: Optional 1247 // Stability: stable 1248 // Examples: '{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", 1249 // "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], 1250 // "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": 1251 // number, "WriteCapacityUnits": number } }' 1252 AWSDynamoDBGlobalSecondaryIndexesKey = attribute.Key("aws.dynamodb.global_secondary_indexes") 1253 // The JSON-serialized value of each item of the `LocalSecondaryIndexes` request 1254 // field. 1255 // 1256 // Type: string[] 1257 // RequirementLevel: Optional 1258 // Stability: stable 1259 // Examples: '{ "IndexARN": "string", "IndexName": "string", "IndexSizeBytes": 1260 // number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", 1261 // "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], 1262 // "ProjectionType": "string" } }' 1263 AWSDynamoDBLocalSecondaryIndexesKey = attribute.Key("aws.dynamodb.local_secondary_indexes") 1264 ) 1265 1266 // DynamoDB.ListTables 1267 const ( 1268 // The value of the `ExclusiveStartTableName` request parameter. 1269 // 1270 // Type: string 1271 // RequirementLevel: Optional 1272 // Stability: stable 1273 // Examples: 'Users', 'CatsTable' 1274 AWSDynamoDBExclusiveStartTableKey = attribute.Key("aws.dynamodb.exclusive_start_table") 1275 // The the number of items in the `TableNames` response parameter. 1276 // 1277 // Type: int 1278 // RequirementLevel: Optional 1279 // Stability: stable 1280 // Examples: 20 1281 AWSDynamoDBTableCountKey = attribute.Key("aws.dynamodb.table_count") 1282 ) 1283 1284 // DynamoDB.Query 1285 const ( 1286 // The value of the `ScanIndexForward` request parameter. 1287 // 1288 // Type: boolean 1289 // RequirementLevel: Optional 1290 // Stability: stable 1291 AWSDynamoDBScanForwardKey = attribute.Key("aws.dynamodb.scan_forward") 1292 ) 1293 1294 // DynamoDB.Scan 1295 const ( 1296 // The value of the `Segment` request parameter. 1297 // 1298 // Type: int 1299 // RequirementLevel: Optional 1300 // Stability: stable 1301 // Examples: 10 1302 AWSDynamoDBSegmentKey = attribute.Key("aws.dynamodb.segment") 1303 // The value of the `TotalSegments` request parameter. 1304 // 1305 // Type: int 1306 // RequirementLevel: Optional 1307 // Stability: stable 1308 // Examples: 100 1309 AWSDynamoDBTotalSegmentsKey = attribute.Key("aws.dynamodb.total_segments") 1310 // The value of the `Count` response parameter. 1311 // 1312 // Type: int 1313 // RequirementLevel: Optional 1314 // Stability: stable 1315 // Examples: 10 1316 AWSDynamoDBCountKey = attribute.Key("aws.dynamodb.count") 1317 // The value of the `ScannedCount` response parameter. 1318 // 1319 // Type: int 1320 // RequirementLevel: Optional 1321 // Stability: stable 1322 // Examples: 50 1323 AWSDynamoDBScannedCountKey = attribute.Key("aws.dynamodb.scanned_count") 1324 ) 1325 1326 // DynamoDB.UpdateTable 1327 const ( 1328 // The JSON-serialized value of each item in the `AttributeDefinitions` request 1329 // field. 1330 // 1331 // Type: string[] 1332 // RequirementLevel: Optional 1333 // Stability: stable 1334 // Examples: '{ "AttributeName": "string", "AttributeType": "string" }' 1335 AWSDynamoDBAttributeDefinitionsKey = attribute.Key("aws.dynamodb.attribute_definitions") 1336 // The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` 1337 // request field. 1338 // 1339 // Type: string[] 1340 // RequirementLevel: Optional 1341 // Stability: stable 1342 // Examples: '{ "Create": { "IndexName": "string", "KeySchema": [ { 1343 // "AttributeName": "string", "KeyType": "string" } ], "Projection": { 1344 // "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, 1345 // "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": 1346 // number } }' 1347 AWSDynamoDBGlobalSecondaryIndexUpdatesKey = attribute.Key("aws.dynamodb.global_secondary_index_updates") 1348 ) 1349 1350 // This document defines semantic conventions to apply when instrumenting the GraphQL implementation. They map GraphQL operations to attributes on a Span. 1351 const ( 1352 // The name of the operation being executed. 1353 // 1354 // Type: string 1355 // RequirementLevel: Optional 1356 // Stability: stable 1357 // Examples: 'findBookByID' 1358 GraphqlOperationNameKey = attribute.Key("graphql.operation.name") 1359 // The type of the operation being executed. 1360 // 1361 // Type: Enum 1362 // RequirementLevel: Optional 1363 // Stability: stable 1364 // Examples: 'query', 'mutation', 'subscription' 1365 GraphqlOperationTypeKey = attribute.Key("graphql.operation.type") 1366 // The GraphQL document being executed. 1367 // 1368 // Type: string 1369 // RequirementLevel: Optional 1370 // Stability: stable 1371 // Examples: 'query findBookByID { bookByID(id: ?) { name } }' 1372 // Note: The value may be sanitized to exclude sensitive information. 1373 GraphqlDocumentKey = attribute.Key("graphql.document") 1374 ) 1375 1376 var ( 1377 // GraphQL query 1378 GraphqlOperationTypeQuery = GraphqlOperationTypeKey.String("query") 1379 // GraphQL mutation 1380 GraphqlOperationTypeMutation = GraphqlOperationTypeKey.String("mutation") 1381 // GraphQL subscription 1382 GraphqlOperationTypeSubscription = GraphqlOperationTypeKey.String("subscription") 1383 ) 1384 1385 // This document defines the attributes used in messaging systems. 1386 const ( 1387 // A string identifying the messaging system. 1388 // 1389 // Type: string 1390 // RequirementLevel: Required 1391 // Stability: stable 1392 // Examples: 'kafka', 'rabbitmq', 'rocketmq', 'activemq', 'AmazonSQS' 1393 MessagingSystemKey = attribute.Key("messaging.system") 1394 // The message destination name. This might be equal to the span name but is 1395 // required nevertheless. 1396 // 1397 // Type: string 1398 // RequirementLevel: Required 1399 // Stability: stable 1400 // Examples: 'MyQueue', 'MyTopic' 1401 MessagingDestinationKey = attribute.Key("messaging.destination") 1402 // The kind of message destination 1403 // 1404 // Type: Enum 1405 // RequirementLevel: ConditionallyRequired (If the message destination is either a 1406 // `queue` or `topic`.) 1407 // Stability: stable 1408 MessagingDestinationKindKey = attribute.Key("messaging.destination_kind") 1409 // A boolean that is true if the message destination is temporary. 1410 // 1411 // Type: boolean 1412 // RequirementLevel: ConditionallyRequired (If value is `true`. When missing, the 1413 // value is assumed to be `false`.) 1414 // Stability: stable 1415 MessagingTempDestinationKey = attribute.Key("messaging.temp_destination") 1416 // The name of the transport protocol. 1417 // 1418 // Type: string 1419 // RequirementLevel: Optional 1420 // Stability: stable 1421 // Examples: 'AMQP', 'MQTT' 1422 MessagingProtocolKey = attribute.Key("messaging.protocol") 1423 // The version of the transport protocol. 1424 // 1425 // Type: string 1426 // RequirementLevel: Optional 1427 // Stability: stable 1428 // Examples: '0.9.1' 1429 MessagingProtocolVersionKey = attribute.Key("messaging.protocol_version") 1430 // Connection string. 1431 // 1432 // Type: string 1433 // RequirementLevel: Optional 1434 // Stability: stable 1435 // Examples: 'tibjmsnaming://localhost:7222', 1436 // 'https://queue.amazonaws.com/80398EXAMPLE/MyQueue' 1437 MessagingURLKey = attribute.Key("messaging.url") 1438 // A value used by the messaging system as an identifier for the message, 1439 // represented as a string. 1440 // 1441 // Type: string 1442 // RequirementLevel: Optional 1443 // Stability: stable 1444 // Examples: '452a7c7c7c7048c2f887f61572b18fc2' 1445 MessagingMessageIDKey = attribute.Key("messaging.message_id") 1446 // The [conversation ID](#conversations) identifying the conversation to which the 1447 // message belongs, represented as a string. Sometimes called "Correlation ID". 1448 // 1449 // Type: string 1450 // RequirementLevel: Optional 1451 // Stability: stable 1452 // Examples: 'MyConversationID' 1453 MessagingConversationIDKey = attribute.Key("messaging.conversation_id") 1454 // The (uncompressed) size of the message payload in bytes. Also use this 1455 // attribute if it is unknown whether the compressed or uncompressed payload size 1456 // is reported. 1457 // 1458 // Type: int 1459 // RequirementLevel: Optional 1460 // Stability: stable 1461 // Examples: 2738 1462 MessagingMessagePayloadSizeBytesKey = attribute.Key("messaging.message_payload_size_bytes") 1463 // The compressed size of the message payload in bytes. 1464 // 1465 // Type: int 1466 // RequirementLevel: Optional 1467 // Stability: stable 1468 // Examples: 2048 1469 MessagingMessagePayloadCompressedSizeBytesKey = attribute.Key("messaging.message_payload_compressed_size_bytes") 1470 ) 1471 1472 var ( 1473 // A message sent to a queue 1474 MessagingDestinationKindQueue = MessagingDestinationKindKey.String("queue") 1475 // A message sent to a topic 1476 MessagingDestinationKindTopic = MessagingDestinationKindKey.String("topic") 1477 ) 1478 1479 // Semantic convention for a consumer of messages received from a messaging system 1480 const ( 1481 // A string identifying the kind of message consumption as defined in the 1482 // [Operation names](#operation-names) section above. If the operation is "send", 1483 // this attribute MUST NOT be set, since the operation can be inferred from the 1484 // span kind in that case. 1485 // 1486 // Type: Enum 1487 // RequirementLevel: Optional 1488 // Stability: stable 1489 MessagingOperationKey = attribute.Key("messaging.operation") 1490 // The identifier for the consumer receiving a message. For Kafka, set it to 1491 // `{messaging.kafka.consumer_group} - {messaging.kafka.client_id}`, if both are 1492 // present, or only `messaging.kafka.consumer_group`. For brokers, such as 1493 // RabbitMQ and Artemis, set it to the `client_id` of the client consuming the 1494 // message. 1495 // 1496 // Type: string 1497 // RequirementLevel: Optional 1498 // Stability: stable 1499 // Examples: 'mygroup - client-6' 1500 MessagingConsumerIDKey = attribute.Key("messaging.consumer_id") 1501 ) 1502 1503 var ( 1504 // receive 1505 MessagingOperationReceive = MessagingOperationKey.String("receive") 1506 // process 1507 MessagingOperationProcess = MessagingOperationKey.String("process") 1508 ) 1509 1510 // Attributes for RabbitMQ 1511 const ( 1512 // RabbitMQ message routing key. 1513 // 1514 // Type: string 1515 // RequirementLevel: ConditionallyRequired (If not empty.) 1516 // Stability: stable 1517 // Examples: 'myKey' 1518 MessagingRabbitmqRoutingKeyKey = attribute.Key("messaging.rabbitmq.routing_key") 1519 ) 1520 1521 // Attributes for Apache Kafka 1522 const ( 1523 // Message keys in Kafka are used for grouping alike messages to ensure they're 1524 // processed on the same partition. They differ from `messaging.message_id` in 1525 // that they're not unique. If the key is `null`, the attribute MUST NOT be set. 1526 // 1527 // Type: string 1528 // RequirementLevel: Optional 1529 // Stability: stable 1530 // Examples: 'myKey' 1531 // Note: If the key type is not string, it's string representation has to be 1532 // supplied for the attribute. If the key has no unambiguous, canonical string 1533 // form, don't include its value. 1534 MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message_key") 1535 // Name of the Kafka Consumer Group that is handling the message. Only applies to 1536 // consumers, not producers. 1537 // 1538 // Type: string 1539 // RequirementLevel: Optional 1540 // Stability: stable 1541 // Examples: 'my-group' 1542 MessagingKafkaConsumerGroupKey = attribute.Key("messaging.kafka.consumer_group") 1543 // Client ID for the Consumer or Producer that is handling the message. 1544 // 1545 // Type: string 1546 // RequirementLevel: Optional 1547 // Stability: stable 1548 // Examples: 'client-5' 1549 MessagingKafkaClientIDKey = attribute.Key("messaging.kafka.client_id") 1550 // Partition the message is sent to. 1551 // 1552 // Type: int 1553 // RequirementLevel: Optional 1554 // Stability: stable 1555 // Examples: 2 1556 MessagingKafkaPartitionKey = attribute.Key("messaging.kafka.partition") 1557 // A boolean that is true if the message is a tombstone. 1558 // 1559 // Type: boolean 1560 // RequirementLevel: ConditionallyRequired (If value is `true`. When missing, the 1561 // value is assumed to be `false`.) 1562 // Stability: stable 1563 MessagingKafkaTombstoneKey = attribute.Key("messaging.kafka.tombstone") 1564 ) 1565 1566 // Attributes for Apache RocketMQ 1567 const ( 1568 // Namespace of RocketMQ resources, resources in different namespaces are 1569 // individual. 1570 // 1571 // Type: string 1572 // RequirementLevel: Required 1573 // Stability: stable 1574 // Examples: 'myNamespace' 1575 MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace") 1576 // Name of the RocketMQ producer/consumer group that is handling the message. The 1577 // client type is identified by the SpanKind. 1578 // 1579 // Type: string 1580 // RequirementLevel: Required 1581 // Stability: stable 1582 // Examples: 'myConsumerGroup' 1583 MessagingRocketmqClientGroupKey = attribute.Key("messaging.rocketmq.client_group") 1584 // The unique identifier for each client. 1585 // 1586 // Type: string 1587 // RequirementLevel: Required 1588 // Stability: stable 1589 // Examples: 'myhost@8742@s8083jm' 1590 MessagingRocketmqClientIDKey = attribute.Key("messaging.rocketmq.client_id") 1591 // The timestamp in milliseconds that the delay message is expected to be 1592 // delivered to consumer. 1593 // 1594 // Type: int 1595 // RequirementLevel: ConditionallyRequired (If the message type is delay and delay 1596 // time level is not specified.) 1597 // Stability: stable 1598 // Examples: 1665987217045 1599 MessagingRocketmqDeliveryTimestampKey = attribute.Key("messaging.rocketmq.delivery_timestamp") 1600 // The delay time level for delay message, which determines the message delay 1601 // time. 1602 // 1603 // Type: int 1604 // RequirementLevel: ConditionallyRequired (If the message type is delay and 1605 // delivery timestamp is not specified.) 1606 // Stability: stable 1607 // Examples: 3 1608 MessagingRocketmqDelayTimeLevelKey = attribute.Key("messaging.rocketmq.delay_time_level") 1609 // It is essential for FIFO message. Messages that belong to the same message 1610 // group are always processed one by one within the same consumer group. 1611 // 1612 // Type: string 1613 // RequirementLevel: ConditionallyRequired (If the message type is FIFO.) 1614 // Stability: stable 1615 // Examples: 'myMessageGroup' 1616 MessagingRocketmqMessageGroupKey = attribute.Key("messaging.rocketmq.message_group") 1617 // Type of message. 1618 // 1619 // Type: Enum 1620 // RequirementLevel: Optional 1621 // Stability: stable 1622 MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message_type") 1623 // The secondary classifier of message besides topic. 1624 // 1625 // Type: string 1626 // RequirementLevel: Optional 1627 // Stability: stable 1628 // Examples: 'tagA' 1629 MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message_tag") 1630 // Key(s) of message, another way to mark message besides message id. 1631 // 1632 // Type: string[] 1633 // RequirementLevel: Optional 1634 // Stability: stable 1635 // Examples: 'keyA', 'keyB' 1636 MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message_keys") 1637 // Model of message consumption. This only applies to consumer spans. 1638 // 1639 // Type: Enum 1640 // RequirementLevel: Optional 1641 // Stability: stable 1642 MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model") 1643 ) 1644 1645 var ( 1646 // Normal message 1647 MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal") 1648 // FIFO message 1649 MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo") 1650 // Delay message 1651 MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay") 1652 // Transaction message 1653 MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction") 1654 ) 1655 1656 var ( 1657 // Clustering consumption model 1658 MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering") 1659 // Broadcasting consumption model 1660 MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting") 1661 ) 1662 1663 // This document defines semantic conventions for remote procedure calls. 1664 const ( 1665 // A string identifying the remoting system. See below for a list of well-known 1666 // identifiers. 1667 // 1668 // Type: Enum 1669 // RequirementLevel: Required 1670 // Stability: stable 1671 RPCSystemKey = attribute.Key("rpc.system") 1672 // The full (logical) name of the service being called, including its package 1673 // name, if applicable. 1674 // 1675 // Type: string 1676 // RequirementLevel: Recommended 1677 // Stability: stable 1678 // Examples: 'myservice.EchoService' 1679 // Note: This is the logical name of the service from the RPC interface 1680 // perspective, which can be different from the name of any implementing class. 1681 // The `code.namespace` attribute may be used to store the latter (despite the 1682 // attribute name, it may include a class name; e.g., class with method actually 1683 // executing the call on the server side, RPC client stub class on the client 1684 // side). 1685 RPCServiceKey = attribute.Key("rpc.service") 1686 // The name of the (logical) method being called, must be equal to the $method 1687 // part in the span name. 1688 // 1689 // Type: string 1690 // RequirementLevel: Recommended 1691 // Stability: stable 1692 // Examples: 'exampleMethod' 1693 // Note: This is the logical name of the method from the RPC interface 1694 // perspective, which can be different from the name of any implementing 1695 // method/function. The `code.function` attribute may be used to store the latter 1696 // (e.g., method actually executing the call on the server side, RPC client stub 1697 // method on the client side). 1698 RPCMethodKey = attribute.Key("rpc.method") 1699 ) 1700 1701 var ( 1702 // gRPC 1703 RPCSystemGRPC = RPCSystemKey.String("grpc") 1704 // Java RMI 1705 RPCSystemJavaRmi = RPCSystemKey.String("java_rmi") 1706 // .NET WCF 1707 RPCSystemDotnetWcf = RPCSystemKey.String("dotnet_wcf") 1708 // Apache Dubbo 1709 RPCSystemApacheDubbo = RPCSystemKey.String("apache_dubbo") 1710 ) 1711 1712 // Tech-specific attributes for gRPC. 1713 const ( 1714 // The [numeric status 1715 // code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC 1716 // request. 1717 // 1718 // Type: Enum 1719 // RequirementLevel: Required 1720 // Stability: stable 1721 RPCGRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code") 1722 ) 1723 1724 var ( 1725 // OK 1726 RPCGRPCStatusCodeOk = RPCGRPCStatusCodeKey.Int(0) 1727 // CANCELLED 1728 RPCGRPCStatusCodeCancelled = RPCGRPCStatusCodeKey.Int(1) 1729 // UNKNOWN 1730 RPCGRPCStatusCodeUnknown = RPCGRPCStatusCodeKey.Int(2) 1731 // INVALID_ARGUMENT 1732 RPCGRPCStatusCodeInvalidArgument = RPCGRPCStatusCodeKey.Int(3) 1733 // DEADLINE_EXCEEDED 1734 RPCGRPCStatusCodeDeadlineExceeded = RPCGRPCStatusCodeKey.Int(4) 1735 // NOT_FOUND 1736 RPCGRPCStatusCodeNotFound = RPCGRPCStatusCodeKey.Int(5) 1737 // ALREADY_EXISTS 1738 RPCGRPCStatusCodeAlreadyExists = RPCGRPCStatusCodeKey.Int(6) 1739 // PERMISSION_DENIED 1740 RPCGRPCStatusCodePermissionDenied = RPCGRPCStatusCodeKey.Int(7) 1741 // RESOURCE_EXHAUSTED 1742 RPCGRPCStatusCodeResourceExhausted = RPCGRPCStatusCodeKey.Int(8) 1743 // FAILED_PRECONDITION 1744 RPCGRPCStatusCodeFailedPrecondition = RPCGRPCStatusCodeKey.Int(9) 1745 // ABORTED 1746 RPCGRPCStatusCodeAborted = RPCGRPCStatusCodeKey.Int(10) 1747 // OUT_OF_RANGE 1748 RPCGRPCStatusCodeOutOfRange = RPCGRPCStatusCodeKey.Int(11) 1749 // UNIMPLEMENTED 1750 RPCGRPCStatusCodeUnimplemented = RPCGRPCStatusCodeKey.Int(12) 1751 // INTERNAL 1752 RPCGRPCStatusCodeInternal = RPCGRPCStatusCodeKey.Int(13) 1753 // UNAVAILABLE 1754 RPCGRPCStatusCodeUnavailable = RPCGRPCStatusCodeKey.Int(14) 1755 // DATA_LOSS 1756 RPCGRPCStatusCodeDataLoss = RPCGRPCStatusCodeKey.Int(15) 1757 // UNAUTHENTICATED 1758 RPCGRPCStatusCodeUnauthenticated = RPCGRPCStatusCodeKey.Int(16) 1759 ) 1760 1761 // Tech-specific attributes for [JSON RPC](https://www.jsonrpc.org/). 1762 const ( 1763 // Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1764 // 1.0 does not specify this, the value can be omitted. 1765 // 1766 // Type: string 1767 // RequirementLevel: ConditionallyRequired (If other than the default version 1768 // (`1.0`)) 1769 // Stability: stable 1770 // Examples: '2.0', '1.0' 1771 RPCJsonrpcVersionKey = attribute.Key("rpc.jsonrpc.version") 1772 // `id` property of request or response. Since protocol allows id to be int, 1773 // string, `null` or missing (for notifications), value is expected to be cast to 1774 // string for simplicity. Use empty string in case of `null` value. Omit entirely 1775 // if this is a notification. 1776 // 1777 // Type: string 1778 // RequirementLevel: Optional 1779 // Stability: stable 1780 // Examples: '10', 'request-7', '' 1781 RPCJsonrpcRequestIDKey = attribute.Key("rpc.jsonrpc.request_id") 1782 // `error.code` property of response if it is an error response. 1783 // 1784 // Type: int 1785 // RequirementLevel: ConditionallyRequired (If response is not successful.) 1786 // Stability: stable 1787 // Examples: -32700, 100 1788 RPCJsonrpcErrorCodeKey = attribute.Key("rpc.jsonrpc.error_code") 1789 // `error.message` property of response if it is an error response. 1790 // 1791 // Type: string 1792 // RequirementLevel: Optional 1793 // Stability: stable 1794 // Examples: 'Parse error', 'User already exists' 1795 RPCJsonrpcErrorMessageKey = attribute.Key("rpc.jsonrpc.error_message") 1796 ) 1797