in jvmti-access/src/main/java/co/elastic/otel/JvmtiAccess.java [177:203]
private static LibraryLookupResult doLookupLibrary() {
String os = System.getProperty("os.name").toLowerCase();
String arch = System.getProperty("os.arch").toLowerCase();
if (os.contains("linux")) {
String linuxVariant = "linux";
if (isMusl()) {
linuxVariant = "linux-musl";
}
if (arch.contains("arm") || arch.contains("aarch32")) {
return LibraryLookupResult.failure("Unsupported architecture for Linux: " + arch);
} else if (arch.contains("aarch")) {
return LibraryLookupResult.success(linuxVariant + "-arm64");
} else if (arch.contains("64")) {
return LibraryLookupResult.success(linuxVariant + "-x64");
} else {
return LibraryLookupResult.failure("Unsupported architecture for Linux: " + arch);
}
} else if (os.contains("mac")) {
if (arch.contains("aarch")) {
return LibraryLookupResult.success("darwin-arm64");
} else {
return LibraryLookupResult.success("darwin-x64");
}
} else {
return LibraryLookupResult.failure("jvmti native library does not work on " + os);
}
}