elastic / elastic/apm-agent-python

Investigate options and possible overhead of global string truncation

未关闭
#306 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
agent-python
主要语言
Python
星标
431
派生
239
平均合并
5 天 10 小时
30 天内合并 PR
7

描述

To ensure some user errors don't lead to overblown payload sizes, we want to truncate all strings in the payload to a max length, similar to what we already to with strings that are stored as keywords in Elasticsearch. This could potentially be quite overhead-heavy, so we need benchmarks of different approaches

* explicitly wrap all strings in a `maybe_truncate` function that either returns the string itself or, if necessary, a truncated version
* loop over the payload and truncate all strings before serializing
* modify `JSONSerializer` to truncate strings

贡献指南

打开贡献指南

调研方向

从 JSONSerializer 和 issue 中描述的 payload 序列化路径开始。对列出的三种截断方法进行基准测试,包括它们的开销,并记录结果和推荐的方法;issue 未指定最大长度或测试目标。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
backend, performance
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。