Python event reference
honeybadger-python.ASGI
asgi.request
An ASGI app finished handling an HTTP request. Used by FastAPI, Starlette, and similar frameworks.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: asgi.request. |
path | string | Request path from the ASGI scope. |
method | string | HTTP method, e.g. "GET", "POST". |
status | integer | HTTP response status code. |
duration | number | Request duration in milliseconds. |
params | object | Parsed query string params. Only present when include_params is enabled in insights_config. |
params.* | any | Additional caller-defined keys. |
request_id | string | Request ID from event context, if set. |
Example
{ "event_type": "asgi.request", "path": "/users/123", "method": "GET", "status": 200, "duration": 23.4567, "params": { "page": "2", "sort": "name" }, "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}Celery
celery.task_finished
A Celery task finished, whether it succeeded or failed.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: celery.task_finished. |
task_id | string | Celery task UUID. |
task_name | string | Fully qualified task name, e.g. "myapp.tasks.send_email". |
state | string | Final task state, e.g. "SUCCESS", "FAILURE", "RETRY". |
retries | integer | Number of retries so far. |
group | string | Celery group ID if the task is part of a group. |
duration | number | Task execution duration in milliseconds. |
args | array<any> | Positional task arguments. Only present when include_args is enabled in insights_config. |
kwargs | object | Keyword task arguments (filtered). Only present when include_args is enabled in insights_config. |
kwargs.* | any | Additional caller-defined keys. |
request_id | string | Request ID propagated from the originating request via Celery task headers. |
Example
{ "event_type": "celery.task_finished", "task_id": "9c5e8a2f-1b3d-4c6e-9f7a-2d4b6c8e0a1f", "task_name": "myapp.tasks.send_email", "state": "SUCCESS", "retries": 0, "group": "5a7d3e9b-8c1f-4b2a-9d6e-3f5a7c9e1b4d", "duration": 845.2103, "args": [ "user@example.com" ], "kwargs": { "subject": "Welcome to MyApp" }, "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}Database
db.query
A database query from the Django ORM or SQLAlchemy. Honeybadger skips queries that match exclude_queries.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: db.query. |
query | string | SQL query string. Bind parameters may appear as literals, depending on the driver. |
duration | number | Query execution duration in milliseconds. |
params | any | Query parameters. Only present when include_params is enabled in insights_config. |
request_id | string | Request ID from event context, ties this query to the enclosing request. |
Example
{ "event_type": "db.query", "query": "SELECT \"users\".* FROM \"users\" WHERE \"users\".\"id\" = %s LIMIT 1", "duration": 2.4815, "params": [ 123 ], "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}Django
django.request
A Django view finished handling an HTTP request.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: django.request. |
path | string | Request path, e.g. "/users/42". |
method | string | HTTP method, e.g. "GET", "POST". |
status | integer | HTTP response status code. |
view | string | Resolved view function name. |
module | string | Module containing the view function. |
app | string | Django app name from the URL resolver. |
duration | number | Request duration in milliseconds. |
params | object | GET and POST params. Only present when include_params is enabled in insights_config. |
params.* | any | Additional caller-defined keys. |
request_id | string | Request ID from X-Request-ID header, request.id/request_id attribute, or a generated UUID. Set in event context at request start. |
Example
{ "event_type": "django.request", "path": "/users/123", "method": "GET", "status": 200, "view": "user_detail", "module": "myapp.views", "app": "users", "duration": 58.3214, "params": { "page": "2", "sort": "name" }, "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}Flask
flask.request
A Flask route finished handling an HTTP request.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: flask.request. |
path | string | Request path, e.g. "/users/42". |
method | string | HTTP method, e.g. "GET", "POST". |
status | integer | HTTP response status code. |
view | string | Flask endpoint name (request.endpoint). |
blueprint | string | Flask blueprint name, if the route belongs to one. |
duration | number | Request duration in milliseconds. |
params | object | Query and form params. Only present when include_params is enabled in insights_config. |
params.* | any | Additional caller-defined keys. |
request_id | string | Request ID from X-Request-ID header or a generated UUID. Set in event context at request start. |
Example
{ "event_type": "flask.request", "path": "/users/123", "method": "GET", "status": 200, "view": "users.show", "blueprint": "users", "duration": 32.1875, "params": { "page": "2", "sort": "name" }, "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}Oban
oban.job_finished
An Oban job finished, whether it succeeded or failed. Emitted for both oban.job.stop and oban.job.exception telemetry events.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.job_finished. |
job_id | integer | Oban job database ID. |
worker | string | Fully qualified worker name ("module.Class"). |
queue | string | Queue the job ran on. |
state | string | Resulting job state: "completed", "retryable", "discarded", "cancelled", or "scheduled" (snoozed). Failures are "retryable" until max_attempts is exhausted, then "discarded". |
attempt | integer | Attempt number (1-based). |
max_attempts | integer | Maximum number of attempts before the job is discarded. |
duration | number | Job execution duration in milliseconds. |
queue_time | number | Time the job spent waiting in the queue (scheduled_at to attempted_at) in milliseconds. |
tags | array<string> | Tags assigned to the job. |
error_type | string | Exception class name. Only present when the job failed (state "retryable" or "discarded"). |
error_message | string | Exception message. Only present when the job failed (state "retryable" or "discarded"). |
args | object | Job arguments (filtered). Only present when include_args is enabled in insights_config. |
args.* | any | Additional caller-defined keys. |
meta | object | Job metadata (filtered). Only present when include_args is enabled in insights_config. |
meta.* | any | Additional caller-defined keys. |
request_id | string | Request ID propagated from the originating request's event context via Oban job metadata. |
Example
{ "event_type": "oban.job_finished", "job_id": 123456, "worker": "myapp.workers.WelcomeEmail", "queue": "default", "state": "completed", "attempt": 1, "max_attempts": 20, "duration": 845.2103, "queue_time": 12.5, "tags": [ "mailer" ], "error_type": "ValueError", "error_message": "invalid user id", "args": { "user_id": 42 }, "meta": { "source": "signup" }, "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a"}oban.leader_exception
Oban's leader election loop raised an exception.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.leader_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: leader. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.leader.election.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.leader_exception", "loop": "leader", "event": "oban.leader.election.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.lifeline_exception
Oban's lifeline loop, which rescues orphaned executing jobs, raised an exception.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.lifeline_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: lifeline. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.lifeline.rescue.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.lifeline_exception", "loop": "lifeline", "event": "oban.lifeline.rescue.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.producer_exception
An Oban queue producer raised an exception while fetching or acking jobs.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.producer_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: producer. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.producer.get.exception, oban.producer.ack.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.producer_exception", "loop": "producer", "event": "oban.producer.get.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.pruner_exception
Oban's pruner loop, which deletes old completed jobs, raised an exception.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.pruner_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: pruner. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.pruner.prune.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.pruner_exception", "loop": "pruner", "event": "oban.pruner.prune.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.refresher_exception
Oban's refresher loop, which refreshes producer records and cleans up stale ones, raised an exception.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.refresher_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: refresher. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.refresher.refresh.exception, oban.refresher.cleanup.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.refresher_exception", "loop": "refresher", "event": "oban.refresher.refresh.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.scheduler_exception
Oban's cron scheduler loop raised an exception while evaluating schedules.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.scheduler_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: scheduler. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.scheduler.evaluate.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.scheduler_exception", "loop": "scheduler", "event": "oban.scheduler.evaluate.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}oban.stager_exception
Oban's stager loop, which moves scheduled jobs to available, raised an exception.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: oban.stager_exception. |
loop | string | Name of the Oban maintenance loop that raised. Allowed value: stager. |
event | string | The underlying Oban telemetry event name. Allowed values: oban.stager.stage.exception. |
error_type | string | Exception class name. |
error_message | string | Exception message. |
duration | number | Duration of the failed loop iteration in milliseconds. |
Example
{ "event_type": "oban.stager_exception", "loop": "stager", "event": "oban.stager.stage.exception", "error_type": "OperationalError", "error_message": "connection to server was lost", "duration": 3.1415}