prometheus / prometheus/client_python
reuse address on server
未关闭
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 4.4k
- 派生
- 876
- 平均合并
- 8 天 4 小时
- 30 天内合并 PR
- 1
描述
start_hpp_server should reuse the port if it is already being used, most likely due to an earlier instance going down and we are restarting
File "lib64/python3.4/site-packages/prometheus_client/exposition.py", line 103, in run
httpd = HTTPServer((addr, port), MetricsHandler)
File "/usr/lib64/python3.4/socketserver.py", line 430, in __init__
self.server_bind()
File "/usr/lib64/python3.4/http/server.py", line 136, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib64/python3.4/socketserver.py", line 444, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 start_hpp_server 以及 lib64/python3.4/site-packages/prometheus_client/exposition.py 第 103 行所示的 HTTPServer 设置开始。重现会引发 Errno 98 的重启场景,然后检查周围的服务器启动路径。当之前的实例可以停止,并且服务器可以在同一端口上重新启动而不会出现所报告的地址已被占用错误时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- observability
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100