Module: Datadog::Profiling

Defined in:
lib/ddtrace/profiling.rb,
lib/ddtrace/profiling/event.rb,
lib/ddtrace/profiling/flush.rb,
lib/ddtrace/profiling/buffer.rb,
lib/ddtrace/profiling/exporter.rb,
lib/ddtrace/profiling/recorder.rb,
lib/ddtrace/profiling/scheduler.rb,
lib/ddtrace/profiling/ext/forking.rb,
lib/ddtrace/profiling/tasks/setup.rb,
lib/ddtrace/profiling/events/stack.rb,
lib/ddtrace/profiling/transport/io.rb,
lib/ddtrace/profiling/pprof/builder.rb,
lib/ddtrace/profiling/pprof/payload.rb,
lib/ddtrace/profiling/pprof/template.rb,
lib/ddtrace/profiling/transport/http.rb,
lib/ddtrace/profiling/pprof/converter.rb,
lib/ddtrace/profiling/collectors/stack.rb,
lib/ddtrace/profiling/encoding/profile.rb,
lib/ddtrace/profiling/native_extension.rb,
lib/ddtrace/profiling/transport/client.rb,
lib/ddtrace/profiling/transport/parcel.rb,
lib/ddtrace/profiling/pprof/message_set.rb,
lib/ddtrace/profiling/transport/request.rb,
lib/ddtrace/profiling/backtrace_location.rb,
lib/ddtrace/profiling/pprof/stack_sample.rb,
lib/ddtrace/profiling/pprof/string_table.rb,
lib/ddtrace/profiling/transport/http/api.rb,
lib/ddtrace/profiling/transport/response.rb,
lib/ddtrace/profiling/transport/io/client.rb,
lib/ddtrace/profiling/transport/http/client.rb,
lib/ddtrace/profiling/transport/io/response.rb,
lib/ddtrace/profiling/transport/http/builder.rb,
lib/ddtrace/profiling/transport/http/api/spec.rb,
lib/ddtrace/profiling/transport/http/response.rb,
lib/ddtrace/profiling/trace_identifiers/helper.rb,
lib/ddtrace/profiling/trace_identifiers/ddtrace.rb,
lib/ddtrace/profiling/transport/http/api/endpoint.rb,
lib/ddtrace/profiling/transport/http/api/instance.rb,
ext/ddtrace_profiling_native_extension/profiling.c

Overview

Contains profiler for generating stack profiles, etc.

Defined Under Namespace

Modules: Collectors, Encoding, Events, Ext, NativeExtension, Pprof, Tasks, TraceIdentifiers, Transport Classes: BacktraceLocation, Buffer, Event, Exporter, Flush, Recorder, Scheduler

Constant Summary collapse

EventGroup =

Represents a collection of events of a specific type being flushed.

Struct.new(:event_class, :events).freeze

Class Method Summary collapse

Class Method Details

.supported?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/ddtrace/profiling.rb', line 14

def self.supported?
  unsupported_reason.nil?
end

.unsupported_reasonObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/ddtrace/profiling.rb', line 18

def self.unsupported_reason
  # NOTE: Only the first matching reason is returned, so try to keep a nice order on reasons -- e.g. tell users
  # first that they can't use this on JRuby before telling them that they are missing protobuf

  ruby_engine_unsupported? ||
    native_library_failed_to_load? ||
    protobuf_gem_unavailable? ||
    protobuf_version_unsupported? ||
    protobuf_failed_to_load?
end