本文整理匯總了Golang中github.com/Symantec/scotty/store.Store.ByEndpointStrategy方法的典型用法代碼示例。如果您正苦於以下問題:Golang Store.ByEndpointStrategy方法的具體用法?Golang Store.ByEndpointStrategy怎麽用?Golang Store.ByEndpointStrategy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/Symantec/scotty/store.Store
的用法示例。
在下文中一共展示了Store.ByEndpointStrategy方法的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
}