Class: Gruf::Errors::DebugInfo
- Inherits:
-
Object
- Object
- Gruf::Errors::DebugInfo
- Defined in:
- lib/gruf/errors/debug_info.rb
Overview
Represents debugging information for an exception that occurred in a gRPC service
Instance Attribute Summary collapse
-
#detail ⇒ String
readonly
The detail message of the exception.
-
#stack_trace ⇒ Array<String>
readonly
The stack trace generated by the exception as an array of strings.
Instance Method Summary collapse
-
#initialize(detail, stack_trace = []) ⇒ DebugInfo
constructor
A new instance of DebugInfo.
-
#to_h ⇒ Hash
Return this object marshalled into a hash.
Constructor Details
#initialize(detail, stack_trace = []) ⇒ DebugInfo
Returns a new instance of DebugInfo.
33 34 35 36 37 38 39 40 41 |
# File 'lib/gruf/errors/debug_info.rb', line 33 def initialize(detail, stack_trace = []) @detail = detail @stack_trace = (stack_trace.is_a?(String) ? stack_trace.split("\n") : stack_trace) # Limit the size of the stack trace to reduce risk of overflowing metadata stack_trace_limit = Gruf.backtrace_limit.to_i stack_trace_limit = 10 if stack_trace_limit.negative? @stack_trace = @stack_trace[0..stack_trace_limit] if stack_trace_limit.positive? end |
Instance Attribute Details
#detail ⇒ String (readonly)
Returns The detail message of the exception.
25 26 27 |
# File 'lib/gruf/errors/debug_info.rb', line 25 def detail @detail end |
#stack_trace ⇒ Array<String> (readonly)
Returns The stack trace generated by the exception as an array of strings.
27 28 29 |
# File 'lib/gruf/errors/debug_info.rb', line 27 def stack_trace @stack_trace end |
Instance Method Details
#to_h ⇒ Hash
Return this object marshalled into a hash
48 49 50 51 52 53 |
# File 'lib/gruf/errors/debug_info.rb', line 48 def to_h { detail: detail, stack_trace: stack_trace } end |