lib/raven/context.rb in sentry-raven-3.0.4 vs lib/raven/context.rb in sentry-raven-3.1.0
- old
+ new
@@ -1,6 +1,7 @@
require 'rbconfig'
+require 'etc'
module Raven
class Context
def self.current
Thread.current[:sentry_context] ||= new
@@ -22,21 +23,25 @@
self.transaction = []
end
class << self
def os_context
- @os_context ||= {
- :name => Raven.sys_command("uname -s") || RbConfig::CONFIG["host_os"],
- :version => Raven.sys_command("uname -v"),
- :build => Raven.sys_command("uname -r"),
- :kernel_version => Raven.sys_command("uname -a") || Raven.sys_command("ver") # windows
- }
+ @os_context ||=
+ begin
+ uname = Etc.uname
+ {
+ name: uname[:sysname] || RbConfig::CONFIG["host_os"],
+ version: uname[:version],
+ build: uname[:release],
+ kernel_version: uname[:version]
+ }
+ end
end
def runtime_context
@runtime_context ||= {
- :name => RbConfig::CONFIG["ruby_install_name"],
- :version => Raven.sys_command("ruby -v")
+ name: RbConfig::CONFIG["ruby_install_name"],
+ version: RUBY_DESCRIPTION || Raven.sys_command("ruby -v")
}
end
end
end
end