Google cloud platform 当使用Cloud Run和Stackdriver时,Micrometer自定义指标如何适用于很少短调用的容器

Google cloud platform 当使用Cloud Run和Stackdriver时,Micrometer自定义指标如何适用于很少短调用的容器,google-cloud-platform,stackdriver,google-cloud-run,micrometer,Google Cloud Platform,Stackdriver,Google Cloud Run,Micrometer,我一直在阅读Cloud Run文档和Millimer文档的部分内容,但我还没有确信Millimer完全支持用于自定义度量的无服务器工作流,甚至不知道它应该如何工作 云运行自动缩放声明: 例如,当实例处理完请求后 在这种情况下,容器实例可能会保持空闲一段时间 需要处理另一个请求。空闲容器实例可能会 持久化资源,例如开放数据库连接。然而,对于 云运行(完全管理),CPU将不可用 重要的收获是: 实例可能会在“一段时间”内保持空闲状态,具体时间不详 CPU将不可用 测微计Stackdriver表示

我一直在阅读Cloud Run文档和Millimer文档的部分内容,但我还没有确信Millimer完全支持用于自定义度量的无服务器工作流,甚至不知道它应该如何工作

云运行自动缩放声明:

例如,当实例处理完请求后 在这种情况下,容器实例可能会保持空闲一段时间 需要处理另一个请求。空闲容器实例可能会 持久化资源,例如开放数据库连接。然而,对于 云运行(完全管理),CPU将不可用

重要的收获是:

  • 实例可能会在“一段时间”内保持空闲状态,具体时间不详
  • CPU将不可用
测微计Stackdriver表示,以一分钟的默认间隔向Stackdriver发送度量:

向Stackdriver Monitoring发送度量的间隔。默认值为1分钟

外卖:

  • 在向stackdriver发送任何度量之前,服务应至少运行一分钟
我也看了一下,但是没有找到这个用例的任何特殊处理,或者关于如何处理它的任何信息

问题
  • 如果云运行容器每30分钟调用一次,但运行时间仅为30秒,会发生什么情况?是否将任何自定义指标发送给Stackdriver

  • 有没有办法减轻这种情况

    • 假设不可能知道调用的运行时
    • 你只想支付执行时间的最低金额

实际上,当没有处理任何请求时,实例的CPU占用率非常低(用于保持某些状态,如DB连接池或类似的东西)

顺便说一句,您可以尝试一下您的工作流,很可能非常低的可用CPU足以将度量发送到stackdriver。但是,空闲实例上允许的CPU百分比可以随时更改,并且您的进程会在没有任何更改的情况下停止


也许好的模式是在代码中执行显式的度量发送,而不是依靠自动调用频率,通过使用千分尺或直接使用Stackdriver API。

您是否找到过这个问题的答案?不幸的是,还没有找到@Hilikus