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.21.0" 18 19 import "go.opentelemetry.io/otel/attribute" 20 21 // These attributes may be used to describe the client in a connection-based 22 // network interaction where there is one side that initiates the connection 23 // (the client is the side that initiates the connection). This covers all TCP 24 // network interactions since TCP is connection-based and one side initiates 25 // the connection (an exception is made for peer-to-peer communication over TCP 26 // where the "user-facing" surface of the protocol / API does not expose a 27 // clear notion of client and server). This also covers UDP network 28 // interactions where one side initiates the interaction, e.g. QUIC (HTTP/3) 29 // and DNS. 30 const ( 31 // ClientAddressKey is the attribute Key conforming to the "client.address" 32 // semantic conventions. It represents the client address - unix domain 33 // socket name, IPv4 or IPv6 address. 34 // 35 // Type: string 36 // RequirementLevel: Optional 37 // Stability: stable 38 // Examples: '/tmp/my.sock', '10.1.2.80' 39 // Note: When observed from the server side, and when communicating through 40 // an intermediary, `client.address` SHOULD represent client address behind 41 // any intermediaries (e.g. proxies) if it's available. 42 ClientAddressKey = attribute.Key("client.address") 43 44 // ClientPortKey is the attribute Key conforming to the "client.port" 45 // semantic conventions. It represents the client port number 46 // 47 // Type: int 48 // RequirementLevel: Optional 49 // Stability: stable 50 // Examples: 65123 51 // Note: When observed from the server side, and when communicating through 52 // an intermediary, `client.port` SHOULD represent client port behind any 53 // intermediaries (e.g. proxies) if it's available. 54 ClientPortKey = attribute.Key("client.port") 55 56 // ClientSocketAddressKey is the attribute Key conforming to the 57 // "client.socket.address" semantic conventions. It represents the 58 // immediate client peer address - unix domain socket name, IPv4 or IPv6 59 // address. 60 // 61 // Type: string 62 // RequirementLevel: Recommended (If different than `client.address`.) 63 // Stability: stable 64 // Examples: '/tmp/my.sock', '127.0.0.1' 65 ClientSocketAddressKey = attribute.Key("client.socket.address") 66 67 // ClientSocketPortKey is the attribute Key conforming to the 68 // "client.socket.port" semantic conventions. It represents the immediate 69 // client peer port number 70 // 71 // Type: int 72 // RequirementLevel: Recommended (If different than `client.port`.) 73 // Stability: stable 74 // Examples: 35555 75 ClientSocketPortKey = attribute.Key("client.socket.port") 76 ) 77 78 // ClientAddress returns an attribute KeyValue conforming to the 79 // "client.address" semantic conventions. It represents the client address - 80 // unix domain socket name, IPv4 or IPv6 address. 81 func ClientAddress(val string) attribute.KeyValue { 82 return ClientAddressKey.String(val) 83 } 84 85 // ClientPort returns an attribute KeyValue conforming to the "client.port" 86 // semantic conventions. It represents the client port number 87 func ClientPort(val int) attribute.KeyValue { 88 return ClientPortKey.Int(val) 89 } 90 91 // ClientSocketAddress returns an attribute KeyValue conforming to the 92 // "client.socket.address" semantic conventions. It represents the immediate 93 // client peer address - unix domain socket name, IPv4 or IPv6 address. 94 func ClientSocketAddress(val string) attribute.KeyValue { 95 return ClientSocketAddressKey.String(val) 96 } 97 98 // ClientSocketPort returns an attribute KeyValue conforming to the 99 // "client.socket.port" semantic conventions. It represents the immediate 100 // client peer port number 101 func ClientSocketPort(val int) attribute.KeyValue { 102 return ClientSocketPortKey.Int(val) 103 } 104 105 // Describes deprecated HTTP attributes. 106 const ( 107 // HTTPMethodKey is the attribute Key conforming to the "http.method" 108 // semantic conventions. It represents the deprecated, use 109 // `http.request.method` instead. 110 // 111 // Type: string 112 // RequirementLevel: Optional 113 // Stability: deprecated 114 // Examples: 'GET', 'POST', 'HEAD' 115 HTTPMethodKey = attribute.Key("http.method") 116 117 // HTTPStatusCodeKey is the attribute Key conforming to the 118 // "http.status_code" semantic conventions. It represents the deprecated, 119 // use `http.response.status_code` instead. 120 // 121 // Type: int 122 // RequirementLevel: Optional 123 // Stability: deprecated 124 // Examples: 200 125 HTTPStatusCodeKey = attribute.Key("http.status_code") 126 127 // HTTPSchemeKey is the attribute Key conforming to the "http.scheme" 128 // semantic conventions. It represents the deprecated, use `url.scheme` 129 // instead. 130 // 131 // Type: string 132 // RequirementLevel: Optional 133 // Stability: deprecated 134 // Examples: 'http', 'https' 135 HTTPSchemeKey = attribute.Key("http.scheme") 136 137 // HTTPURLKey is the attribute Key conforming to the "http.url" semantic 138 // conventions. It represents the deprecated, use `url.full` instead. 139 // 140 // Type: string 141 // RequirementLevel: Optional 142 // Stability: deprecated 143 // Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv' 144 HTTPURLKey = attribute.Key("http.url") 145 146 // HTTPTargetKey is the attribute Key conforming to the "http.target" 147 // semantic conventions. It represents the deprecated, use `url.path` and 148 // `url.query` instead. 149 // 150 // Type: string 151 // RequirementLevel: Optional 152 // Stability: deprecated 153 // Examples: '/search?q=OpenTelemetry#SemConv' 154 HTTPTargetKey = attribute.Key("http.target") 155 156 // HTTPRequestContentLengthKey is the attribute Key conforming to the 157 // "http.request_content_length" semantic conventions. It represents the 158 // deprecated, use `http.request.body.size` instead. 159 // 160 // Type: int 161 // RequirementLevel: Optional 162 // Stability: deprecated 163 // Examples: 3495 164 HTTPRequestContentLengthKey = attribute.Key("http.request_content_length") 165 166 // HTTPResponseContentLengthKey is the attribute Key conforming to the 167 // "http.response_content_length" semantic conventions. It represents the 168 // deprecated, use `http.response.body.size` instead. 169 // 170 // Type: int 171 // RequirementLevel: Optional 172 // Stability: deprecated 173 // Examples: 3495 174 HTTPResponseContentLengthKey = attribute.Key("http.response_content_length") 175 ) 176 177 // HTTPMethod returns an attribute KeyValue conforming to the "http.method" 178 // semantic conventions. It represents the deprecated, use 179 // `http.request.method` instead. 180 func HTTPMethod(val string) attribute.KeyValue { 181 return HTTPMethodKey.String(val) 182 } 183 184 // HTTPStatusCode returns an attribute KeyValue conforming to the 185 // "http.status_code" semantic conventions. It represents the deprecated, use 186 // `http.response.status_code` instead. 187 func HTTPStatusCode(val int) attribute.KeyValue { 188 return HTTPStatusCodeKey.Int(val) 189 } 190 191 // HTTPScheme returns an attribute KeyValue conforming to the "http.scheme" 192 // semantic conventions. It represents the deprecated, use `url.scheme` 193 // instead. 194 func HTTPScheme(val string) attribute.KeyValue { 195 return HTTPSchemeKey.String(val) 196 } 197 198 // HTTPURL returns an attribute KeyValue conforming to the "http.url" 199 // semantic conventions. It represents the deprecated, use `url.full` instead. 200 func HTTPURL(val string) attribute.KeyValue { 201 return HTTPURLKey.String(val) 202 } 203 204 // HTTPTarget returns an attribute KeyValue conforming to the "http.target" 205 // semantic conventions. It represents the deprecated, use `url.path` and 206 // `url.query` instead. 207 func HTTPTarget(val string) attribute.KeyValue { 208 return HTTPTargetKey.String(val) 209 } 210 211 // HTTPRequestContentLength returns an attribute KeyValue conforming to the 212 // "http.request_content_length" semantic conventions. It represents the 213 // deprecated, use `http.request.body.size` instead. 214 func HTTPRequestContentLength(val int) attribute.KeyValue { 215 return HTTPRequestContentLengthKey.Int(val) 216 } 217 218 // HTTPResponseContentLength returns an attribute KeyValue conforming to the 219 // "http.response_content_length" semantic conventions. It represents the 220 // deprecated, use `http.response.body.size` instead. 221 func HTTPResponseContentLength(val int) attribute.KeyValue { 222 return HTTPResponseContentLengthKey.Int(val) 223 } 224 225 // These attributes may be used for any network related operation. 226 const ( 227 // NetSockPeerNameKey is the attribute Key conforming to the 228 // "net.sock.peer.name" semantic conventions. It represents the deprecated, 229 // use `server.socket.domain` on client spans. 230 // 231 // Type: string 232 // RequirementLevel: Optional 233 // Stability: deprecated 234 // Examples: '/var/my.sock' 235 NetSockPeerNameKey = attribute.Key("net.sock.peer.name") 236 237 // NetSockPeerAddrKey is the attribute Key conforming to the 238 // "net.sock.peer.addr" semantic conventions. It represents the deprecated, 239 // use `server.socket.address` on client spans and `client.socket.address` 240 // on server spans. 241 // 242 // Type: string 243 // RequirementLevel: Optional 244 // Stability: deprecated 245 // Examples: '192.168.0.1' 246 NetSockPeerAddrKey = attribute.Key("net.sock.peer.addr") 247 248 // NetSockPeerPortKey is the attribute Key conforming to the 249 // "net.sock.peer.port" semantic conventions. It represents the deprecated, 250 // use `server.socket.port` on client spans and `client.socket.port` on 251 // server spans. 252 // 253 // Type: int 254 // RequirementLevel: Optional 255 // Stability: deprecated 256 // Examples: 65531 257 NetSockPeerPortKey = attribute.Key("net.sock.peer.port") 258 259 // NetPeerNameKey is the attribute Key conforming to the "net.peer.name" 260 // semantic conventions. It represents the deprecated, use `server.address` 261 // on client spans and `client.address` on server spans. 262 // 263 // Type: string 264 // RequirementLevel: Optional 265 // Stability: deprecated 266 // Examples: 'example.com' 267 NetPeerNameKey = attribute.Key("net.peer.name") 268 269 // NetPeerPortKey is the attribute Key conforming to the "net.peer.port" 270 // semantic conventions. It represents the deprecated, use `server.port` on 271 // client spans and `client.port` on server spans. 272 // 273 // Type: int 274 // RequirementLevel: Optional 275 // Stability: deprecated 276 // Examples: 8080 277 NetPeerPortKey = attribute.Key("net.peer.port") 278 279 // NetHostNameKey is the attribute Key conforming to the "net.host.name" 280 // semantic conventions. It represents the deprecated, use 281 // `server.address`. 282 // 283 // Type: string 284 // RequirementLevel: Optional 285 // Stability: deprecated 286 // Examples: 'example.com' 287 NetHostNameKey = attribute.Key("net.host.name") 288 289 // NetHostPortKey is the attribute Key conforming to the "net.host.port" 290 // semantic conventions. It represents the deprecated, use `server.port`. 291 // 292 // Type: int 293 // RequirementLevel: Optional 294 // Stability: deprecated 295 // Examples: 8080 296 NetHostPortKey = attribute.Key("net.host.port") 297 298 // NetSockHostAddrKey is the attribute Key conforming to the 299 // "net.sock.host.addr" semantic conventions. It represents the deprecated, 300 // use `server.socket.address`. 301 // 302 // Type: string 303 // RequirementLevel: Optional 304 // Stability: deprecated 305 // Examples: '/var/my.sock' 306 NetSockHostAddrKey = attribute.Key("net.sock.host.addr") 307 308 // NetSockHostPortKey is the attribute Key conforming to the 309 // "net.sock.host.port" semantic conventions. It represents the deprecated, 310 // use `server.socket.port`. 311 // 312 // Type: int 313 // RequirementLevel: Optional 314 // Stability: deprecated 315 // Examples: 8080 316 NetSockHostPortKey = attribute.Key("net.sock.host.port") 317 318 // NetTransportKey is the attribute Key conforming to the "net.transport" 319 // semantic conventions. It represents the deprecated, use 320 // `network.transport`. 321 // 322 // Type: Enum 323 // RequirementLevel: Optional 324 // Stability: deprecated 325 NetTransportKey = attribute.Key("net.transport") 326 327 // NetProtocolNameKey is the attribute Key conforming to the 328 // "net.protocol.name" semantic conventions. It represents the deprecated, 329 // use `network.protocol.name`. 330 // 331 // Type: string 332 // RequirementLevel: Optional 333 // Stability: deprecated 334 // Examples: 'amqp', 'http', 'mqtt' 335 NetProtocolNameKey = attribute.Key("net.protocol.name") 336 337 // NetProtocolVersionKey is the attribute Key conforming to the 338 // "net.protocol.version" semantic conventions. It represents the 339 // deprecated, use `network.protocol.version`. 340 // 341 // Type: string 342 // RequirementLevel: Optional 343 // Stability: deprecated 344 // Examples: '3.1.1' 345 NetProtocolVersionKey = attribute.Key("net.protocol.version") 346 347 // NetSockFamilyKey is the attribute Key conforming to the 348 // "net.sock.family" semantic conventions. It represents the deprecated, 349 // use `network.transport` and `network.type`. 350 // 351 // Type: Enum 352 // RequirementLevel: Optional 353 // Stability: deprecated 354 NetSockFamilyKey = attribute.Key("net.sock.family") 355 ) 356 357 var ( 358 // ip_tcp 359 NetTransportTCP = NetTransportKey.String("ip_tcp") 360 // ip_udp 361 NetTransportUDP = NetTransportKey.String("ip_udp") 362 // Named or anonymous pipe 363 NetTransportPipe = NetTransportKey.String("pipe") 364 // In-process communication 365 NetTransportInProc = NetTransportKey.String("inproc") 366 // Something else (non IP-based) 367 NetTransportOther = NetTransportKey.String("other") 368 ) 369 370 var ( 371 // IPv4 address 372 NetSockFamilyInet = NetSockFamilyKey.String("inet") 373 // IPv6 address 374 NetSockFamilyInet6 = NetSockFamilyKey.String("inet6") 375 // Unix domain socket path 376 NetSockFamilyUnix = NetSockFamilyKey.String("unix") 377 ) 378 379 // NetSockPeerName returns an attribute KeyValue conforming to the 380 // "net.sock.peer.name" semantic conventions. It represents the deprecated, use 381 // `server.socket.domain` on client spans. 382 func NetSockPeerName(val string) attribute.KeyValue { 383 return NetSockPeerNameKey.String(val) 384 } 385 386 // NetSockPeerAddr returns an attribute KeyValue conforming to the 387 // "net.sock.peer.addr" semantic conventions. It represents the deprecated, use 388 // `server.socket.address` on client spans and `client.socket.address` on 389 // server spans. 390 func NetSockPeerAddr(val string) attribute.KeyValue { 391 return NetSockPeerAddrKey.String(val) 392 } 393 394 // NetSockPeerPort returns an attribute KeyValue conforming to the 395 // "net.sock.peer.port" semantic conventions. It represents the deprecated, use 396 // `server.socket.port` on client spans and `client.socket.port` on server 397 // spans. 398 func NetSockPeerPort(val int) attribute.KeyValue { 399 return NetSockPeerPortKey.Int(val) 400 } 401 402 // NetPeerName returns an attribute KeyValue conforming to the 403 // "net.peer.name" semantic conventions. It represents the deprecated, use 404 // `server.address` on client spans and `client.address` on server spans. 405 func NetPeerName(val string) attribute.KeyValue { 406 return NetPeerNameKey.String(val) 407 } 408 409 // NetPeerPort returns an attribute KeyValue conforming to the 410 // "net.peer.port" semantic conventions. It represents the deprecated, use 411 // `server.port` on client spans and `client.port` on server spans. 412 func NetPeerPort(val int) attribute.KeyValue { 413 return NetPeerPortKey.Int(val) 414 } 415 416 // NetHostName returns an attribute KeyValue conforming to the 417 // "net.host.name" semantic conventions. It represents the deprecated, use 418 // `server.address`. 419 func NetHostName(val string) attribute.KeyValue { 420 return NetHostNameKey.String(val) 421 } 422 423 // NetHostPort returns an attribute KeyValue conforming to the 424 // "net.host.port" semantic conventions. It represents the deprecated, use 425 // `server.port`. 426 func NetHostPort(val int) attribute.KeyValue { 427 return NetHostPortKey.Int(val) 428 } 429 430 // NetSockHostAddr returns an attribute KeyValue conforming to the 431 // "net.sock.host.addr" semantic conventions. It represents the deprecated, use 432 // `server.socket.address`. 433 func NetSockHostAddr(val string) attribute.KeyValue { 434 return NetSockHostAddrKey.String(val) 435 } 436 437 // NetSockHostPort returns an attribute KeyValue conforming to the 438 // "net.sock.host.port" semantic conventions. It represents the deprecated, use 439 // `server.socket.port`. 440 func NetSockHostPort(val int) attribute.KeyValue { 441 return NetSockHostPortKey.Int(val) 442 } 443 444 // NetProtocolName returns an attribute KeyValue conforming to the 445 // "net.protocol.name" semantic conventions. It represents the deprecated, use 446 // `network.protocol.name`. 447 func NetProtocolName(val string) attribute.KeyValue { 448 return NetProtocolNameKey.String(val) 449 } 450 451 // NetProtocolVersion returns an attribute KeyValue conforming to the 452 // "net.protocol.version" semantic conventions. It represents the deprecated, 453 // use `network.protocol.version`. 454 func NetProtocolVersion(val string) attribute.KeyValue { 455 return NetProtocolVersionKey.String(val) 456 } 457 458 // These attributes may be used to describe the receiver of a network 459 // exchange/packet. These should be used when there is no client/server 460 // relationship between the two sides, or when that relationship is unknown. 461 // This covers low-level network interactions (e.g. packet tracing) where you 462 // don't know if there was a connection or which side initiated it. This also 463 // covers unidirectional UDP flows and peer-to-peer communication where the 464 // "user-facing" surface of the protocol / API does not expose a clear notion 465 // of client and server. 466 const ( 467 // DestinationDomainKey is the attribute Key conforming to the 468 // "destination.domain" semantic conventions. It represents the domain name 469 // of the destination system. 470 // 471 // Type: string 472 // RequirementLevel: Optional 473 // Stability: stable 474 // Examples: 'foo.example.com' 475 // Note: This value may be a host name, a fully qualified domain name, or 476 // another host naming format. 477 DestinationDomainKey = attribute.Key("destination.domain") 478 479 // DestinationAddressKey is the attribute Key conforming to the 480 // "destination.address" semantic conventions. It represents the peer 481 // address, for example IP address or UNIX socket name. 482 // 483 // Type: string 484 // RequirementLevel: Optional 485 // Stability: stable 486 // Examples: '10.5.3.2' 487 DestinationAddressKey = attribute.Key("destination.address") 488 489 // DestinationPortKey is the attribute Key conforming to the 490 // "destination.port" semantic conventions. It represents the peer port 491 // number 492 // 493 // Type: int 494 // RequirementLevel: Optional 495 // Stability: stable 496 // Examples: 3389, 2888 497 DestinationPortKey = attribute.Key("destination.port") 498 ) 499 500 // DestinationDomain returns an attribute KeyValue conforming to the 501 // "destination.domain" semantic conventions. It represents the domain name of 502 // the destination system. 503 func DestinationDomain(val string) attribute.KeyValue { 504 return DestinationDomainKey.String(val) 505 } 506 507 // DestinationAddress returns an attribute KeyValue conforming to the 508 // "destination.address" semantic conventions. It represents the peer address, 509 // for example IP address or UNIX socket name. 510 func DestinationAddress(val string) attribute.KeyValue { 511 return DestinationAddressKey.String(val) 512 } 513 514 // DestinationPort returns an attribute KeyValue conforming to the 515 // "destination.port" semantic conventions. It represents the peer port number 516 func DestinationPort(val int) attribute.KeyValue { 517 return DestinationPortKey.Int(val) 518 } 519 520 // Describes HTTP attributes. 521 const ( 522 // HTTPRequestMethodKey is the attribute Key conforming to the 523 // "http.request.method" semantic conventions. It represents the hTTP 524 // request method. 525 // 526 // Type: Enum 527 // RequirementLevel: Required 528 // Stability: stable 529 // Examples: 'GET', 'POST', 'HEAD' 530 // Note: HTTP request method value SHOULD be "known" to the 531 // instrumentation. 532 // By default, this convention defines "known" methods as the ones listed 533 // in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods) 534 // and the PATCH method defined in 535 // [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html). 536 // 537 // If the HTTP request method is not known to instrumentation, it MUST set 538 // the `http.request.method` attribute to `_OTHER` and, except if reporting 539 // a metric, MUST 540 // set the exact method received in the request line as value of the 541 // `http.request.method_original` attribute. 542 // 543 // If the HTTP instrumentation could end up converting valid HTTP request 544 // methods to `_OTHER`, then it MUST provide a way to override 545 // the list of known HTTP methods. If this override is done via environment 546 // variable, then the environment variable MUST be named 547 // OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated 548 // list of case-sensitive known HTTP methods 549 // (this list MUST be a full override of the default known method, it is 550 // not a list of known methods in addition to the defaults). 551 // 552 // HTTP method names are case-sensitive and `http.request.method` attribute 553 // value MUST match a known HTTP method name exactly. 554 // Instrumentations for specific web frameworks that consider HTTP methods 555 // to be case insensitive, SHOULD populate a canonical equivalent. 556 // Tracing instrumentations that do so, MUST also set 557 // `http.request.method_original` to the original value. 558 HTTPRequestMethodKey = attribute.Key("http.request.method") 559 560 // HTTPResponseStatusCodeKey is the attribute Key conforming to the 561 // "http.response.status_code" semantic conventions. It represents the 562 // [HTTP response status 563 // code](https://tools.ietf.org/html/rfc7231#section-6). 564 // 565 // Type: int 566 // RequirementLevel: ConditionallyRequired (If and only if one was 567 // received/sent.) 568 // Stability: stable 569 // Examples: 200 570 HTTPResponseStatusCodeKey = attribute.Key("http.response.status_code") 571 ) 572 573 var ( 574 // CONNECT method 575 HTTPRequestMethodConnect = HTTPRequestMethodKey.String("CONNECT") 576 // DELETE method 577 HTTPRequestMethodDelete = HTTPRequestMethodKey.String("DELETE") 578 // GET method 579 HTTPRequestMethodGet = HTTPRequestMethodKey.String("GET") 580 // HEAD method 581 HTTPRequestMethodHead = HTTPRequestMethodKey.String("HEAD") 582 // OPTIONS method 583 HTTPRequestMethodOptions = HTTPRequestMethodKey.String("OPTIONS") 584 // PATCH method 585 HTTPRequestMethodPatch = HTTPRequestMethodKey.String("PATCH") 586 // POST method 587 HTTPRequestMethodPost = HTTPRequestMethodKey.String("POST") 588 // PUT method 589 HTTPRequestMethodPut = HTTPRequestMethodKey.String("PUT") 590 // TRACE method 591 HTTPRequestMethodTrace = HTTPRequestMethodKey.String("TRACE") 592 // Any HTTP method that the instrumentation has no prior knowledge of 593 HTTPRequestMethodOther = HTTPRequestMethodKey.String("_OTHER") 594 ) 595 596 // HTTPResponseStatusCode returns an attribute KeyValue conforming to the 597 // "http.response.status_code" semantic conventions. It represents the [HTTP 598 // response status code](https://tools.ietf.org/html/rfc7231#section-6). 599 func HTTPResponseStatusCode(val int) attribute.KeyValue { 600 return HTTPResponseStatusCodeKey.Int(val) 601 } 602 603 // HTTP Server attributes 604 const ( 605 // HTTPRouteKey is the attribute Key conforming to the "http.route" 606 // semantic conventions. It represents the matched route (path template in 607 // the format used by the respective server framework). See note below 608 // 609 // Type: string 610 // RequirementLevel: ConditionallyRequired (If and only if it's available) 611 // Stability: stable 612 // Examples: '/users/:userID?', '{controller}/{action}/{id?}' 613 // Note: MUST NOT be populated when this is not supported by the HTTP 614 // server framework as the route attribute should have low-cardinality and 615 // the URI path can NOT substitute it. 616 // SHOULD include the [application 617 // root](/docs/http/http-spans.md#http-server-definitions) if there is one. 618 HTTPRouteKey = attribute.Key("http.route") 619 ) 620 621 // HTTPRoute returns an attribute KeyValue conforming to the "http.route" 622 // semantic conventions. It represents the matched route (path template in the 623 // format used by the respective server framework). See note below 624 func HTTPRoute(val string) attribute.KeyValue { 625 return HTTPRouteKey.String(val) 626 } 627 628 // Attributes for Events represented using Log Records. 629 const ( 630 // EventNameKey is the attribute Key conforming to the "event.name" 631 // semantic conventions. It represents the name identifies the event. 632 // 633 // Type: string 634 // RequirementLevel: Required 635 // Stability: stable 636 // Examples: 'click', 'exception' 637 EventNameKey = attribute.Key("event.name") 638 639 // EventDomainKey is the attribute Key conforming to the "event.domain" 640 // semantic conventions. It represents the domain identifies the business 641 // context for the events. 642 // 643 // Type: Enum 644 // RequirementLevel: Required 645 // Stability: stable 646 // Note: Events across different domains may have same `event.name`, yet be 647 // unrelated events. 648 EventDomainKey = attribute.Key("event.domain") 649 ) 650 651 var ( 652 // Events from browser apps 653 EventDomainBrowser = EventDomainKey.String("browser") 654 // Events from mobile apps 655 EventDomainDevice = EventDomainKey.String("device") 656 // Events from Kubernetes 657 EventDomainK8S = EventDomainKey.String("k8s") 658 ) 659 660 // EventName returns an attribute KeyValue conforming to the "event.name" 661 // semantic conventions. It represents the name identifies the event. 662 func EventName(val string) attribute.KeyValue { 663 return EventNameKey.String(val) 664 } 665 666 // The attributes described in this section are rather generic. They may be 667 // used in any Log Record they apply to. 668 const ( 669 // LogRecordUIDKey is the attribute Key conforming to the "log.record.uid" 670 // semantic conventions. It represents a unique identifier for the Log 671 // Record. 672 // 673 // Type: string 674 // RequirementLevel: Optional 675 // Stability: stable 676 // Examples: '01ARZ3NDEKTSV4RRFFQ69G5FAV' 677 // Note: If an id is provided, other log records with the same id will be 678 // considered duplicates and can be removed safely. This means, that two 679 // distinguishable log records MUST have different values. 680 // The id MAY be an [Universally Unique Lexicographically Sortable 681 // Identifier (ULID)](https://github.com/ulid/spec), but other identifiers 682 // (e.g. UUID) may be used as needed. 683 LogRecordUIDKey = attribute.Key("log.record.uid") 684 ) 685 686 // LogRecordUID returns an attribute KeyValue conforming to the 687 // "log.record.uid" semantic conventions. It represents a unique identifier for 688 // the Log Record. 689 func LogRecordUID(val string) attribute.KeyValue { 690 return LogRecordUIDKey.String(val) 691 } 692 693 // Describes Log attributes 694 const ( 695 // LogIostreamKey is the attribute Key conforming to the "log.iostream" 696 // semantic conventions. It represents the stream associated with the log. 697 // See below for a list of well-known values. 698 // 699 // Type: Enum 700 // RequirementLevel: Optional 701 // Stability: stable 702 LogIostreamKey = attribute.Key("log.iostream") 703 ) 704 705 var ( 706 // Logs from stdout stream 707 LogIostreamStdout = LogIostreamKey.String("stdout") 708 // Events from stderr stream 709 LogIostreamStderr = LogIostreamKey.String("stderr") 710 ) 711 712 // A file to which log was emitted. 713 const ( 714 // LogFileNameKey is the attribute Key conforming to the "log.file.name" 715 // semantic conventions. It represents the basename of the file. 716 // 717 // Type: string 718 // RequirementLevel: Recommended 719 // Stability: stable 720 // Examples: 'audit.log' 721 LogFileNameKey = attribute.Key("log.file.name") 722 723 // LogFilePathKey is the attribute Key conforming to the "log.file.path" 724 // semantic conventions. It represents the full path to the file. 725 // 726 // Type: string 727 // RequirementLevel: Optional 728 // Stability: stable 729 // Examples: '/var/log/mysql/audit.log' 730 LogFilePathKey = attribute.Key("log.file.path") 731 732 // LogFileNameResolvedKey is the attribute Key conforming to the 733 // "log.file.name_resolved" semantic conventions. It represents the 734 // basename of the file, with symlinks resolved. 735 // 736 // Type: string 737 // RequirementLevel: Optional 738 // Stability: stable 739 // Examples: 'uuid.log' 740 LogFileNameResolvedKey = attribute.Key("log.file.name_resolved") 741 742 // LogFilePathResolvedKey is the attribute Key conforming to the 743 // "log.file.path_resolved" semantic conventions. It represents the full 744 // path to the file, with symlinks resolved. 745 // 746 // Type: string 747 // RequirementLevel: Optional 748 // Stability: stable 749 // Examples: '/var/lib/docker/uuid.log' 750 LogFilePathResolvedKey = attribute.Key("log.file.path_resolved") 751 ) 752 753 // LogFileName returns an attribute KeyValue conforming to the 754 // "log.file.name" semantic conventions. It represents the basename of the 755 // file. 756 func LogFileName(val string) attribute.KeyValue { 757 return LogFileNameKey.String(val) 758 } 759 760 // LogFilePath returns an attribute KeyValue conforming to the 761 // "log.file.path" semantic conventions. It represents the full path to the 762 // file. 763 func LogFilePath(val string) attribute.KeyValue { 764 return LogFilePathKey.String(val) 765 } 766 767 // LogFileNameResolved returns an attribute KeyValue conforming to the 768 // "log.file.name_resolved" semantic conventions. It represents the basename of 769 // the file, with symlinks resolved. 770 func LogFileNameResolved(val string) attribute.KeyValue { 771 return LogFileNameResolvedKey.String(val) 772 } 773 774 // LogFilePathResolved returns an attribute KeyValue conforming to the 775 // "log.file.path_resolved" semantic conventions. It represents the full path 776 // to the file, with symlinks resolved. 777 func LogFilePathResolved(val string) attribute.KeyValue { 778 return LogFilePathResolvedKey.String(val) 779 } 780 781 // Describes JVM memory metric attributes. 782 const ( 783 // TypeKey is the attribute Key conforming to the "type" semantic 784 // conventions. It represents the type of memory. 785 // 786 // Type: Enum 787 // RequirementLevel: Recommended 788 // Stability: stable 789 // Examples: 'heap', 'non_heap' 790 TypeKey = attribute.Key("type") 791 792 // PoolKey is the attribute Key conforming to the "pool" semantic 793 // conventions. It represents the name of the memory pool. 794 // 795 // Type: string 796 // RequirementLevel: Recommended 797 // Stability: stable 798 // Examples: 'G1 Old Gen', 'G1 Eden space', 'G1 Survivor Space' 799 // Note: Pool names are generally obtained via 800 // [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()). 801 PoolKey = attribute.Key("pool") 802 ) 803 804 var ( 805 // Heap memory 806 TypeHeap = TypeKey.String("heap") 807 // Non-heap memory 808 TypeNonHeap = TypeKey.String("non_heap") 809 ) 810 811 // Pool returns an attribute KeyValue conforming to the "pool" semantic 812 // conventions. It represents the name of the memory pool. 813 func Pool(val string) attribute.KeyValue { 814 return PoolKey.String(val) 815 } 816 817 // These attributes may be used to describe the server in a connection-based 818 // network interaction where there is one side that initiates the connection 819 // (the client is the side that initiates the connection). This covers all TCP 820 // network interactions since TCP is connection-based and one side initiates 821 // the connection (an exception is made for peer-to-peer communication over TCP 822 // where the "user-facing" surface of the protocol / API does not expose a 823 // clear notion of client and server). This also covers UDP network 824 // interactions where one side initiates the interaction, e.g. QUIC (HTTP/3) 825 // and DNS. 826 const ( 827 // ServerAddressKey is the attribute Key conforming to the "server.address" 828 // semantic conventions. It represents the logical server hostname, matches 829 // server FQDN if available, and IP or socket address if FQDN is not known. 830 // 831 // Type: string 832 // RequirementLevel: Optional 833 // Stability: stable 834 // Examples: 'example.com' 835 ServerAddressKey = attribute.Key("server.address") 836 837 // ServerPortKey is the attribute Key conforming to the "server.port" 838 // semantic conventions. It represents the logical server port number 839 // 840 // Type: int 841 // RequirementLevel: Optional 842 // Stability: stable 843 // Examples: 80, 8080, 443 844 ServerPortKey = attribute.Key("server.port") 845 846 // ServerSocketDomainKey is the attribute Key conforming to the 847 // "server.socket.domain" semantic conventions. It represents the domain 848 // name of an immediate peer. 849 // 850 // Type: string 851 // RequirementLevel: Recommended (If different than `server.address`.) 852 // Stability: stable 853 // Examples: 'proxy.example.com' 854 // Note: Typically observed from the client side, and represents a proxy or 855 // other intermediary domain name. 856 ServerSocketDomainKey = attribute.Key("server.socket.domain") 857 858 // ServerSocketAddressKey is the attribute Key conforming to the 859 // "server.socket.address" semantic conventions. It represents the physical 860 // server IP address or Unix socket address. If set from the client, should 861 // simply use the socket's peer address, and not attempt to find any actual 862 // server IP (i.e., if set from client, this may represent some proxy 863 // server instead of the logical server). 864 // 865 // Type: string 866 // RequirementLevel: Recommended (If different than `server.address`.) 867 // Stability: stable 868 // Examples: '10.5.3.2' 869 ServerSocketAddressKey = attribute.Key("server.socket.address") 870 871 // ServerSocketPortKey is the attribute Key conforming to the 872 // "server.socket.port" semantic conventions. It represents the physical 873 // server port. 874 // 875 // Type: int 876 // RequirementLevel: Recommended (If different than `server.port`.) 877 // Stability: stable 878 // Examples: 16456 879 ServerSocketPortKey = attribute.Key("server.socket.port") 880 ) 881 882 // ServerAddress returns an attribute KeyValue conforming to the 883 // "server.address" semantic conventions. It represents the logical server 884 // hostname, matches server FQDN if available, and IP or socket address if FQDN 885 // is not known. 886 func ServerAddress(val string) attribute.KeyValue { 887 return ServerAddressKey.String(val) 888 } 889 890 // ServerPort returns an attribute KeyValue conforming to the "server.port" 891 // semantic conventions. It represents the logical server port number 892 func ServerPort(val int) attribute.KeyValue { 893 return ServerPortKey.Int(val) 894 } 895 896 // ServerSocketDomain returns an attribute KeyValue conforming to the 897 // "server.socket.domain" semantic conventions. It represents the domain name 898 // of an immediate peer. 899 func ServerSocketDomain(val string) attribute.KeyValue { 900 return ServerSocketDomainKey.String(val) 901 } 902 903 // ServerSocketAddress returns an attribute KeyValue conforming to the 904 // "server.socket.address" semantic conventions. It represents the physical 905 // server IP address or Unix socket address. If set from the client, should 906 // simply use the socket's peer address, and not attempt to find any actual 907 // server IP (i.e., if set from client, this may represent some proxy server 908 // instead of the logical server). 909 func ServerSocketAddress(val string) attribute.KeyValue { 910 return ServerSocketAddressKey.String(val) 911 } 912 913 // ServerSocketPort returns an attribute KeyValue conforming to the 914 // "server.socket.port" semantic conventions. It represents the physical server 915 // port. 916 func ServerSocketPort(val int) attribute.KeyValue { 917 return ServerSocketPortKey.Int(val) 918 } 919 920 // These attributes may be used to describe the sender of a network 921 // exchange/packet. These should be used when there is no client/server 922 // relationship between the two sides, or when that relationship is unknown. 923 // This covers low-level network interactions (e.g. packet tracing) where you 924 // don't know if there was a connection or which side initiated it. This also 925 // covers unidirectional UDP flows and peer-to-peer communication where the 926 // "user-facing" surface of the protocol / API does not expose a clear notion 927 // of client and server. 928 const ( 929 // SourceDomainKey is the attribute Key conforming to the "source.domain" 930 // semantic conventions. It represents the domain name of the source 931 // system. 932 // 933 // Type: string 934 // RequirementLevel: Optional 935 // Stability: stable 936 // Examples: 'foo.example.com' 937 // Note: This value may be a host name, a fully qualified domain name, or 938 // another host naming format. 939 SourceDomainKey = attribute.Key("source.domain") 940 941 // SourceAddressKey is the attribute Key conforming to the "source.address" 942 // semantic conventions. It represents the source address, for example IP 943 // address or Unix socket name. 944 // 945 // Type: string 946 // RequirementLevel: Optional 947 // Stability: stable 948 // Examples: '10.5.3.2' 949 SourceAddressKey = attribute.Key("source.address") 950 951 // SourcePortKey is the attribute Key conforming to the "source.port" 952 // semantic conventions. It represents the source port number 953 // 954 // Type: int 955 // RequirementLevel: Optional 956 // Stability: stable 957 // Examples: 3389, 2888 958 SourcePortKey = attribute.Key("source.port") 959 ) 960 961 // SourceDomain returns an attribute KeyValue conforming to the 962 // "source.domain" semantic conventions. It represents the domain name of the 963 // source system. 964 func SourceDomain(val string) attribute.KeyValue { 965 return SourceDomainKey.String(val) 966 } 967 968 // SourceAddress returns an attribute KeyValue conforming to the 969 // "source.address" semantic conventions. It represents the source address, for 970 // example IP address or Unix socket name. 971 func SourceAddress(val string) attribute.KeyValue { 972 return SourceAddressKey.String(val) 973 } 974 975 // SourcePort returns an attribute KeyValue conforming to the "source.port" 976 // semantic conventions. It represents the source port number 977 func SourcePort(val int) attribute.KeyValue { 978 return SourcePortKey.Int(val) 979 } 980 981 // These attributes may be used for any network related operation. 982 const ( 983 // NetworkTransportKey is the attribute Key conforming to the 984 // "network.transport" semantic conventions. It represents the [OSI 985 // Transport Layer](https://osi-model.com/transport-layer/) or 986 // [Inter-process Communication 987 // method](https://en.wikipedia.org/wiki/Inter-process_communication). The 988 // value SHOULD be normalized to lowercase. 989 // 990 // Type: Enum 991 // RequirementLevel: Optional 992 // Stability: stable 993 // Examples: 'tcp', 'udp' 994 NetworkTransportKey = attribute.Key("network.transport") 995 996 // NetworkTypeKey is the attribute Key conforming to the "network.type" 997 // semantic conventions. It represents the [OSI Network 998 // Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The 999 // value SHOULD be normalized to lowercase. 1000 // 1001 // Type: Enum 1002 // RequirementLevel: Optional 1003 // Stability: stable 1004 // Examples: 'ipv4', 'ipv6' 1005 NetworkTypeKey = attribute.Key("network.type") 1006 1007 // NetworkProtocolNameKey is the attribute Key conforming to the 1008 // "network.protocol.name" semantic conventions. It represents the [OSI 1009 // Application Layer](https://osi-model.com/application-layer/) or non-OSI 1010 // equivalent. The value SHOULD be normalized to lowercase. 1011 // 1012 // Type: string 1013 // RequirementLevel: Optional 1014 // Stability: stable 1015 // Examples: 'amqp', 'http', 'mqtt' 1016 NetworkProtocolNameKey = attribute.Key("network.protocol.name") 1017 1018 // NetworkProtocolVersionKey is the attribute Key conforming to the 1019 // "network.protocol.version" semantic conventions. It represents the 1020 // version of the application layer protocol used. See note below. 1021 // 1022 // Type: string 1023 // RequirementLevel: Optional 1024 // Stability: stable 1025 // Examples: '3.1.1' 1026 // Note: `network.protocol.version` refers to the version of the protocol 1027 // used and might be different from the protocol client's version. If the 1028 // HTTP client used has a version of `0.27.2`, but sends HTTP version 1029 // `1.1`, this attribute should be set to `1.1`. 1030 NetworkProtocolVersionKey = attribute.Key("network.protocol.version") 1031 ) 1032 1033 var ( 1034 // TCP 1035 NetworkTransportTCP = NetworkTransportKey.String("tcp") 1036 // UDP 1037 NetworkTransportUDP = NetworkTransportKey.String("udp") 1038 // Named or anonymous pipe. See note below 1039 NetworkTransportPipe = NetworkTransportKey.String("pipe") 1040 // Unix domain socket 1041 NetworkTransportUnix = NetworkTransportKey.String("unix") 1042 ) 1043 1044 var ( 1045 // IPv4 1046 NetworkTypeIpv4 = NetworkTypeKey.String("ipv4") 1047 // IPv6 1048 NetworkTypeIpv6 = NetworkTypeKey.String("ipv6") 1049 ) 1050 1051 // NetworkProtocolName returns an attribute KeyValue conforming to the 1052 // "network.protocol.name" semantic conventions. It represents the [OSI 1053 // Application Layer](https://osi-model.com/application-layer/) or non-OSI 1054 // equivalent. The value SHOULD be normalized to lowercase. 1055 func NetworkProtocolName(val string) attribute.KeyValue { 1056 return NetworkProtocolNameKey.String(val) 1057 } 1058 1059 // NetworkProtocolVersion returns an attribute KeyValue conforming to the 1060 // "network.protocol.version" semantic conventions. It represents the version 1061 // of the application layer protocol used. See note below. 1062 func NetworkProtocolVersion(val string) attribute.KeyValue { 1063 return NetworkProtocolVersionKey.String(val) 1064 } 1065 1066 // These attributes may be used for any network related operation. 1067 const ( 1068 // NetworkConnectionTypeKey is the attribute Key conforming to the 1069 // "network.connection.type" semantic conventions. It represents the 1070 // internet connection type. 1071 // 1072 // Type: Enum 1073 // RequirementLevel: Optional 1074 // Stability: stable 1075 // Examples: 'wifi' 1076 NetworkConnectionTypeKey = attribute.Key("network.connection.type") 1077 1078 // NetworkConnectionSubtypeKey is the attribute Key conforming to the 1079 // "network.connection.subtype" semantic conventions. It represents the 1080 // this describes more details regarding the connection.type. It may be the 1081 // type of cell technology connection, but it could be used for describing 1082 // details about a wifi connection. 1083 // 1084 // Type: Enum 1085 // RequirementLevel: Optional 1086 // Stability: stable 1087 // Examples: 'LTE' 1088 NetworkConnectionSubtypeKey = attribute.Key("network.connection.subtype") 1089 1090 // NetworkCarrierNameKey is the attribute Key conforming to the 1091 // "network.carrier.name" semantic conventions. It represents the name of 1092 // the mobile carrier. 1093 // 1094 // Type: string 1095 // RequirementLevel: Optional 1096 // Stability: stable 1097 // Examples: 'sprint' 1098 NetworkCarrierNameKey = attribute.Key("network.carrier.name") 1099 1100 // NetworkCarrierMccKey is the attribute Key conforming to the 1101 // "network.carrier.mcc" semantic conventions. It represents the mobile 1102 // carrier country code. 1103 // 1104 // Type: string 1105 // RequirementLevel: Optional 1106 // Stability: stable 1107 // Examples: '310' 1108 NetworkCarrierMccKey = attribute.Key("network.carrier.mcc") 1109 1110 // NetworkCarrierMncKey is the attribute Key conforming to the 1111 // "network.carrier.mnc" semantic conventions. It represents the mobile 1112 // carrier network code. 1113 // 1114 // Type: string 1115 // RequirementLevel: Optional 1116 // Stability: stable 1117 // Examples: '001' 1118 NetworkCarrierMncKey = attribute.Key("network.carrier.mnc") 1119 1120 // NetworkCarrierIccKey is the attribute Key conforming to the 1121 // "network.carrier.icc" semantic conventions. It represents the ISO 3166-1 1122 // alpha-2 2-character country code associated with the mobile carrier 1123 // network. 1124 // 1125 // Type: string 1126 // RequirementLevel: Optional 1127 // Stability: stable 1128 // Examples: 'DE' 1129 NetworkCarrierIccKey = attribute.Key("network.carrier.icc") 1130 ) 1131 1132 var ( 1133 // wifi 1134 NetworkConnectionTypeWifi = NetworkConnectionTypeKey.String("wifi") 1135 // wired 1136 NetworkConnectionTypeWired = NetworkConnectionTypeKey.String("wired") 1137 // cell 1138 NetworkConnectionTypeCell = NetworkConnectionTypeKey.String("cell") 1139 // unavailable 1140 NetworkConnectionTypeUnavailable = NetworkConnectionTypeKey.String("unavailable") 1141 // unknown 1142 NetworkConnectionTypeUnknown = NetworkConnectionTypeKey.String("unknown") 1143 ) 1144 1145 var ( 1146 // GPRS 1147 NetworkConnectionSubtypeGprs = NetworkConnectionSubtypeKey.String("gprs") 1148 // EDGE 1149 NetworkConnectionSubtypeEdge = NetworkConnectionSubtypeKey.String("edge") 1150 // UMTS 1151 NetworkConnectionSubtypeUmts = NetworkConnectionSubtypeKey.String("umts") 1152 // CDMA 1153 NetworkConnectionSubtypeCdma = NetworkConnectionSubtypeKey.String("cdma") 1154 // EVDO Rel. 0 1155 NetworkConnectionSubtypeEvdo0 = NetworkConnectionSubtypeKey.String("evdo_0") 1156 // EVDO Rev. A 1157 NetworkConnectionSubtypeEvdoA = NetworkConnectionSubtypeKey.String("evdo_a") 1158 // CDMA2000 1XRTT 1159 NetworkConnectionSubtypeCdma20001xrtt = NetworkConnectionSubtypeKey.String("cdma2000_1xrtt") 1160 // HSDPA 1161 NetworkConnectionSubtypeHsdpa = NetworkConnectionSubtypeKey.String("hsdpa") 1162 // HSUPA 1163 NetworkConnectionSubtypeHsupa = NetworkConnectionSubtypeKey.String("hsupa") 1164 // HSPA 1165 NetworkConnectionSubtypeHspa = NetworkConnectionSubtypeKey.String("hspa") 1166 // IDEN 1167 NetworkConnectionSubtypeIden = NetworkConnectionSubtypeKey.String("iden") 1168 // EVDO Rev. B 1169 NetworkConnectionSubtypeEvdoB = NetworkConnectionSubtypeKey.String("evdo_b") 1170 // LTE 1171 NetworkConnectionSubtypeLte = NetworkConnectionSubtypeKey.String("lte") 1172 // EHRPD 1173 NetworkConnectionSubtypeEhrpd = NetworkConnectionSubtypeKey.String("ehrpd") 1174 // HSPAP 1175 NetworkConnectionSubtypeHspap = NetworkConnectionSubtypeKey.String("hspap") 1176 // GSM 1177 NetworkConnectionSubtypeGsm = NetworkConnectionSubtypeKey.String("gsm") 1178 // TD-SCDMA 1179 NetworkConnectionSubtypeTdScdma = NetworkConnectionSubtypeKey.String("td_scdma") 1180 // IWLAN 1181 NetworkConnectionSubtypeIwlan = NetworkConnectionSubtypeKey.String("iwlan") 1182 // 5G NR (New Radio) 1183 NetworkConnectionSubtypeNr = NetworkConnectionSubtypeKey.String("nr") 1184 // 5G NRNSA (New Radio Non-Standalone) 1185 NetworkConnectionSubtypeNrnsa = NetworkConnectionSubtypeKey.String("nrnsa") 1186 // LTE CA 1187 NetworkConnectionSubtypeLteCa = NetworkConnectionSubtypeKey.String("lte_ca") 1188 ) 1189 1190 // NetworkCarrierName returns an attribute KeyValue conforming to the 1191 // "network.carrier.name" semantic conventions. It represents the name of the 1192 // mobile carrier. 1193 func NetworkCarrierName(val string) attribute.KeyValue { 1194 return NetworkCarrierNameKey.String(val) 1195 } 1196 1197 // NetworkCarrierMcc returns an attribute KeyValue conforming to the 1198 // "network.carrier.mcc" semantic conventions. It represents the mobile carrier 1199 // country code. 1200 func NetworkCarrierMcc(val string) attribute.KeyValue { 1201 return NetworkCarrierMccKey.String(val) 1202 } 1203 1204 // NetworkCarrierMnc returns an attribute KeyValue conforming to the 1205 // "network.carrier.mnc" semantic conventions. It represents the mobile carrier 1206 // network code. 1207 func NetworkCarrierMnc(val string) attribute.KeyValue { 1208 return NetworkCarrierMncKey.String(val) 1209 } 1210 1211 // NetworkCarrierIcc returns an attribute KeyValue conforming to the 1212 // "network.carrier.icc" semantic conventions. It represents the ISO 3166-1 1213 // alpha-2 2-character country code associated with the mobile carrier network. 1214 func NetworkCarrierIcc(val string) attribute.KeyValue { 1215 return NetworkCarrierIccKey.String(val) 1216 } 1217 1218 // Semantic conventions for HTTP client and server Spans. 1219 const ( 1220 // HTTPRequestMethodOriginalKey is the attribute Key conforming to the 1221 // "http.request.method_original" semantic conventions. It represents the 1222 // original HTTP method sent by the client in the request line. 1223 // 1224 // Type: string 1225 // RequirementLevel: ConditionallyRequired (If and only if it's different 1226 // than `http.request.method`.) 1227 // Stability: stable 1228 // Examples: 'GeT', 'ACL', 'foo' 1229 HTTPRequestMethodOriginalKey = attribute.Key("http.request.method_original") 1230 1231 // HTTPRequestBodySizeKey is the attribute Key conforming to the 1232 // "http.request.body.size" semantic conventions. It represents the size of 1233 // the request payload body in bytes. This is the number of bytes 1234 // transferred excluding headers and is often, but not always, present as 1235 // the 1236 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) 1237 // header. For requests using transport encoding, this should be the 1238 // compressed size. 1239 // 1240 // Type: int 1241 // RequirementLevel: Optional 1242 // Stability: stable 1243 // Examples: 3495 1244 HTTPRequestBodySizeKey = attribute.Key("http.request.body.size") 1245 1246 // HTTPResponseBodySizeKey is the attribute Key conforming to the 1247 // "http.response.body.size" semantic conventions. It represents the size 1248 // of the response payload body in bytes. This is the number of bytes 1249 // transferred excluding headers and is often, but not always, present as 1250 // the 1251 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) 1252 // header. For requests using transport encoding, this should be the 1253 // compressed size. 1254 // 1255 // Type: int 1256 // RequirementLevel: Optional 1257 // Stability: stable 1258 // Examples: 3495 1259 HTTPResponseBodySizeKey = attribute.Key("http.response.body.size") 1260 ) 1261 1262 // HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the 1263 // "http.request.method_original" semantic conventions. It represents the 1264 // original HTTP method sent by the client in the request line. 1265 func HTTPRequestMethodOriginal(val string) attribute.KeyValue { 1266 return HTTPRequestMethodOriginalKey.String(val) 1267 } 1268 1269 // HTTPRequestBodySize returns an attribute KeyValue conforming to the 1270 // "http.request.body.size" semantic conventions. It represents the size of the 1271 // request payload body in bytes. This is the number of bytes transferred 1272 // excluding headers and is often, but not always, present as the 1273 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) 1274 // header. For requests using transport encoding, this should be the compressed 1275 // size. 1276 func HTTPRequestBodySize(val int) attribute.KeyValue { 1277 return HTTPRequestBodySizeKey.Int(val) 1278 } 1279 1280 // HTTPResponseBodySize returns an attribute KeyValue conforming to the 1281 // "http.response.body.size" semantic conventions. It represents the size of 1282 // the response payload body in bytes. This is the number of bytes transferred 1283 // excluding headers and is often, but not always, present as the 1284 // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) 1285 // header. For requests using transport encoding, this should be the compressed 1286 // size. 1287 func HTTPResponseBodySize(val int) attribute.KeyValue { 1288 return HTTPResponseBodySizeKey.Int(val) 1289 } 1290 1291 // Semantic convention describing per-message attributes populated on messaging 1292 // spans or links. 1293 const ( 1294 // MessagingMessageIDKey is the attribute Key conforming to the 1295 // "messaging.message.id" semantic conventions. It represents a value used 1296 // by the messaging system as an identifier for the message, represented as 1297 // a string. 1298 // 1299 // Type: string 1300 // RequirementLevel: Optional 1301 // Stability: stable 1302 // Examples: '452a7c7c7c7048c2f887f61572b18fc2' 1303 MessagingMessageIDKey = attribute.Key("messaging.message.id") 1304 1305 // MessagingMessageConversationIDKey is the attribute Key conforming to the 1306 // "messaging.message.conversation_id" semantic conventions. It represents 1307 // the [conversation ID](#conversations) identifying the conversation to 1308 // which the message belongs, represented as a string. Sometimes called 1309 // "Correlation ID". 1310 // 1311 // Type: string 1312 // RequirementLevel: Optional 1313 // Stability: stable 1314 // Examples: 'MyConversationID' 1315 MessagingMessageConversationIDKey = attribute.Key("messaging.message.conversation_id") 1316 1317 // MessagingMessagePayloadSizeBytesKey is the attribute Key conforming to 1318 // the "messaging.message.payload_size_bytes" semantic conventions. It 1319 // represents the (uncompressed) size of the message payload in bytes. Also 1320 // use this attribute if it is unknown whether the compressed or 1321 // uncompressed payload size is reported. 1322 // 1323 // Type: int 1324 // RequirementLevel: Optional 1325 // Stability: stable 1326 // Examples: 2738 1327 MessagingMessagePayloadSizeBytesKey = attribute.Key("messaging.message.payload_size_bytes") 1328 1329 // MessagingMessagePayloadCompressedSizeBytesKey is the attribute Key 1330 // conforming to the "messaging.message.payload_compressed_size_bytes" 1331 // semantic conventions. It represents the compressed size of the message 1332 // payload in bytes. 1333 // 1334 // Type: int 1335 // RequirementLevel: Optional 1336 // Stability: stable 1337 // Examples: 2048 1338 MessagingMessagePayloadCompressedSizeBytesKey = attribute.Key("messaging.message.payload_compressed_size_bytes") 1339 ) 1340 1341 // MessagingMessageID returns an attribute KeyValue conforming to the 1342 // "messaging.message.id" semantic conventions. It represents a value used by 1343 // the messaging system as an identifier for the message, represented as a 1344 // string. 1345 func MessagingMessageID(val string) attribute.KeyValue { 1346 return MessagingMessageIDKey.String(val) 1347 } 1348 1349 // MessagingMessageConversationID returns an attribute KeyValue conforming 1350 // to the "messaging.message.conversation_id" semantic conventions. It 1351 // represents the [conversation ID](#conversations) identifying the 1352 // conversation to which the message belongs, represented as a string. 1353 // Sometimes called "Correlation ID". 1354 func MessagingMessageConversationID(val string) attribute.KeyValue { 1355 return MessagingMessageConversationIDKey.String(val) 1356 } 1357 1358 // MessagingMessagePayloadSizeBytes returns an attribute KeyValue conforming 1359 // to the "messaging.message.payload_size_bytes" semantic conventions. It 1360 // represents the (uncompressed) size of the message payload in bytes. Also use 1361 // this attribute if it is unknown whether the compressed or uncompressed 1362 // payload size is reported. 1363 func MessagingMessagePayloadSizeBytes(val int) attribute.KeyValue { 1364 return MessagingMessagePayloadSizeBytesKey.Int(val) 1365 } 1366 1367 // MessagingMessagePayloadCompressedSizeBytes returns an attribute KeyValue 1368 // conforming to the "messaging.message.payload_compressed_size_bytes" semantic 1369 // conventions. It represents the compressed size of the message payload in 1370 // bytes. 1371 func MessagingMessagePayloadCompressedSizeBytes(val int) attribute.KeyValue { 1372 return MessagingMessagePayloadCompressedSizeBytesKey.Int(val) 1373 } 1374 1375 // Semantic convention for attributes that describe messaging destination on 1376 // broker 1377 const ( 1378 // MessagingDestinationNameKey is the attribute Key conforming to the 1379 // "messaging.destination.name" semantic conventions. It represents the 1380 // message destination name 1381 // 1382 // Type: string 1383 // RequirementLevel: Optional 1384 // Stability: stable 1385 // Examples: 'MyQueue', 'MyTopic' 1386 // Note: Destination name SHOULD uniquely identify a specific queue, topic 1387 // or other entity within the broker. If 1388 // the broker does not have such notion, the destination name SHOULD 1389 // uniquely identify the broker. 1390 MessagingDestinationNameKey = attribute.Key("messaging.destination.name") 1391 1392 // MessagingDestinationTemplateKey is the attribute Key conforming to the 1393 // "messaging.destination.template" semantic conventions. It represents the 1394 // low cardinality representation of the messaging destination name 1395 // 1396 // Type: string 1397 // RequirementLevel: Optional 1398 // Stability: stable 1399 // Examples: '/customers/{customerID}' 1400 // Note: Destination names could be constructed from templates. An example 1401 // would be a destination name involving a user name or product id. 1402 // Although the destination name in this case is of high cardinality, the 1403 // underlying template is of low cardinality and can be effectively used 1404 // for grouping and aggregation. 1405 MessagingDestinationTemplateKey = attribute.Key("messaging.destination.template") 1406 1407 // MessagingDestinationTemporaryKey is the attribute Key conforming to the 1408 // "messaging.destination.temporary" semantic conventions. It represents a 1409 // boolean that is true if the message destination is temporary and might 1410 // not exist anymore after messages are processed. 1411 // 1412 // Type: boolean 1413 // RequirementLevel: Optional 1414 // Stability: stable 1415 MessagingDestinationTemporaryKey = attribute.Key("messaging.destination.temporary") 1416 1417 // MessagingDestinationAnonymousKey is the attribute Key conforming to the 1418 // "messaging.destination.anonymous" semantic conventions. It represents a 1419 // boolean that is true if the message destination is anonymous (could be 1420 // unnamed or have auto-generated name). 1421 // 1422 // Type: boolean 1423 // RequirementLevel: Optional 1424 // Stability: stable 1425 MessagingDestinationAnonymousKey = attribute.Key("messaging.destination.anonymous") 1426 ) 1427 1428 // MessagingDestinationName returns an attribute KeyValue conforming to the 1429 // "messaging.destination.name" semantic conventions. It represents the message 1430 // destination name 1431 func MessagingDestinationName(val string) attribute.KeyValue { 1432 return MessagingDestinationNameKey.String(val) 1433 } 1434 1435 // MessagingDestinationTemplate returns an attribute KeyValue conforming to 1436 // the "messaging.destination.template" semantic conventions. It represents the 1437 // low cardinality representation of the messaging destination name 1438 func MessagingDestinationTemplate(val string) attribute.KeyValue { 1439 return MessagingDestinationTemplateKey.String(val) 1440 } 1441 1442 // MessagingDestinationTemporary returns an attribute KeyValue conforming to 1443 // the "messaging.destination.temporary" semantic conventions. It represents a 1444 // boolean that is true if the message destination is temporary and might not 1445 // exist anymore after messages are processed. 1446 func MessagingDestinationTemporary(val bool) attribute.KeyValue { 1447 return MessagingDestinationTemporaryKey.Bool(val) 1448 } 1449 1450 // MessagingDestinationAnonymous returns an attribute KeyValue conforming to 1451 // the "messaging.destination.anonymous" semantic conventions. It represents a 1452 // boolean that is true if the message destination is anonymous (could be 1453 // unnamed or have auto-generated name). 1454 func MessagingDestinationAnonymous(val bool) attribute.KeyValue { 1455 return MessagingDestinationAnonymousKey.Bool(val) 1456 } 1457 1458 // Attributes for RabbitMQ 1459 const ( 1460 // MessagingRabbitmqDestinationRoutingKeyKey is the attribute Key 1461 // conforming to the "messaging.rabbitmq.destination.routing_key" semantic 1462 // conventions. It represents the rabbitMQ message routing key. 1463 // 1464 // Type: string 1465 // RequirementLevel: ConditionallyRequired (If not empty.) 1466 // Stability: stable 1467 // Examples: 'myKey' 1468 MessagingRabbitmqDestinationRoutingKeyKey = attribute.Key("messaging.rabbitmq.destination.routing_key") 1469 ) 1470 1471 // MessagingRabbitmqDestinationRoutingKey returns an attribute KeyValue 1472 // conforming to the "messaging.rabbitmq.destination.routing_key" semantic 1473 // conventions. It represents the rabbitMQ message routing key. 1474 func MessagingRabbitmqDestinationRoutingKey(val string) attribute.KeyValue { 1475 return MessagingRabbitmqDestinationRoutingKeyKey.String(val) 1476 } 1477 1478 // Attributes for Apache Kafka 1479 const ( 1480 // MessagingKafkaMessageKeyKey is the attribute Key conforming to the 1481 // "messaging.kafka.message.key" semantic conventions. It represents the 1482 // message keys in Kafka are used for grouping alike messages to ensure 1483 // they're processed on the same partition. They differ from 1484 // `messaging.message.id` in that they're not unique. If the key is `null`, 1485 // the attribute MUST NOT be set. 1486 // 1487 // Type: string 1488 // RequirementLevel: Optional 1489 // Stability: stable 1490 // Examples: 'myKey' 1491 // Note: If the key type is not string, it's string representation has to 1492 // be supplied for the attribute. If the key has no unambiguous, canonical 1493 // string form, don't include its value. 1494 MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message.key") 1495 1496 // MessagingKafkaConsumerGroupKey is the attribute Key conforming to the 1497 // "messaging.kafka.consumer.group" semantic conventions. It represents the 1498 // name of the Kafka Consumer Group that is handling the message. Only 1499 // applies to consumers, not producers. 1500 // 1501 // Type: string 1502 // RequirementLevel: Optional 1503 // Stability: stable 1504 // Examples: 'my-group' 1505 MessagingKafkaConsumerGroupKey = attribute.Key("messaging.kafka.consumer.group") 1506 1507 // MessagingKafkaDestinationPartitionKey is the attribute Key conforming to 1508 // the "messaging.kafka.destination.partition" semantic conventions. It 1509 // represents the partition the message is sent to. 1510 // 1511 // Type: int 1512 // RequirementLevel: Optional 1513 // Stability: stable 1514 // Examples: 2 1515 MessagingKafkaDestinationPartitionKey = attribute.Key("messaging.kafka.destination.partition") 1516 1517 // MessagingKafkaMessageOffsetKey is the attribute Key conforming to the 1518 // "messaging.kafka.message.offset" semantic conventions. It represents the 1519 // offset of a record in the corresponding Kafka partition. 1520 // 1521 // Type: int 1522 // RequirementLevel: Optional 1523 // Stability: stable 1524 // Examples: 42 1525 MessagingKafkaMessageOffsetKey = attribute.Key("messaging.kafka.message.offset") 1526 1527 // MessagingKafkaMessageTombstoneKey is the attribute Key conforming to the 1528 // "messaging.kafka.message.tombstone" semantic conventions. It represents 1529 // a boolean that is true if the message is a tombstone. 1530 // 1531 // Type: boolean 1532 // RequirementLevel: ConditionallyRequired (If value is `true`. When 1533 // missing, the value is assumed to be `false`.) 1534 // Stability: stable 1535 MessagingKafkaMessageTombstoneKey = attribute.Key("messaging.kafka.message.tombstone") 1536 ) 1537 1538 // MessagingKafkaMessageKey returns an attribute KeyValue conforming to the 1539 // "messaging.kafka.message.key" semantic conventions. It represents the 1540 // message keys in Kafka are used for grouping alike messages to ensure they're 1541 // processed on the same partition. They differ from `messaging.message.id` in 1542 // that they're not unique. If the key is `null`, the attribute MUST NOT be 1543 // set. 1544 func MessagingKafkaMessageKey(val string) attribute.KeyValue { 1545 return MessagingKafkaMessageKeyKey.String(val) 1546 } 1547 1548 // MessagingKafkaConsumerGroup returns an attribute KeyValue conforming to 1549 // the "messaging.kafka.consumer.group" semantic conventions. It represents the 1550 // name of the Kafka Consumer Group that is handling the message. Only applies 1551 // to consumers, not producers. 1552 func MessagingKafkaConsumerGroup(val string) attribute.KeyValue { 1553 return MessagingKafkaConsumerGroupKey.String(val) 1554 } 1555 1556 // MessagingKafkaDestinationPartition returns an attribute KeyValue 1557 // conforming to the "messaging.kafka.destination.partition" semantic 1558 // conventions. It represents the partition the message is sent to. 1559 func MessagingKafkaDestinationPartition(val int) attribute.KeyValue { 1560 return MessagingKafkaDestinationPartitionKey.Int(val) 1561 } 1562 1563 // MessagingKafkaMessageOffset returns an attribute KeyValue conforming to 1564 // the "messaging.kafka.message.offset" semantic conventions. It represents the 1565 // offset of a record in the corresponding Kafka partition. 1566 func MessagingKafkaMessageOffset(val int) attribute.KeyValue { 1567 return MessagingKafkaMessageOffsetKey.Int(val) 1568 } 1569 1570 // MessagingKafkaMessageTombstone returns an attribute KeyValue conforming 1571 // to the "messaging.kafka.message.tombstone" semantic conventions. It 1572 // represents a boolean that is true if the message is a tombstone. 1573 func MessagingKafkaMessageTombstone(val bool) attribute.KeyValue { 1574 return MessagingKafkaMessageTombstoneKey.Bool(val) 1575 } 1576 1577 // Attributes for Apache RocketMQ 1578 const ( 1579 // MessagingRocketmqNamespaceKey is the attribute Key conforming to the 1580 // "messaging.rocketmq.namespace" semantic conventions. It represents the 1581 // namespace of RocketMQ resources, resources in different namespaces are 1582 // individual. 1583 // 1584 // Type: string 1585 // RequirementLevel: Required 1586 // Stability: stable 1587 // Examples: 'myNamespace' 1588 MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace") 1589 1590 // MessagingRocketmqClientGroupKey is the attribute Key conforming to the 1591 // "messaging.rocketmq.client_group" semantic conventions. It represents 1592 // the name of the RocketMQ producer/consumer group that is handling the 1593 // message. The client type is identified by the SpanKind. 1594 // 1595 // Type: string 1596 // RequirementLevel: Required 1597 // Stability: stable 1598 // Examples: 'myConsumerGroup' 1599 MessagingRocketmqClientGroupKey = attribute.Key("messaging.rocketmq.client_group") 1600 1601 // MessagingRocketmqMessageDeliveryTimestampKey is the attribute Key 1602 // conforming to the "messaging.rocketmq.message.delivery_timestamp" 1603 // semantic conventions. It represents the timestamp in milliseconds that 1604 // the delay message is expected to be delivered to consumer. 1605 // 1606 // Type: int 1607 // RequirementLevel: ConditionallyRequired (If the message type is delay 1608 // and delay time level is not specified.) 1609 // Stability: stable 1610 // Examples: 1665987217045 1611 MessagingRocketmqMessageDeliveryTimestampKey = attribute.Key("messaging.rocketmq.message.delivery_timestamp") 1612 1613 // MessagingRocketmqMessageDelayTimeLevelKey is the attribute Key 1614 // conforming to the "messaging.rocketmq.message.delay_time_level" semantic 1615 // conventions. It represents the delay time level for delay message, which 1616 // determines the message delay time. 1617 // 1618 // Type: int 1619 // RequirementLevel: ConditionallyRequired (If the message type is delay 1620 // and delivery timestamp is not specified.) 1621 // Stability: stable 1622 // Examples: 3 1623 MessagingRocketmqMessageDelayTimeLevelKey = attribute.Key("messaging.rocketmq.message.delay_time_level") 1624 1625 // MessagingRocketmqMessageGroupKey is the attribute Key conforming to the 1626 // "messaging.rocketmq.message.group" semantic conventions. It represents 1627 // the it is essential for FIFO message. Messages that belong to the same 1628 // message group are always processed one by one within the same consumer 1629 // group. 1630 // 1631 // Type: string 1632 // RequirementLevel: ConditionallyRequired (If the message type is FIFO.) 1633 // Stability: stable 1634 // Examples: 'myMessageGroup' 1635 MessagingRocketmqMessageGroupKey = attribute.Key("messaging.rocketmq.message.group") 1636 1637 // MessagingRocketmqMessageTypeKey is the attribute Key conforming to the 1638 // "messaging.rocketmq.message.type" semantic conventions. It represents 1639 // the type of message. 1640 // 1641 // Type: Enum 1642 // RequirementLevel: Optional 1643 // Stability: stable 1644 MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message.type") 1645 1646 // MessagingRocketmqMessageTagKey is the attribute Key conforming to the 1647 // "messaging.rocketmq.message.tag" semantic conventions. It represents the 1648 // secondary classifier of message besides topic. 1649 // 1650 // Type: string 1651 // RequirementLevel: Optional 1652 // Stability: stable 1653 // Examples: 'tagA' 1654 MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message.tag") 1655 1656 // MessagingRocketmqMessageKeysKey is the attribute Key conforming to the 1657 // "messaging.rocketmq.message.keys" semantic conventions. It represents 1658 // the key(s) of message, another way to mark message besides message id. 1659 // 1660 // Type: string[] 1661 // RequirementLevel: Optional 1662 // Stability: stable 1663 // Examples: 'keyA', 'keyB' 1664 MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message.keys") 1665 1666 // MessagingRocketmqConsumptionModelKey is the attribute Key conforming to 1667 // the "messaging.rocketmq.consumption_model" semantic conventions. It 1668 // represents the model of message consumption. This only applies to 1669 // consumer spans. 1670 // 1671 // Type: Enum 1672 // RequirementLevel: Optional 1673 // Stability: stable 1674 MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model") 1675 ) 1676 1677 var ( 1678 // Normal message 1679 MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal") 1680 // FIFO message 1681 MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo") 1682 // Delay message 1683 MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay") 1684 // Transaction message 1685 MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction") 1686 ) 1687 1688 var ( 1689 // Clustering consumption model 1690 MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering") 1691 // Broadcasting consumption model 1692 MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting") 1693 ) 1694 1695 // MessagingRocketmqNamespace returns an attribute KeyValue conforming to 1696 // the "messaging.rocketmq.namespace" semantic conventions. It represents the 1697 // namespace of RocketMQ resources, resources in different namespaces are 1698 // individual. 1699 func MessagingRocketmqNamespace(val string) attribute.KeyValue { 1700 return MessagingRocketmqNamespaceKey.String(val) 1701 } 1702 1703 // MessagingRocketmqClientGroup returns an attribute KeyValue conforming to 1704 // the "messaging.rocketmq.client_group" semantic conventions. It represents 1705 // the name of the RocketMQ producer/consumer group that is handling the 1706 // message. The client type is identified by the SpanKind. 1707 func MessagingRocketmqClientGroup(val string) attribute.KeyValue { 1708 return MessagingRocketmqClientGroupKey.String(val) 1709 } 1710 1711 // MessagingRocketmqMessageDeliveryTimestamp returns an attribute KeyValue 1712 // conforming to the "messaging.rocketmq.message.delivery_timestamp" semantic 1713 // conventions. It represents the timestamp in milliseconds that the delay 1714 // message is expected to be delivered to consumer. 1715 func MessagingRocketmqMessageDeliveryTimestamp(val int) attribute.KeyValue { 1716 return MessagingRocketmqMessageDeliveryTimestampKey.Int(val) 1717 } 1718 1719 // MessagingRocketmqMessageDelayTimeLevel returns an attribute KeyValue 1720 // conforming to the "messaging.rocketmq.message.delay_time_level" semantic 1721 // conventions. It represents the delay time level for delay message, which 1722 // determines the message delay time. 1723 func MessagingRocketmqMessageDelayTimeLevel(val int) attribute.KeyValue { 1724 return MessagingRocketmqMessageDelayTimeLevelKey.Int(val) 1725 } 1726 1727 // MessagingRocketmqMessageGroup returns an attribute KeyValue conforming to 1728 // the "messaging.rocketmq.message.group" semantic conventions. It represents 1729 // the it is essential for FIFO message. Messages that belong to the same 1730 // message group are always processed one by one within the same consumer 1731 // group. 1732 func MessagingRocketmqMessageGroup(val string) attribute.KeyValue { 1733 return MessagingRocketmqMessageGroupKey.String(val) 1734 } 1735 1736 // MessagingRocketmqMessageTag returns an attribute KeyValue conforming to 1737 // the "messaging.rocketmq.message.tag" semantic conventions. It represents the 1738 // secondary classifier of message besides topic. 1739 func MessagingRocketmqMessageTag(val string) attribute.KeyValue { 1740 return MessagingRocketmqMessageTagKey.String(val) 1741 } 1742 1743 // MessagingRocketmqMessageKeys returns an attribute KeyValue conforming to 1744 // the "messaging.rocketmq.message.keys" semantic conventions. It represents 1745 // the key(s) of message, another way to mark message besides message id. 1746 func MessagingRocketmqMessageKeys(val ...string) attribute.KeyValue { 1747 return MessagingRocketmqMessageKeysKey.StringSlice(val) 1748 } 1749 1750 // Attributes describing URL. 1751 const ( 1752 // URLSchemeKey is the attribute Key conforming to the "url.scheme" 1753 // semantic conventions. It represents the [URI 1754 // scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component 1755 // identifying the used protocol. 1756 // 1757 // Type: string 1758 // RequirementLevel: Optional 1759 // Stability: stable 1760 // Examples: 'https', 'ftp', 'telnet' 1761 URLSchemeKey = attribute.Key("url.scheme") 1762 1763 // URLFullKey is the attribute Key conforming to the "url.full" semantic 1764 // conventions. It represents the absolute URL describing a network 1765 // resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986) 1766 // 1767 // Type: string 1768 // RequirementLevel: Optional 1769 // Stability: stable 1770 // Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv', 1771 // '//localhost' 1772 // Note: For network calls, URL usually has 1773 // `scheme://host[:port][path][?query][#fragment]` format, where the 1774 // fragment is not transmitted over HTTP, but if it is known, it should be 1775 // included nevertheless. 1776 // `url.full` MUST NOT contain credentials passed via URL in form of 1777 // `https://username:password@www.example.com/`. In such case username and 1778 // password should be redacted and attribute's value should be 1779 // `https://REDACTED:REDACTED@www.example.com/`. 1780 // `url.full` SHOULD capture the absolute URL when it is available (or can 1781 // be reconstructed) and SHOULD NOT be validated or modified except for 1782 // sanitizing purposes. 1783 URLFullKey = attribute.Key("url.full") 1784 1785 // URLPathKey is the attribute Key conforming to the "url.path" semantic 1786 // conventions. It represents the [URI 1787 // path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component 1788 // 1789 // Type: string 1790 // RequirementLevel: Optional 1791 // Stability: stable 1792 // Examples: '/search' 1793 // Note: When missing, the value is assumed to be `/` 1794 URLPathKey = attribute.Key("url.path") 1795 1796 // URLQueryKey is the attribute Key conforming to the "url.query" semantic 1797 // conventions. It represents the [URI 1798 // query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component 1799 // 1800 // Type: string 1801 // RequirementLevel: Optional 1802 // Stability: stable 1803 // Examples: 'q=OpenTelemetry' 1804 // Note: Sensitive content provided in query string SHOULD be scrubbed when 1805 // instrumentations can identify it. 1806 URLQueryKey = attribute.Key("url.query") 1807 1808 // URLFragmentKey is the attribute Key conforming to the "url.fragment" 1809 // semantic conventions. It represents the [URI 1810 // fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component 1811 // 1812 // Type: string 1813 // RequirementLevel: Optional 1814 // Stability: stable 1815 // Examples: 'SemConv' 1816 URLFragmentKey = attribute.Key("url.fragment") 1817 ) 1818 1819 // URLScheme returns an attribute KeyValue conforming to the "url.scheme" 1820 // semantic conventions. It represents the [URI 1821 // scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component 1822 // identifying the used protocol. 1823 func URLScheme(val string) attribute.KeyValue { 1824 return URLSchemeKey.String(val) 1825 } 1826 1827 // URLFull returns an attribute KeyValue conforming to the "url.full" 1828 // semantic conventions. It represents the absolute URL describing a network 1829 // resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986) 1830 func URLFull(val string) attribute.KeyValue { 1831 return URLFullKey.String(val) 1832 } 1833 1834 // URLPath returns an attribute KeyValue conforming to the "url.path" 1835 // semantic conventions. It represents the [URI 1836 // path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component 1837 func URLPath(val string) attribute.KeyValue { 1838 return URLPathKey.String(val) 1839 } 1840 1841 // URLQuery returns an attribute KeyValue conforming to the "url.query" 1842 // semantic conventions. It represents the [URI 1843 // query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component 1844 func URLQuery(val string) attribute.KeyValue { 1845 return URLQueryKey.String(val) 1846 } 1847 1848 // URLFragment returns an attribute KeyValue conforming to the 1849 // "url.fragment" semantic conventions. It represents the [URI 1850 // fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component 1851 func URLFragment(val string) attribute.KeyValue { 1852 return URLFragmentKey.String(val) 1853 } 1854 1855 // Describes user-agent attributes. 1856 const ( 1857 // UserAgentOriginalKey is the attribute Key conforming to the 1858 // "user_agent.original" semantic conventions. It represents the value of 1859 // the [HTTP 1860 // User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) 1861 // header sent by the client. 1862 // 1863 // Type: string 1864 // RequirementLevel: Optional 1865 // Stability: stable 1866 // Examples: 'CERN-LineMode/2.15 libwww/2.17b3' 1867 UserAgentOriginalKey = attribute.Key("user_agent.original") 1868 ) 1869 1870 // UserAgentOriginal returns an attribute KeyValue conforming to the 1871 // "user_agent.original" semantic conventions. It represents the value of the 1872 // [HTTP 1873 // User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) 1874 // header sent by the client. 1875 func UserAgentOriginal(val string) attribute.KeyValue { 1876 return UserAgentOriginalKey.String(val) 1877 } 1878