module Sftrace::Agent
Constants
- VERSION
Public Class Methods
set_config(profile_key, project_name, app_name, service_name)
click to toggle source
# File lib/sftrace/agent.rb, line 10 def self.set_config(profile_key, project_name, app_name, service_name) decoded_key = Base64.decode64("U25hcHB5RmxvdzEyMzQ1Ng==") decoded_profile_key = Base64.decode64(profile_key) decipher = OpenSSL::Cipher::AES.new(128, :CBC) decipher.decrypt decipher.key = decoded_key decipher.iv = decoded_profile_key[0, 16] plain = decipher.update(decoded_profile_key[16..-1]) + decipher.final plain_json = JSON.parse(plain) global_labels = "_tag_projectName=" + project_name + ",_tag_appName=" + app_name + ",_tag_profileId=" + plain_json["profile_id"] ENV['ELASTIC_APM_VERIFY_SERVER_CERT'] = "false" ENV['ELASTIC_APM_CENTRAL_CONFIG'] = "false" ENV['ELASTIC_APM_SPAN_FRAMES_MIN_DURATION'] = "1s" ENV['ELASTIC_APM_STACK_TRACE_LIMIT'] = "2" ENV['ELASTIC_APM_SERVICE_NAME'] = service_name ENV['ELASTIC_APM_SERVER_URL'] = plain_json["trace_server_url"] ENV['ELASTIC_APM_GLOBAL_LABELS'] = global_labels puts "[SFTRACE] ELASTIC_APM_SERVICE_NAME : " + ENV['ELASTIC_APM_SERVICE_NAME'] puts "[SFTRACE] ELASTIC_APM_SERVER_URL : " + ENV['ELASTIC_APM_SERVER_URL'] puts "[SFTRACE] ELASTIC_APM_GLOBAL_LABELS : " + ENV['ELASTIC_APM_GLOBAL_LABELS'] end
set_sftrace_config(service_name, config_path)
click to toggle source
# File lib/sftrace/agent.rb, line 41 def self.set_sftrace_config(service_name, config_path) if (File.exist?(config_path)) sftrace_array = YAML.load_file(config_path) if ((sftrace_array["key"] != nil) && (sftrace_array["tags"] != nil) && (sftrace_array["tags"]["projectName"] != nil) && (sftrace_array["tags"]["appName"] != nil) ) set_config( sftrace_array["key"], sftrace_array["tags"]["projectName"], sftrace_array["tags"]["appName"], service_name ) else puts "[SFTRACE] Add all the required details in sftrace config.yaml file." end else puts "[SFTRACE] Please provide a sftrace config.yaml file or else will read from env. variables." set_config( ENV['SFTRACE_PROFILE_KEY'], ENV['SFTRACE_PROJECT_NAME'], ENV['SFTRACE_APP_NAME'], ENV['SFTRACE_SERVICE_NAME'] ) end end