func respondWithMetrics(host string, mets []core.CatalogedMetric, w http.ResponseWriter) { b := rbody.NewMetricsReturned() for _, met := range mets { rt := met.Policy().RulesAsTable() policies := make([]rbody.PolicyTable, 0, len(rt)) for _, r := range rt { policies = append(policies, rbody.PolicyTable{ Name: r.Name, Type: r.Type, Default: r.Default, Required: r.Required, Minimum: r.Minimum, Maximum: r.Maximum, }) } b = append(b, rbody.Metric{ Namespace: core.JoinNamespace(met.Namespace()), Version: met.Version(), LastAdvertisedTimestamp: met.LastAdvertisedTime().Unix(), Policy: policies, Href: catalogedMetricURI(host, met), }) } sort.Sort(b) respond(200, b, w) }
func respondWithMetrics(host string, mets []core.CatalogedMetric, w http.ResponseWriter) { b := rbody.NewMetricsReturned() for _, met := range mets { rt := met.Policy().RulesAsTable() policies := make([]rbody.PolicyTable, 0, len(rt)) for _, r := range rt { policies = append(policies, rbody.PolicyTable{ Name: r.Name, Type: r.Type, Default: r.Default, Required: r.Required, Minimum: r.Minimum, Maximum: r.Maximum, }) } dyn, indexes := met.Namespace().IsDynamic() var dynamicElements []rbody.DynamicElement if dyn { dynamicElements = getDynamicElements(met.Namespace(), indexes) } b = append(b, rbody.Metric{ Namespace: met.Namespace().String(), Version: met.Version(), LastAdvertisedTimestamp: met.LastAdvertisedTime().Unix(), Description: met.Description(), Dynamic: dyn, DynamicElements: dynamicElements, Unit: met.Unit(), Policy: policies, Href: catalogedMetricURI(host, met), }) } sort.Sort(b) respond(200, b, w) }