JavaFX 桌面开发——初级项目构建
本文演示如何将应用程序与 SkyWalking Ruby 集成,并对 Ruby 自动探针插件实现机制进行简要解读
背景
Ruby 是一种动态、面向对象的编程语言,它的语法简洁优雅,支持多种编程范式,包括面向对象、函数式和元编程。其中依靠强大的元编程能力,Ruby 允许在运行时修改类和对象的行为。 SkyWalking 提供了 Ruby gem,方便 Ruby 项目集成, 该 gem 支持许多开箱即用的框架 和 gem。
本文基于 skywalking-ruby-v0.1,我们将指导你如何快速将 skywalking-ruby 项目集成到 Ruby 项目中,并以 redis-rb 为例,简要地介绍 SkyWalking Ruby 对插件自动探针的实现原理。
演示部分包括以下步骤:
部署 SkyWalking:这涉及设置 SkyWalking 后端和 UI 程序,使你能够看到最终效果。
为不同 Ruby 项目集成 skywalking:这里介绍了不同的 Ruby 项目如何集成 skywalking。
应用部署:你将导出环境变量并部署应用程序,以促进你的服务与 SkyWalking 后端之间的通信。
在 SkyWalking UI 上可视化:最后,你将发送请求并在 SkyWalking UI 中观察效果。
部署 SkyWalking
请从官方 SkyWalking 网站下载 SkyWalking APM 程序,然后 可以根据快速启动脚本启动所有所需服务。
接下来,你可以访问地址 http://localhost:8080/ 。此时,由于尚未部署任何应用程序,因此你将看不到任何数据。
为不同 Ruby 项目集成 SkyWalking
推荐使用 Bundler 来安装和管理 skywalking 的依赖。只需在 Gemfile 中声明,然后运行 bundle install 即可完成安装。
bash代码解读复制代码# Gemfile source "https://rubygems.org" gem "skywalking"
在 Rails 项目中集成
对于 Rails 项目,推荐使用以下命令自动生成配置文件:
sql代码解读复制代码bundle exec rails generate skywalking:start
该命令会在 config/initializers 目录下自动生成 skywalking.rb 文件,你可以在其中配置启动参数。
在 Sinatra 项目中集成
对于 Sinatra 项目,你需要手动在应用启动时调用 Skywalking.start。例如:
lua代码解读复制代码require 'sinatra' require 'skywalking' Skywalking.start get '/sw' do "Hello SkyWalking!" end
在 Gemfile 中,将 skywalking 放在 sinatra 之后,并在初始化时使用 Bundler.require,或者在 sinatra gem 加载后 调用 require ‘skywalking’。注意,skywalking gem 需要位于其他 gem(如 redis、elasticsearch)之后。
应用部署
在开始部署应用程序之前,你可以通过环境变量更改 SkyWalking 中当前应用程序的服务名称。你还可以更改其配置,例如服务器端的地址。有关详细信息,请参阅文档。
在这里,我们将当前服务的名称更改为 sw-ruby。
接下来,你可以启动应用程序,这里以 sinatra 作为示例:
ini代码解读复制代码export SW_AGENT_SERVICE_NAME=sw-ruby ruby sinatra.rb
作者:SkyWalking中文站
链接:https://juejin.cn/post/7478567147220844596
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。