Package org.eclipse.mat.jruby.resolver

## Class RubyStacktraceDumper

- java.lang.Object
- - org.eclipse.mat.jruby.resolver.RubyStacktraceDumper

All Implemented Interfaces:
  `IRequestDetailsResolver`

    public class RubyStacktraceDumper
    extends java.lang.Object
    implements IRequestDetailsResolver

Utilities for extracting Ruby stack traces from Java processes.

### Nested Class Summary

Nested Classes
`static class` `RubyStacktraceDumper.FrameModel`

### Field Summary

Fields
`static java.lang.String` `RUBY_RUNNABLE_CLASS`
`static java.lang.String` `THREAD_CONTEXT_CLASS`

### Constructor Summary

Constructors
`RubyStacktraceDumper()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `complement​(ISnapshot snapshot, IThreadInfo thread, int[] javaLocals, int thisJavaLocal, IProgressListener listener)` Add extra details
`java.util.Map<java.lang.String,​RubyStacktraceDumper.FrameModel[]>` `getAllStackTraces​(ISnapshot model)` Extracts the Ruby stack trace for all active Ruby threads in the given heap dump.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### RUBY_RUNNABLE_CLASS

    public static final java.lang.String RUBY_RUNNABLE_CLASS

See Also:
  Constant Field Values

#### THREAD_CONTEXT_CLASS

    public static final java.lang.String THREAD_CONTEXT_CLASS

See Also:
  Constant Field Values

### Constructor Detail

#### RubyStacktraceDumper

    public RubyStacktraceDumper()

### Method Detail

#### complement

    public void complement​(ISnapshot snapshot,
                           IThreadInfo thread,
                           int[] javaLocals,
                           int thisJavaLocal,
                           IProgressListener listener)
                    throws SnapshotException

Description copied from interface: `IRequestDetailsResolver`
Add extra details

Specified by:
  `complement` in interface `IRequestDetailsResolver`
Parameters:
  `snapshot` - the whole dump
  `thread` - the thread processing the request
  `javaLocals` - all the local variables, as ids
  `thisJavaLocal` - this particular object, as an id
  `listener` - to show progress and log errors
Throws:
  `SnapshotException`

#### getAllStackTraces

    public java.util.Map<java.lang.String,​RubyStacktraceDumper.FrameModel[]> getAllStackTraces​(ISnapshot model)
                                                                                              throws SnapshotException

Extracts the Ruby stack trace for all active Ruby threads in the given heap dump.

Throws:
  `SnapshotException`