host_attributes.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /*
  2. * Copyright The OpenTelemetry Authors
  3. * SPDX-License-Identifier: Apache-2.0
  4. */
  5. /*
  6. * DO NOT EDIT, this is an Auto-generated file from:
  7. * buildscripts/semantic-convention/templates/registry/semantic_attributes-h.j2
  8. */
  9. #pragma once
  10. #include "opentelemetry/common/macros.h"
  11. #include "opentelemetry/version.h"
  12. OPENTELEMETRY_BEGIN_NAMESPACE
  13. namespace semconv
  14. {
  15. namespace host
  16. {
  17. /**
  18. The CPU architecture the host system is running on.
  19. */
  20. static constexpr const char *kHostArch = "host.arch";
  21. /**
  22. The amount of level 2 memory cache available to the processor (in Bytes).
  23. */
  24. static constexpr const char *kHostCpuCacheL2Size = "host.cpu.cache.l2.size";
  25. /**
  26. Family or generation of the CPU.
  27. */
  28. static constexpr const char *kHostCpuFamily = "host.cpu.family";
  29. /**
  30. Model identifier. It provides more granular information about the CPU, distinguishing it from
  31. other CPUs within the same family.
  32. */
  33. static constexpr const char *kHostCpuModelId = "host.cpu.model.id";
  34. /**
  35. Model designation of the processor.
  36. */
  37. static constexpr const char *kHostCpuModelName = "host.cpu.model.name";
  38. /**
  39. Stepping or core revisions.
  40. */
  41. static constexpr const char *kHostCpuStepping = "host.cpu.stepping";
  42. /**
  43. Processor manufacturer identifier. A maximum 12-character string.
  44. <p>
  45. <a href="https://wiki.osdev.org/CPUID">CPUID</a> command returns the vendor ID string in EBX, EDX
  46. and ECX registers. Writing these to memory in this order results in a 12-character string.
  47. */
  48. static constexpr const char *kHostCpuVendorId = "host.cpu.vendor.id";
  49. /**
  50. Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For
  51. non-containerized systems, this should be the @code machine-id @endcode. See the table below for
  52. the sources to use to determine the @code machine-id @endcode based on operating system.
  53. */
  54. static constexpr const char *kHostId = "host.id";
  55. /**
  56. VM image ID or host OS image ID. For Cloud, this value is from the provider.
  57. */
  58. static constexpr const char *kHostImageId = "host.image.id";
  59. /**
  60. Name of the VM image or OS install the host was instantiated from.
  61. */
  62. static constexpr const char *kHostImageName = "host.image.name";
  63. /**
  64. The version string of the VM image or host OS as defined in <a
  65. href="/docs/resource/README.md#version-attributes">Version Attributes</a>.
  66. */
  67. static constexpr const char *kHostImageVersion = "host.image.version";
  68. /**
  69. Available IP addresses of the host, excluding loopback interfaces.
  70. <p>
  71. IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the
  72. <a href="https://www.rfc-editor.org/rfc/rfc5952.html">RFC 5952</a> format.
  73. */
  74. static constexpr const char *kHostIp = "host.ip";
  75. /**
  76. Available MAC addresses of the host, excluding loopback interfaces.
  77. <p>
  78. MAC Addresses MUST be represented in <a
  79. href="https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf">IEEE RA
  80. hexadecimal form</a>: as hyphen-separated octets in uppercase hexadecimal form from most to least
  81. significant.
  82. */
  83. static constexpr const char *kHostMac = "host.mac";
  84. /**
  85. Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully
  86. qualified hostname, or another name specified by the user.
  87. */
  88. static constexpr const char *kHostName = "host.name";
  89. /**
  90. Type of host. For Cloud, this must be the machine type.
  91. */
  92. static constexpr const char *kHostType = "host.type";
  93. namespace HostArchValues
  94. {
  95. /**
  96. AMD64
  97. */
  98. static constexpr const char *kAmd64 = "amd64";
  99. /**
  100. ARM32
  101. */
  102. static constexpr const char *kArm32 = "arm32";
  103. /**
  104. ARM64
  105. */
  106. static constexpr const char *kArm64 = "arm64";
  107. /**
  108. Itanium
  109. */
  110. static constexpr const char *kIa64 = "ia64";
  111. /**
  112. 32-bit PowerPC
  113. */
  114. static constexpr const char *kPpc32 = "ppc32";
  115. /**
  116. 64-bit PowerPC
  117. */
  118. static constexpr const char *kPpc64 = "ppc64";
  119. /**
  120. IBM z/Architecture
  121. */
  122. static constexpr const char *kS390x = "s390x";
  123. /**
  124. 32-bit x86
  125. */
  126. static constexpr const char *kX86 = "x86";
  127. } // namespace HostArchValues
  128. } // namespace host
  129. } // namespace semconv
  130. OPENTELEMETRY_END_NAMESPACE