Skip to content

Elixir event reference

View Markdown
Every event the Honeybadger Elixir package sends to Insights when instrumentation is enabled: Phoenix requests and LiveView lifecycles, Ecto queries, Oban jobs, Absinthe GraphQL operations, Ash actions, and Finch and Tesla HTTP client requests. Each entry lists the event's fields with their types, and links to its raw JSON Schema.
18 events emitted by honeybadger-elixir.

Absinthe

absinthe.execute.operation.exception

An Absinthe GraphQL operation raised an exception. Uses the same fields as absinthe.execute.operation.stop.

FieldTypeDescription
event_typestringAllowed value: absinthe.execute.operation.exception.
operation_namestringNamed operation from the GraphQL query, if present.
operation_typestringOperation type: "query", "mutation", or "subscription".
selectionsarray<string>Top-level field names selected in the operation.
schemastringAbsinthe schema module name.
errorsarray<object>GraphQL errors returned in the result, if any.
durationnumberDuration in microseconds before the exception was raised.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "absinthe.execute.operation.exception",
"operation_name": "CreateUser",
"operation_type": "mutation",
"selections": [
"createUser"
],
"schema": "Elixir.MyAppWeb.Schema",
"errors": [
{
"message": "An unexpected error occurred",
"path": [
"createUser"
]
}
],
"duration": 12000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

absinthe.execute.operation.stop

An Absinthe GraphQL operation finished.

FieldTypeDescription
event_typestringAllowed value: absinthe.execute.operation.stop.
operation_namestringNamed operation from the GraphQL query, if present.
operation_typestringOperation type: "query", "mutation", or "subscription".
selectionsarray<string>Top-level field names selected in the operation.
schemastringAbsinthe schema module name.
errorsarray<object>GraphQL errors returned in the result, if any.
durationnumberOperation execution duration in microseconds.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "absinthe.execute.operation.stop",
"operation_name": "GetUser",
"operation_type": "query",
"selections": [
"user"
],
"schema": "Elixir.MyAppWeb.Schema",
"duration": 25000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

absinthe.resolve.field.stop

An Absinthe field resolver finished. Enable this in insights_config telemetry_events. This can create a lot of events.

FieldTypeDescription
event_typestringAllowed value: absinthe.resolve.field.stop.
field_namestringThe field being resolved.
parent_typestringThe parent type containing the field.
statestringResolution state, e.g. "resolved", "unresolved".
durationnumberField resolution duration in microseconds.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "absinthe.resolve.field.stop",
"field_name": "user",
"parent_type": "RootQueryType",
"state": "resolved",
"duration": 1800,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

Ash

ash.action.stop

An Ash action span finished. Honeybadger records this when :action is included in trace_types. The default trace_types are [:custom, :action].

FieldTypeDescription
event_typestringAllowed value: ash.action.stop.
span_idstringUnique ID for this span, for correlating nested spans.
namestringSpan name, typically the action or operation name.
parent_span_idstringID of the parent span, enabling operation tree reconstruction.
durationnumberSpan duration in microseconds.
metadataobjectAdditional metadata set via set_metadata/2.
metadata.*anyAdditional caller-defined keys.
errorobjectPresent when the span records an error with set_error/2.
error.classstringException module name.
error.messagestringException message.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "ash.action.stop",
"span_id": "a7c3e9f1b5d2480c9e6a1f3b7d5c2e80",
"name": "accounts:user.create",
"parent_span_id": "4f8b2d6c0a1e3957b8d4f6a2c0e91b37",
"duration": 18500,
"metadata": {
"resource_short_name": "user",
"action": "create"
},
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

ash.custom.stop

An Ash custom span finished. Honeybadger records this when :custom is included in trace_types. The default trace_types are [:custom, :action].

FieldTypeDescription
event_typestringAllowed value: ash.custom.stop.
span_idstringUnique ID for this span, for correlating nested spans.
namestringSpan name, typically the action or operation name.
parent_span_idstringID of the parent span, enabling operation tree reconstruction.
durationnumberSpan duration in microseconds.
metadataobjectAdditional metadata set via set_metadata/2.
metadata.*anyAdditional caller-defined keys.
errorobjectPresent when the span records an error with set_error/2.
error.classstringException module name.
error.messagestringException message.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "ash.custom.stop",
"span_id": "e1f3a5c7d9b2486e0a2c4f6b8d105397",
"name": "sync_external_accounts",
"parent_span_id": "a7c3e9f1b5d2480c9e6a1f3b7d5c2e80",
"duration": 32000,
"metadata": {
"source": "crm",
"batch_size": 100
},
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

ash.query.stop

An Ash query span finished. Honeybadger records this when :query is included in trace_types.

FieldTypeDescription
event_typestringAllowed value: ash.query.stop.
span_idstringUnique ID for this span, for correlating nested spans.
namestringSpan name, typically the action or operation name.
parent_span_idstringID of the parent span, enabling operation tree reconstruction.
durationnumberSpan duration in microseconds.
metadataobjectAdditional metadata set via set_metadata/2.
metadata.*anyAdditional caller-defined keys.
errorobjectPresent when the span records an error with set_error/2.
error.classstringException module name.
error.messagestringException message.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "ash.query.stop",
"span_id": "c2e4a6f8b0d1395c7e9a1b3d5f70c284",
"name": "accounts:user.read",
"parent_span_id": "a7c3e9f1b5d2480c9e6a1f3b7d5c2e80",
"duration": 4200,
"metadata": {
"resource_short_name": "user",
"action": "read"
},
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

Ecto

ecto.query

An Ecto repository ran a database query. The event_type comes from the repo telemetry_prefix, so [:my_app, :repo, :query] becomes "my_app.repo.query". Honeybadger skips transaction bookkeeping, schema migrations, and Oban job table queries by default.

FieldTypeDescription
event_typestring
querystringObfuscated SQL with bind parameters replaced by ?.
sourcestringTable/source name the query targets.
query_timenumberTime spent executing the query in microseconds.
decode_timenumberTime spent decoding the result in microseconds.
queue_timenumberTime spent waiting for a database connection in microseconds.
total_timenumberTotal time including queue, query, and decode in microseconds.
stacktracearray<array<string>>Formatted call stack at query time. Present when include_stacktrace is true and the repo has stacktrace enabled.
paramsarray<any>Query parameters. Present when include_params is true.
request_idstringRequest ID from the current EventContext.
idle_timenumberTime the connection spent idle before the query in microseconds.
Example
{
"event_type": "my_app.repo.query",
"query": "SELECT u0.\"id\", u0.\"email\", u0.\"name\" FROM \"users\" AS u0 WHERE (u0.\"id\" = $?)",
"source": "users",
"query_time": 3200,
"decode_time": 180,
"queue_time": 45,
"total_time": 3425,
"stacktrace": [
[
"lib/my_app/accounts.ex:27",
"MyApp.Accounts.get_user!/1"
],
[
"lib/my_app_web/controllers/user_controller.ex:14",
"MyAppWeb.UserController.show/2"
]
],
"params": [
42
],
"request_id": "F8ZBOg1zcBQDqDgAAADx",
"idle_time": 120000
}

Finch

finch.request.stop

A Finch HTTP request finished. By default, Honeybadger stores only the hostname. Enable full_url in insights_config to include the path.

FieldTypeDescription
event_typestringAllowed value: finch.request.stop.
namestringFinch pool name.
methodstringHTTP method, e.g. "GET", "POST".
hoststringDestination hostname.
urlstringFull URL without query params. Present when full_url is true.
statusintegerHTTP response status code. Present on successful (non-streaming) responses.
streamingbooleanTrue for streaming requests where no status code is available.
errorstringError message if the request failed.
durationnumberRequest round-trip duration in microseconds.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "finch.request.stop",
"name": "Elixir.MyApp.Finch",
"method": "GET",
"host": "api.example.com",
"url": "https://api.example.com/v1/users",
"status": 200,
"streaming": false,
"duration": 85000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

Oban

oban.job.exception

An Oban job raised an exception or exited. Uses the same fields as oban.job.stop.

FieldTypeDescription
event_typestringAllowed value: oban.job.exception.
idintegerOban job database ID.
workerstringWorker module name.
queuestringQueue the job ran on.
statestringFinal job state, e.g. "failure", "discard".
attemptintegerAttempt number (1-based).
prefixstringOban database prefix (schema).
tagsarray<string>Tags assigned to the job.
argsobjectJob arguments map.
args.*anyAdditional caller-defined keys.
durationnumberJob execution duration in microseconds.
request_idstringRequest ID propagated from the originating request or generated for background jobs.
Example
{
"event_type": "oban.job.exception",
"id": 123457,
"worker": "MyApp.Workers.WelcomeEmail",
"queue": "default",
"state": "failure",
"attempt": 2,
"prefix": "public",
"tags": [
"mailer"
],
"args": {
"user_id": 42
},
"duration": 125000,
"request_id": "f2a9c81d4e6b3a7f0c5d9e2b8a4f6c1d"
}

oban.job.stop

An Oban job finished without an error.

FieldTypeDescription
event_typestringAllowed value: oban.job.stop.
idintegerOban job database ID.
workerstringWorker module name.
queuestringQueue the job ran on.
statestringFinal job state, e.g. "success", "cancelled", "discard".
attemptintegerAttempt number (1-based).
prefixstringOban database prefix (schema).
tagsarray<string>Tags assigned to the job.
argsobjectJob arguments map.
args.*anyAdditional caller-defined keys.
durationnumberJob execution duration in microseconds.
request_idstringRequest ID propagated from the originating request via Oban job metadata, or a newly generated ID for background jobs.
Example
{
"event_type": "oban.job.stop",
"id": 123456,
"worker": "MyApp.Workers.WelcomeEmail",
"queue": "default",
"state": "success",
"attempt": 1,
"prefix": "public",
"tags": [
"mailer"
],
"args": {
"user_id": 42
},
"duration": 350000,
"request_id": "f2a9c81d4e6b3a7f0c5d9e2b8a4f6c1d"
}

Phoenix

phoenix.endpoint.stop

A Phoenix or Plug request finished. Honeybadger records this from the Plug.Telemetry :stop event.

FieldTypeDescription
event_typestringAllowed value: phoenix.endpoint.stop.
methodstringHTTP method, e.g. "GET", "POST".
request_pathstringRequest path, e.g. "/users/42".
statusintegerHTTP response status code.
paramsobjectRequest params map.
params.*anyAdditional caller-defined keys.
route_typestringHow the request was routed. Allowed values: controller, live, unknown.
controllerstringPhoenix controller module name. Present when route_type is "controller".
actionstringController action name. Present when route_type is "controller".
live_viewstringLiveView module name. Present when route_type is "live".
live_actionstringLiveView action atom. Present when route_type is "live".
formatstringResponse format, e.g. "html", "json".
viewstringPhoenix view module name.
templatestringTemplate rendered.
durationnumberTotal request duration in microseconds.
request_idstringRequest ID set from the x-request-id response header or assigns. Present on all events fired within a request context.
Example
{
"event_type": "phoenix.endpoint.stop",
"method": "GET",
"request_path": "/users/42",
"status": 200,
"params": {
"id": "42"
},
"route_type": "controller",
"controller": "MyAppWeb.UserController",
"action": "show",
"live_view": "MyAppWeb.UserLive.Show",
"live_action": "show",
"format": "html",
"view": "MyAppWeb.UserHTML",
"template": "show.html",
"duration": 150000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

Phoenix LiveView

phoenix.live_component.handle_event.stop

A Phoenix LiveComponent handled a client event.

FieldTypeDescription
event_typestringAllowed value: phoenix.live_component.handle_event.stop.
urlstringURL of the LiveView at the time of the event.
socket_idstringLiveView socket ID.
viewstringLiveView module name.
componentstringLiveComponent module name, if applicable.
assignsobjectSocket assigns at the time of the event.
assigns.*anyAdditional caller-defined keys.
paramsobjectParams passed to the event handler.
params.*anyAdditional caller-defined keys.
eventstringEvent name for handle_event events.
durationnumberDuration in microseconds.
request_idstringRequest ID generated at LiveView mount and shared by events on the same socket.
Example
{
"event_type": "phoenix.live_component.handle_event.stop",
"url": "https://www.example.com/users/42/edit",
"socket_id": "phx-F8ZBOg1zcBQDqDgAAACB",
"view": "MyAppWeb.UserLive.Show",
"component": "MyAppWeb.UserLive.FormComponent",
"assigns": {
"page_title": "Edit user",
"current_user_id": 42
},
"params": {
"user": {
"name": "Jane Doe"
}
},
"event": "validate",
"duration": 15000,
"request_id": "b3d5a1f0c2e4968a7d1b3f5c9e0a2d4f"
}

phoenix.live_component.update.stop

A Phoenix LiveComponent updated.

FieldTypeDescription
event_typestringAllowed value: phoenix.live_component.update.stop.
urlstringURL of the LiveView at the time of the event.
socket_idstringLiveView socket ID.
viewstringLiveView module name.
componentstringLiveComponent module name, if applicable.
assignsobjectSocket assigns at the time of the event.
assigns.*anyAdditional caller-defined keys.
paramsobjectParams passed to the event handler.
params.*anyAdditional caller-defined keys.
eventstringEvent name for handle_event events.
durationnumberDuration in microseconds.
request_idstringRequest ID generated at LiveView mount and shared by events on the same socket.
Example
{
"event_type": "phoenix.live_component.update.stop",
"url": "https://www.example.com/users/42/edit",
"socket_id": "phx-F8ZBOg1zcBQDqDgAAACB",
"view": "MyAppWeb.UserLive.Show",
"component": "MyAppWeb.UserLive.FormComponent",
"assigns": {
"page_title": "Edit user",
"current_user_id": 42
},
"params": {
"id": "42"
},
"duration": 8500,
"request_id": "b3d5a1f0c2e4968a7d1b3f5c9e0a2d4f"
}

phoenix.live_view.handle_event.stop

A Phoenix LiveView handled a client event such as phx-click.

FieldTypeDescription
event_typestringAllowed value: phoenix.live_view.handle_event.stop.
urlstringURL of the LiveView at the time of the event.
socket_idstringLiveView socket ID.
viewstringLiveView module name.
componentstringLiveComponent module name, if applicable.
assignsobjectSocket assigns at the time of the event.
assigns.*anyAdditional caller-defined keys.
paramsobjectParams passed to the event handler.
params.*anyAdditional caller-defined keys.
eventstringEvent name for handle_event events.
durationnumberDuration in microseconds.
request_idstringRequest ID generated at LiveView mount and shared by events on the same socket.
Example
{
"event_type": "phoenix.live_view.handle_event.stop",
"url": "https://www.example.com/users/42/edit",
"socket_id": "phx-F8ZBOg1zcBQDqDgAAACB",
"view": "MyAppWeb.UserLive.Show",
"assigns": {
"page_title": "Edit user",
"current_user_id": 42
},
"params": {
"user": {
"name": "Jane Doe"
}
},
"event": "save",
"duration": 28000,
"request_id": "b3d5a1f0c2e4968a7d1b3f5c9e0a2d4f"
}

phoenix.live_view.handle_params.stop

A Phoenix LiveView handled URL params from a navigate or patch.

FieldTypeDescription
event_typestringAllowed value: phoenix.live_view.handle_params.stop.
urlstringURL of the LiveView at the time of the event.
socket_idstringLiveView socket ID.
viewstringLiveView module name.
componentstringLiveComponent module name, if applicable.
assignsobjectSocket assigns at the time of the event.
assigns.*anyAdditional caller-defined keys.
paramsobjectParams passed to the event handler.
params.*anyAdditional caller-defined keys.
eventstringEvent name for handle_event events.
durationnumberDuration in microseconds.
request_idstringRequest ID generated at LiveView mount and shared by events on the same socket.
Example
{
"event_type": "phoenix.live_view.handle_params.stop",
"url": "https://www.example.com/users/42?tab=activity",
"socket_id": "phx-F8ZBOg1zcBQDqDgAAACB",
"view": "MyAppWeb.UserLive.Show",
"assigns": {
"page_title": "Show user",
"current_user_id": 42
},
"params": {
"id": "42",
"tab": "activity"
},
"duration": 12000,
"request_id": "b3d5a1f0c2e4968a7d1b3f5c9e0a2d4f"
}

phoenix.live_view.mount.stop

A Phoenix LiveView mounted for a client connection.

FieldTypeDescription
event_typestringAllowed value: phoenix.live_view.mount.stop.
urlstringURL of the LiveView at the time of the event.
socket_idstringLiveView socket ID.
viewstringLiveView module name.
componentstringLiveComponent module name, if applicable.
assignsobjectSocket assigns at the time of the event.
assigns.*anyAdditional caller-defined keys.
paramsobjectParams passed to the event handler.
params.*anyAdditional caller-defined keys.
eventstringEvent name for handle_event events.
durationnumberDuration in microseconds.
request_idstringRequest ID generated at LiveView mount and shared by events on the same socket.
Example
{
"event_type": "phoenix.live_view.mount.stop",
"url": "https://www.example.com/users/42",
"socket_id": "phx-F8ZBOg1zcBQDqDgAAACB",
"view": "MyAppWeb.UserLive.Show",
"assigns": {
"page_title": "Show user",
"current_user_id": 42
},
"params": {
"id": "42"
},
"duration": 45000,
"request_id": "b3d5a1f0c2e4968a7d1b3f5c9e0a2d4f"
}

Tesla

tesla.request.exception

A Tesla HTTP request raised an exception. By default, Honeybadger stores only the hostname. Enable full_url in insights_config to include the path. If Tesla uses Finch, Honeybadger records the Finch event instead of a second Tesla event.

FieldTypeDescription
event_typestringAllowed value: tesla.request.exception.
methodstringHTTP method in uppercase, e.g. "GET", "POST".
hoststringDestination hostname.
status_codeintegerHTTP response status code.
urlstringFull request URL. Present when full_url is true.
durationnumberRequest round-trip duration in microseconds.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "tesla.request.exception",
"method": "POST",
"host": "api.example.com",
"status_code": 500,
"url": "https://api.example.com/v1/payments",
"duration": 30000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}

tesla.request.stop

A Tesla HTTP request finished. By default, Honeybadger stores only the hostname. Enable full_url in insights_config to include the path. If Tesla uses Finch, Honeybadger records the Finch event instead of a second Tesla event.

FieldTypeDescription
event_typestringAllowed value: tesla.request.stop.
methodstringHTTP method in uppercase, e.g. "GET", "POST".
hoststringDestination hostname.
status_codeintegerHTTP response status code.
urlstringFull request URL. Present when full_url is true.
durationnumberRequest round-trip duration in microseconds.
request_idstringRequest ID from the current EventContext.
Example
{
"event_type": "tesla.request.stop",
"method": "GET",
"host": "api.example.com",
"status_code": 200,
"url": "https://api.example.com/v1/users",
"duration": 92000,
"request_id": "F8ZBOg1zcBQDqDgAAADx"
}