Module: Appsignal::Extension::Jruby Private

Extended by:
FFI::Library
Includes:
StringHelpers
Included in:
Appsignal::Extension
Defined in:
lib/appsignal/extension/jruby.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

JRuby extension wrapper

Only loaded if the system is detected as JRuby.

Defined Under Namespace

Modules: StringHelpers Classes: Data, Transaction

Class Method Summary collapse

Instance Method Summary collapse

Methods included from StringHelpers

#make_appsignal_string, #make_ruby_string

Class Method Details

.lib_extensionObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



42
43
44
45
46
47
48
# File 'lib/appsignal/extension/jruby.rb', line 42

def self.lib_extension
  if Appsignal::System.agent_platform.include?("darwin")
    "dylib"
  else
    "so"
  end
end

Instance Method Details

#add_distribution_value(key, value) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



241
242
243
# File 'lib/appsignal/extension/jruby.rb', line 241

def add_distribution_value(key, value)
  appsignal_add_distribution_value(make_appsignal_string(key), value)
end

#data_array_newObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



217
218
219
# File 'lib/appsignal/extension/jruby.rb', line 217

def data_array_new
  Data.new(appsignal_data_array_new)
end

#data_map_newObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



213
214
215
# File 'lib/appsignal/extension/jruby.rb', line 213

def data_map_new
  Data.new(appsignal_data_map_new)
end

#diagnoseObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



193
194
195
# File 'lib/appsignal/extension/jruby.rb', line 193

def diagnose
  make_ruby_string(appsignal_diagnose)
end

#get_server_state(key) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



197
198
199
200
# File 'lib/appsignal/extension/jruby.rb', line 197

def get_server_state(key)
  state = appsignal_get_server_state(make_appsignal_string(key))
  make_ruby_string state if state[:len] > 0
end

#increment_counter(key, value) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



237
238
239
# File 'lib/appsignal/extension/jruby.rb', line 237

def increment_counter(key, value)
  appsignal_increment_counter(make_appsignal_string(key), value)
end

#running_in_container?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


221
222
223
# File 'lib/appsignal/extension/jruby.rb', line 221

def running_in_container?
  appsignal_running_in_container
end

#set_gauge(key, value) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



225
226
227
# File 'lib/appsignal/extension/jruby.rb', line 225

def set_gauge(key, value)
  appsignal_set_gauge(make_appsignal_string(key), value)
end

#set_host_gauge(key, value) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



229
230
231
# File 'lib/appsignal/extension/jruby.rb', line 229

def set_host_gauge(key, value)
  appsignal_set_host_gauge(make_appsignal_string(key), value)
end

#set_process_gauge(key, value) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



233
234
235
# File 'lib/appsignal/extension/jruby.rb', line 233

def set_process_gauge(key, value)
  appsignal_set_process_gauge(make_appsignal_string(key), value)
end

#startObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



185
186
187
# File 'lib/appsignal/extension/jruby.rb', line 185

def start
  appsignal_start
end

#start_transaction(transaction_id, namespace, gc_duration_ms) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



202
203
204
205
206
207
208
209
210
211
# File 'lib/appsignal/extension/jruby.rb', line 202

def start_transaction(transaction_id, namespace, gc_duration_ms)
  transaction = appsignal_start_transaction(
    make_appsignal_string(transaction_id),
    make_appsignal_string(namespace),
    gc_duration_ms
  )

  return if !transaction || transaction.null?
  Transaction.new(transaction)
end

#stopObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



189
190
191
# File 'lib/appsignal/extension/jruby.rb', line 189

def stop
  appsignal_stop
end