本文整理汇总了Golang中github.com/Symantec/scotty/store.Store.ByPrefixAndEndpointStrategy方法的典型用法代码示例。如果您正苦于以下问题:Golang Store.ByPrefixAndEndpointStrategy方法的具体用法?Golang Store.ByPrefixAndEndpointStrategy怎么用?Golang Store.ByPrefixAndEndpointStrategy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Symantec/scotty/store.Store
的用法示例。
在下文中一共展示了Store.ByPrefixAndEndpointStrategy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: gatherDataForEndpoint
// gatherDataForEndpoint serves api/hosts pages.
// metricStore is the metric store.
// endpoint is the endpoint from which we are getting historical metrics.
// canonicalPath is the path of the metrics or the empty string for all
// metrics. canonicalPath is returned from canonicalisePath().
// history is the amount of time to go back in minutes.
// If isSingleton is true, fetched metrics have to match canonicalPath
// exactly.
// Otherwise fetched metrics have to be found underneath canonicalPath.
// On no match, gatherDataForEndpoint returns an empty
// messages.EndpointMetricsList instance
func gatherDataForEndpoint(
metricStore *store.Store,
endpoint *collector.Endpoint,
canonicalPath string,
history int,
isSingleton bool) (result messages.EndpointMetricList) {
result = make(messages.EndpointMetricList, 0)
now := duration.TimeToFloat(time.Now())
appender := newEndpointMetricsAppender(&result)
if canonicalPath == "" {
metricStore.ByEndpointStrategy(
endpoint,
now-60.0*float64(history),
math.Inf(1),
store.GroupMetricByKey,
appender)
} else {
metricStore.ByNameAndEndpointStrategy(
canonicalPath,
endpoint,
now-60.0*float64(history),
math.Inf(1),
store.GroupMetricByKey,
appender)
if len(result) == 0 && !isSingleton {
metricStore.ByPrefixAndEndpointStrategy(
canonicalPath+"/",
endpoint,
now-60.0*float64(history),
math.Inf(1),
store.GroupMetricByKey,
appender)
}
}
sortMetricsByPath(result)
return
}