From 9c6dd4bb86cdb7145a67e2ddf0ff0aecd183067a Mon Sep 17 00:00:00 2001 From: amukhin Date: Mon, 13 Mar 2023 18:35:42 +0000 Subject: [PATCH 1/3] feat: add support for custom transport json_serializer method --- elasticapm/base.py | 3 +++ elasticapm/conf/__init__.py | 1 + 2 files changed, 4 insertions(+) diff --git a/elasticapm/base.py b/elasticapm/base.py index cf7485a56..0ca00e5f5 100644 --- a/elasticapm/base.py +++ b/elasticapm/base.py @@ -151,6 +151,9 @@ def __init__(self, config=None, **inline): "timeout": self.config.server_timeout, "processors": self.load_processors(), } + if config.transport_json_serializer: + transport_kwargs['json_serializer'] = config.transport_json_serializer + self._api_endpoint_url = urllib.parse.urljoin( self.config.server_url if self.config.server_url.endswith("/") else self.config.server_url + "/", constants.EVENTS_API_PATH, diff --git a/elasticapm/conf/__init__.py b/elasticapm/conf/__init__.py index c1ecbdf53..6c4748510 100644 --- a/elasticapm/conf/__init__.py +++ b/elasticapm/conf/__init__.py @@ -547,6 +547,7 @@ class Config(_ConfigBase): ) service_node_name = _ConfigValue("SERVICE_NODE_NAME") environment = _ConfigValue("ENVIRONMENT") + transport_json_serializer = _ConfigValue("TRANSPORT_JSON_SERIALIZER") secret_token = _ConfigValue("SECRET_TOKEN") api_key = _ConfigValue("API_KEY") debug = _BoolConfigValue("DEBUG", default=False) From dd069fe00933f18174045090041f6b9a61eb2782 Mon Sep 17 00:00:00 2001 From: Colton Myers Date: Tue, 14 Mar 2023 15:16:11 -0400 Subject: [PATCH 2/3] Lint --- elasticapm/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elasticapm/base.py b/elasticapm/base.py index 0ca00e5f5..355e2016e 100644 --- a/elasticapm/base.py +++ b/elasticapm/base.py @@ -152,7 +152,7 @@ def __init__(self, config=None, **inline): "processors": self.load_processors(), } if config.transport_json_serializer: - transport_kwargs['json_serializer'] = config.transport_json_serializer + transport_kwargs["json_serializer"] = config.transport_json_serializer self._api_endpoint_url = urllib.parse.urljoin( self.config.server_url if self.config.server_url.endswith("/") else self.config.server_url + "/", From 712124fcc5f30a9b2d9405d2edf1f004a8980899 Mon Sep 17 00:00:00 2001 From: Colton Myers Date: Tue, 14 Mar 2023 15:18:01 -0400 Subject: [PATCH 3/3] CHANGELOG --- CHANGELOG.asciidoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 0355fb0a3..9d84ad835 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -33,8 +33,10 @@ endif::[] // Unreleased changes go here // When the next release happens, nest these changes under the "Python Agent version 6.x" heading -//[float] -//===== Features +[float] +===== Features + +* Add `transport_json_serializer` configuration option {pull}1777[#1777] [float] ===== Bug fixes