use*_*087 5 monitoring metrics python-3.x google-cloud-stackdriver
编辑:我想我想出了这个问题。只有开始时间需要保持不变,直到需要重置累计数字,所以在我的情况下,一天的开始将在午夜之后重置,但结束时间将始终是当前时间。我仍在测试这个,所以我会在得到更多结果后立即关闭这个问题。
EDIT2:因此,将时间间隔设置为每天开始时开始并在发送时结束,图表仍然显示每次调用 client.create_time_series 时的峰值。这是我正在寻找的示例(忽略右轴,数字应该更高,但我的 photoshop 技能不是很好):
这就是我目前得到的:

在解释错误之前,以下是我尝试使用此自定义监控指标实现的目标。我的程序每隔一段时间记录一些处理过的数据,我想查看每天处理的总数。所以我认为累积指标是正确的选择,每天重置间隔。问题是我不确定如何实现这一目标。
这就是我正在做的事情。每次处理一些新数据时,我都会使用client.create_time_series(project_name, [series])where将其添加到指标中,其中[series]包含point.value.int64_value当时处理的数据数量中的一个。现在我的问题是间隔。我认为间隔应该是每天的开始和结束时间,我认为在一天结束时,指标会从 0 开始。所以我这样做了:
point = series.points.add()
point.value.int64_value = num
startDay = time.mktime(datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0).timetuple())
endDay = time.mktime(datetime.datetime.now().replace(hour=23, minute=59, second=59, microsecond=0).timetuple())
point.interval.start_time.seconds = int(startDay)
point.interval.start_time.nanos = int((startDay - point.interval.start_time.seconds) * 10**9)
point.interval.end_time.seconds = int(endDay)
point.interval.end_time.nanos = int((endDay - point.interval.end_time.seconds) * 10**9)
client.create_time_series(project_name, [series])
Run Code Online (Sandbox Code Playgroud)
我得到这个错误:
400 Field timeSeries[0].points[0].interval.end had an invalid value of \"2018-10-04T16:59:59-07:00\": The end time is too far in the future. A point cannot be written more than 5 minutes into the future.
Run Code Online (Sandbox Code Playgroud)
如果我将时间间隔设置为当前时间,对于发送的每个指标,我的图表中只会出现一堆峰值。我想看到的是在 1 天内从 00:00:00 到 23:59:59 累积的单行,然后在 00:00:00 再次重置。我想要这个,以便我可以看到与每隔一天相比一天处理了多少数据,以便我可以查看我的过程中是否有任何异常。
所以我想我可能误解了累积指标的工作原理。有没有更好的方法来实现我想要做的事情?
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |