From 797769017ab5b1a5c4bc3c9658534a75f60bd241 Mon Sep 17 00:00:00 2001 From: Mark Story Date: Wed, 21 May 2025 23:04:41 -0400 Subject: [PATCH] fix(taskworker) Fix parameter size collection I forgot that celery-beat injects kombu objects into task parameters. --- src/sentry/celery.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/sentry/celery.py b/src/sentry/celery.py index 00f73085783e66..392d1b61cb7d6e 100644 --- a/src/sentry/celery.py +++ b/src/sentry/celery.py @@ -115,7 +115,14 @@ def apply_async(self, *args, **kwargs): should_sample = random.random() <= settings.CELERY_PICKLE_ERROR_REPORT_SAMPLE_RATE if should_complain or should_sample: try: - param_size = json.dumps({"args": args, "kwargs": kwargs}) + cleaned_kwargs: dict[str, Any] = {} + for k, v in kwargs.items(): + # Remove kombu objects that celery injects + module_name = type(v).__module__ + if module_name.startswith("kombu."): + continue + cleaned_kwargs[k] = v + param_size = json.dumps({"args": args, "kwargs": cleaned_kwargs}) metrics.distribution( "celery.task.parameter_bytes", len(param_size.encode("utf8")),