Sha256: 9cf5cf02fb470b614be4e173613fdf8f1a096a56d3665bef6231e4a6d166a211
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true module ElasticAPM # @api private class ServiceInfo def initialize(config) @config = config end attr_reader :config # rubocop:disable Metrics/MethodLength def build base = { name: config.app_name, environment: config.environment, agent: { name: 'ruby', version: VERSION }, framework: nil, language: { name: 'ruby', version: RUBY_VERSION }, runtime: runtime, version: git_sha } if config.framework_name base[:framework] = { name: config.framework_name, version: config.framework_version } end base end # rubocop:enable Metrics/MethodLength def self.build(config) new(config).build end private def git_sha sha = `git rev-parse --verify HEAD 2>&1`.chomp return sha if $?.success? # rubocop:disable Style/SpecialGlobalVars nil end def runtime case RUBY_ENGINE when 'ruby' { name: RUBY_ENGINE, version: RUBY_VERSION } when 'jruby' { name: RUBY_ENGINE, version: ENV['JRUBY_VERSION'] } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
elastic-apm-0.2.0 | lib/elastic_apm/service_info.rb |