Module: Google::Cloud::Trace::LabelKey
- Defined in:
- lib/google/cloud/trace/label_key.rb
Overview
A collection of well-known label keys for trace spans.
Constant Summary collapse
- AGENT =
"/agent".freeze
- COMPONENT =
"/component".freeze
- ERROR_MESSAGE =
"/error/message".freeze
- ERROR_NAME =
"/error/name".freeze
- HTTP_CLIENT_CITY =
"/http/client_city".freeze
- HTTP_CLIENT_COUNTRY =
"/http/client_country".freeze
- HTTP_CLIENT_PROTOCOL =
"/http/client_protocol".freeze
- HTTP_CLIENT_REGION =
"/http/client_region".freeze
- HTTP_HOST =
"/http/host".freeze
- HTTP_METHOD =
"/http/method".freeze
- HTTP_REDIRECTED_URL =
"/http/redirected_url".freeze
- HTTP_REQUEST_SIZE =
"/http/request/size".freeze
- HTTP_RESPONSE_SIZE =
"/http/response/size".freeze
- HTTP_STATUS_CODE =
"/http/status_code".freeze
- HTTP_URL =
"/http/url".freeze
- HTTP_USER_AGENT =
"/http/user_agent".freeze
- PID =
"/pid".freeze
- STACKTRACE =
"/stacktrace".freeze
- TID =
"/tid".freeze
- GAE_APPLICATION_ERROR =
"g.co/gae/application_error".freeze
- GAE_APP_MODULE =
"g.co/gae/app/module".freeze
- GAE_APP_MODULE_VERSION =
"g.co/gae/app/module_version".freeze
- GAE_APP_VERSION =
"g.co/gae/app/version".freeze
- GAE_DATASTORE_COUNT =
"g.co/gae/datastore/count".freeze
- GAE_DATASTORE_CURSOR =
"g.co/gae/datastore/cursor".freeze
- GAE_DATASTORE_ENTITY_WRITES =
"g.co/gae/datastore/entity_writes".freeze
- GAE_DATASTORE_HAS_ANCESTOR =
"g.co/gae/datastore/has_ancestor".freeze
- GAE_DATASTORE_HAS_CURSOR =
"g.co/gae/datastore/has_cursor".freeze
- GAE_DATASTORE_HAS_TRANSACTION =
"g.co/gae/datastore/has_transaction".freeze
- GAE_DATASTORE_INDEX_WRITES =
"g.co/gae/datastore/index_writes".freeze
- GAE_DATASTORE_KIND =
"g.co/gae/datastore/kind".freeze
- GAE_DATASTORE_LIMIT =
"g.co/gae/datastore/limit".freeze
- GAE_DATASTORE_MORE_RESULTS =
"g.co/gae/datastore/more_results".freeze
- GAE_DATASTORE_OFFSET =
"g.co/gae/datastore/offset".freeze
- GAE_DATASTORE_REQUESTED_ENTITY_DELETES =
"g.co/gae/datastore/requested_entity_deletes".freeze
- GAE_DATASTORE_REQUESTED_ENTITY_PUTS =
"g.co/gae/datastore/requested_entity_puts".freeze
- GAE_DATASTORE_SIZE =
"g.co/gae/datastore/size".freeze
- GAE_DATASTORE_SKIPPED =
"g.co/gae/datastore/skipped".freeze
- GAE_DATASTORE_TRANSACTION_HANDLE =
"g.co/gae/datastore/transaction_handle".freeze
- GAE_ERROR_MESSAGE =
"g.co/gae/error_message".freeze
- GAE_MEMCACHE_COUNT =
"g.co/gae/memcache/count".freeze
- GAE_MEMCACHE_SIZE =
"g.co/gae/memcache/size".freeze
- GAE_REQUEST_LOG_ID =
"g.co/gae/request_log_id".freeze
- RPC_HOST =
"/rpc/host".freeze
- RPC_REQUEST_TYPE =
"/rpc/request/type".freeze
- RPC_REQUEST_SIZE =
"/rpc/request/size".freeze
- RPC_RESPONSE_SIZE =
"/rpc/response/size".freeze
- RPC_STATUS_CODE =
"/rpc/status_code".freeze
Class Method Summary collapse
-
.set_stack_trace(labels, stack_frames: nil, skip_frames: 1, truncate_stack: nil, filter_stack: nil) ⇒ Object
Set the stack trace label in the given labels hash.
Class Method Details
.set_stack_trace(labels, stack_frames: nil, skip_frames: 1, truncate_stack: nil, filter_stack: nil) ⇒ Object
Set the stack trace label in the given labels hash. The current call stack is formatted so the Stackdriver UI will display it.
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/google/cloud/trace/label_key.rb', line 114 def self.set_stack_trace labels, stack_frames: nil, skip_frames: 1, truncate_stack: nil, filter_stack: nil stack_frames ||= ::Kernel.caller_locations skip_frames json_frames = [] collecting_frames = !truncate_stack stack_frames.each do |frame| collecting_frames ||= truncate_stack.call frame next unless collecting_frames next unless !filter_stack || filter_stack.call(frame) json_frames << { file_name: frame.absolute_path, line_number: frame.lineno, method_name: frame.label } end json_object = { stack_frame: json_frames } labels[STACKTRACE] = JSON.generate json_object end |