作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要设置一个 /metrics
端点,以便 Prometheus 可以使用有关端点的统计信息。我该怎么做?
我的 Flask 应用程序中有这个:
@app.route('/metrics')
def metrics():
def generateMetrics():
metrics = ""
... some string builder logic
return metrics
response = make_response(generateMetrics(), 200)
response.mimetype = "text/plain"
return response
metrics
)和返回纯文本有什么区别?为什么我需要 mimetype?
最佳答案
这是最好的方法吗?
有几种方法可以设置 MIME 类型,更好地解释和讨论 in this StackOverflow question 。你的方式工作正常并完成工作。
返回字符串和返回纯文本有什么区别?
如果你返回一个字符串 Flask 会自动 handle some of the Response logic for you 。这意味着使用一些默认值。如果您设置了两个不同的端点,您将看到不同之处在于您的代码返回以下 header :
Content-Type:"text/plain; charset=utf-8"
Content-Type:"text/html; charset=utf-8"
from flask import Flask, make_response
app = Flask(__name__)
def generateMetrics():
return "hello world"
@app.route('/metrics')
def metrics():
response = make_response(generateMetrics(), 200)
response.mimetype = "text/plain"
return response
@app.route('/metrics2')
def metrics2():
return generateMetrics()
关于python - 如何从 flask 端点返回纯文本?普罗米修斯需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57296472/
我是一名优秀的程序员,十分优秀!