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 Object implements IRequestDetailsResolver
Utilities for extracting Ruby stack traces from Java processes.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`RubyStacktraceDumper.FrameModel`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`RUBY_RUNNABLE_CLASS`
`static final String`
`THREAD_CONTEXT_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`RubyStacktraceDumper()`

## Method Summary

Modifier and Type
Method
Description
`void`
`complement(ISnapshot snapshot, IThreadInfo thread, int[] javaLocals, int thisJavaLocal, IProgressListener listener)`
Add extra details
`Map<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 Details

### RUBY_RUNNABLE_CLASS

public static final String RUBY_RUNNABLE_CLASS

See Also:
  - Constant Field Values

### THREAD_CONTEXT_CLASS

public static final String THREAD_CONTEXT_CLASS

See Also:
  - Constant Field Values

## Constructor Details

### RubyStacktraceDumper

public RubyStacktraceDumper()

## Method Details

### 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 Map<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`