Module: Julewire::GCP

Defined in:
lib/julewire/gcp.rb,
lib/julewire/gcp/version.rb,
lib/julewire/gcp/formatter.rb,
lib/julewire/gcp/destination.rb,
lib/julewire/gcp/log_decoder.rb,
lib/julewire/gcp/log_encoder.rb,
lib/julewire/gcp/stack_trace.rb,
lib/julewire/gcp/trace_context.rb,
lib/julewire/gcp/label_formatter.rb,
lib/julewire/gcp/source_location.rb,
lib/julewire/gcp/execution_payload.rb,
lib/julewire/gcp/formatter_options.rb,
lib/julewire/gcp/http_request_fields.rb,
lib/julewire/gcp/source_location_options.rb,
lib/julewire/gcp/trace_context/traceparent.rb

Defined Under Namespace

Modules: FormatterOptions, HttpRequestFields, LogDecoder, LogEncoder, SourceLocation, SourceLocationOptions, StackTrace, TraceContext Classes: Destination, ExecutionPayload, Formatter, LabelFormatter

Constant Summary collapse

CARRY_REQUEST_HEADERS =
%w[
  traceparent
  tracestate
  x-cloud-trace-context
].freeze
256 * 1024
DEFAULT_MAX_RECORD_BYTES =
RECOMMENDED_MAX_RECORD_BYTES
DEFAULT_MAX_LABELS =
64
DEFAULT_MAX_LABEL_KEY_BYTES =
512
DEFAULT_MAX_LABEL_VALUE_BYTES =
64 * 1024
JULEWIRE_PAYLOAD_FIELD =
"julewire"
VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.operation(id: nil, producer: nil, first: nil, last: nil) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/julewire/gcp.rb', line 21

def operation(id: nil, producer: nil, first: nil, last: nil)
  values = Core::Integration::Values::Shape
  operation = {}
  values.append_field(operation, :id, id)
  values.append_field(operation, :producer, producer)
  values.append_field(operation, :first, first)
  values.append_field(operation, :last, last)
  {
    gcp: {
      operation: operation
    }
  }
end

.source_location(file: nil, line: nil, function: nil) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/julewire/gcp.rb', line 35

def source_location(file: nil, line: nil, function: nil)
  values = Core::Integration::Values::Shape
  source_location = {}
  values.append_field(source_location, :file, file)
  values.append_field(source_location, :line, line)
  values.append_field(source_location, :function, function)
  {
    gcp: {
      source_location: source_location
    }
  }
end