Lightning.Channels.ChannelEvent (Lightning v2.19.0-pre)

View Source

Schema for a ChannelEvent — a detailed log entry recording HTTP request/response data for a channel request.

Event Types

  • :destination_response — emitted by Handler.persist_completion/2 on successful upstream proxy completion. Carries all fields (request/response details, latency, ttfb).
  • :error — emitted by Handler.persist_completion/2 on upstream proxy error, or by ChannelProxyPlug.record_credential_error/2 when destination credential resolution fails before proxying. Carries request fields and error_message; response fields may be nil.

Summary

Types

t()

@type t() :: %Lightning.Channels.ChannelEvent{
  __meta__: term(),
  channel_request: term(),
  channel_request_id: Ecto.UUID.t(),
  connect_us: integer() | nil,
  error_message: String.t() | nil,
  id: Ecto.UUID.t(),
  inserted_at: DateTime.t(),
  latency_us: integer() | nil,
  queue_us: integer() | nil,
  request_body_hash: String.t() | nil,
  request_body_preview: String.t() | nil,
  request_body_size: integer() | nil,
  request_headers: list() | nil,
  request_method: String.t() | nil,
  request_path: String.t() | nil,
  request_query_string: String.t() | nil,
  request_send_us: integer() | nil,
  response_body_hash: String.t() | nil,
  response_body_preview: String.t() | nil,
  response_body_size: integer() | nil,
  response_duration_us: integer() | nil,
  response_headers: list() | nil,
  response_status: integer() | nil,
  reused_connection: boolean() | nil,
  ttfb_us: integer() | nil,
  type: :destination_response | :error
}

Functions

changeset(event, attrs)