11#include " os_utils.h"
22
3- #include < array>
43#include < string_view>
54#include < utility>
65
98#endif
109
1110#if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__ && __cplusplus >= 202002L && !defined(DISABLE_MPH)
11+ # include < array>
1212# include < mph>
1313# define USE_MPH
1414# define CONTAINER std::array
1919# define CONTAINER_CONSTEXPR const
2020#endif
2121
22- #include < opentelemetry/sdk/resource/semantic_conventions.h>
22+ #include < opentelemetry/version.h>
23+
24+ #if OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR < 18
25+ # include < opentelemetry/sdk/resource/semantic_conventions.h>
26+ #else
27+ # include < opentelemetry/semconv/incubating/host_attributes.h>
28+ # include < opentelemetry/semconv/incubating/os_attributes.h>
29+ # include < opentelemetry/semconv/schema_url.h>
30+ #endif
2331
2432using std::literals::operator " " sv;
2533
2634std::string get_host_arch (std::string_view machine)
2735{
36+ #if OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR < 18
37+ using namespace ::opentelemetry::sdk::resource::SemanticConventions::HostArchValues;
38+ #else
39+ using namespace ::opentelemetry::semconv::host::HostArchValues;
40+ #endif
41+
2842 static CONTAINER_CONSTEXPR auto machine_to_arch = CONTAINER{
29- std::pair{" x86_64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kAmd64 },
30- std::pair{" amd64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kAmd64 },
31- std::pair{" aarch64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kArm64 },
32- std::pair{" arm64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kArm64 },
33- std::pair{" arm" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kArm32 },
34- std::pair{" armv7l" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kArm32 },
35- std::pair{" ppc" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kPpc32 },
36- std::pair{" ppc64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kPpc64 },
37- std::pair{" ppc64le" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kPpc64 },
38- std::pair{" s390x" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kS390x },
39- std::pair{" i386" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
40- std::pair{" i486" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
41- std::pair{" i586" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
42- std::pair{" i686" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
43- std::pair{" x86" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
44- std::pair{" i86pc" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
45- std::pair{" x86pc" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kX86 },
46- std::pair{" ia64" sv, opentelemetry::sdk::resource::SemanticConventions::HostArchValues:: kIa64 }
43+ std::pair{" x86_64" sv, kAmd64 },
44+ std::pair{" amd64" sv, kAmd64 },
45+ std::pair{" aarch64" sv, kArm64 },
46+ std::pair{" arm64" sv, kArm64 },
47+ std::pair{" arm" sv, kArm32 },
48+ std::pair{" armv7l" sv, kArm32 },
49+ std::pair{" ppc" sv, kPpc32 },
50+ std::pair{" ppc64" sv, kPpc64 },
51+ std::pair{" ppc64le" sv, kPpc64 },
52+ std::pair{" s390x" sv, kS390x },
53+ std::pair{" i386" sv, kX86 },
54+ std::pair{" i486" sv, kX86 },
55+ std::pair{" i586" sv, kX86 },
56+ std::pair{" i686" sv, kX86 },
57+ std::pair{" x86" sv, kX86 },
58+ std::pair{" i86pc" sv, kX86 },
59+ std::pair{" x86pc" sv, kX86 },
60+ std::pair{" ia64" sv, kIa64 }
4761 };
4862
4963#ifdef USE_MPH
@@ -61,18 +75,24 @@ std::string get_host_arch(std::string_view machine)
6175
6276std::string get_os_type (std::string_view os)
6377{
78+ #if OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR < 18
79+ using namespace ::opentelemetry::sdk::resource::SemanticConventions::OsTypeValues;
80+ #else
81+ using namespace ::opentelemetry::semconv::os::OsTypeValues;
82+ #endif
83+
6484 static CONTAINER_CONSTEXPR auto os_to_type = CONTAINER{
65- std::pair{" Linux" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kLinux },
66- std::pair{" Windows_NT" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kWindows },
67- std::pair{" DragonFly" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kDragonflybsd },
68- std::pair{" FreeBSD" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kFreebsd },
69- std::pair{" HP-UX" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kHpux },
70- std::pair{" AIX" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kAix },
71- std::pair{" Darwin" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kDarwin },
72- std::pair{" NetBSD" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kNetbsd },
73- std::pair{" OpenBSD" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kOpenbsd },
74- std::pair{" SunOS" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kSolaris },
75- std::pair{" OS/390" sv, opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kZOs }
85+ std::pair{" Linux" sv, kLinux },
86+ std::pair{" Windows_NT" sv, kWindows },
87+ std::pair{" DragonFly" sv, kDragonflybsd },
88+ std::pair{" FreeBSD" sv, kFreebsd },
89+ std::pair{" HP-UX" sv, kHpux },
90+ std::pair{" AIX" sv, kAix },
91+ std::pair{" Darwin" sv, kDarwin },
92+ std::pair{" NetBSD" sv, kNetbsd },
93+ std::pair{" OpenBSD" sv, kOpenbsd },
94+ std::pair{" SunOS" sv, kSolaris },
95+ std::pair{" OS/390" sv, kZOs }
7696 };
7797
7898#ifdef USE_MPH
@@ -86,7 +106,7 @@ std::string get_os_type(std::string_view os)
86106#endif
87107
88108 if (os.starts_with (" CYGWIN" ) || os.starts_with (" MINGW" ) || os.starts_with (" MSYS" )) {
89- return opentelemetry::sdk::resource::SemanticConventions::OsTypeValues:: kWindows ;
109+ return kWindows ;
90110 }
91111
92112 return {os.data (), os.length ()};
0 commit comments