skylightio / skylight-ruby

Skylight agent for Ruby
https://www.skylight.io/
Other
314 stars 76 forks source link

Missing native support binaries for arm64 / aarch64 #170

Closed felixbuenemann closed 3 years ago

felixbuenemann commented 3 years ago

With the rising popularity of arm64 based servers (eg. AWS Graviton2) and desktops (Apple M1), it would be great to have native support binaries for aarch64-unknown-linux-gnu and aarch64-apple-darwin to the skylight ruby gem.

Both targets are supported by Rust 1.49.0 as Tier 1 (Linux) and Tier 2 (macOS).

This should fix the following error seen with 5.0.0.beta4:

ERROR -- Skylight: [SKYLIGHT] [5.0.0-beta4] The Skylight native extension for your platform wasn't found. Supported operating systems are Linux 2.6.18+ and Mac OS X 10.8+. The missing extension will not affect the functioning of your application. If you are on a supported platform, please contact support at support@skylight.io.

wagenet commented 3 years ago

@felixbuenemann this has been on our radar but we haven’t yet prioritized it. However, since you nudged I’m looking into it a bit today. I’ll keep you posted on our progress.

felixbuenemann commented 3 years ago

Looks like this is going to take some time.

Is there a way to build the binaries myself and put them were the gem expects them to be?

wagenet commented 3 years ago

@felixbuenemann unfortunately, it’s been a little bit of a challenge because of some dependencies we bundle. We’re actually working on changing some of these dependencies to get things working. However, I do believe we’re close to an alpha. If you can reach out via Skylight’s in-app messenger we can make sure to get this to you as soon as it is ready.

wagenet commented 3 years ago

@felixbuenemann I felt like I should give an update here. It's something we're continuing to work on, but has taken longer than expected. I'm sorry we haven't been able to resolve this more quickly.

zvkemp commented 3 years ago

Hi @felixbuenemann, the aarch64 branch includes support for aarch64-apple-darwin (Apple M1) and aarch64-linux-gnu targets. To install it, add gem "skylight", git: "https://www.github.com/skylightio/skylight-ruby", ref: "aarch64" to your Gemfile.

This is pre-release alpha software, so the usual caveats apply. We'll be testing this internally as much as possible (though we deploy on x86_64).

navied commented 3 years ago

@zvkemp , gave this a quick try, it doesn't seem to work for me I am getting the same error as before:

E, [2021-03-27T03:33:05.367564 #1] ERROR -- Skylight: [SKYLIGHT] [5.1.0-alpha] The Skylight native extension for your platform wasn't found. Supported operating systems are Linux 2.6.18+ and Mac OS X 10.8+. The missing extension will not affect the functioning of your application. If you are on a supported platform, please contact support at support@skylight.io.

While installing the gem I also got this "warning" as well:

image

zvkemp commented 3 years ago

I suspect we are not correctly mapping the platform name to the pre-built binary. @navied can you try the latest commit, and if it doesn't work, can you provide the output of Skylight::Util::Platform.tuple?

navied commented 3 years ago

Same issue, the output of that is:

 "aarch64-linux-musl"
zvkemp commented 3 years ago

@navied Unfortunately we don't have a pre-built binary for aarch64-linux-musl yet, but I can look into adding support next week.

zvkemp commented 3 years ago

@navied The latest commit on https://github.com/skylightio/skylight-ruby/tree/aarch64 now includes aarch64-linux-musl support.

zvkemp commented 3 years ago

Three new targets have been added to the latest release (5.1.0.beta):