Doc("Get service metrics from a specific namespace").
Param(webservice.PathParameter("namespace","name of the namespace")).
Param(webservice.PathParameter("service","name of the service")).
Param(webservice.QueryParameter("filters[]","type of metrics type, e.g. request_count, request_duration, request_error_count")).
Param(webservice.QueryParameter("filters[]","type of metrics type, fetch all metrics when empty, e.g. request_count, request_duration, request_error_count").DefaultValue("[]")).
Param(webservice.QueryParameter("queryTime","from which UNIX time to extract metrics")).
Param(webservice.QueryParameter("duration","metrics duration, in seconds")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("1800")).
Param(webservice.QueryParameter("step","step between graph data points, in seconds.").DefaultValue("15")).
Param(webservice.QueryParameter("rateInterval","metrics rate intervals, e.g. 20s").DefaultValue("1m")).
Param(webservice.QueryParameter("direction","traffic direction: 'inbound' or 'outbound'").DefaultValue("outbound")).
Param(webservice.QueryParameter("quantiles[]","list of quantiles to fetch, fetch no quantiles when empty. eg. 0.5, 0.9, 0.99").DefaultValue("[]")).
Param(webservice.QueryParameter("byLabels[]","list of labels to use for grouping metrics(via Prometheus 'by' clause), e.g. source_workload, destination_service_name").DefaultValue("[]")).
Param(webservice.QueryParameter("requestProtocol","request protocol for the telemetry, e.g. http/tcp/grpc").DefaultValue("all protocols")).
Param(webservice.QueryParameter("reporter","istio telemetry reporter, 'source' or 'destination'").DefaultValue("source")).
Param(webservice.PathParameter("namespace","name of the namespace")).
Param(webservice.PathParameter("app","name of the workload label app value")).
Param(webservice.QueryParameter("filters[]","type of metrics type, e.g. request_count, request_duration, request_error_count")).
Param(webservice.PathParameter("app","name of the app")).
Param(webservice.QueryParameter("filters[]","type of metrics type, fetch all metrics when empty, e.g. request_count, request_duration, request_error_count").DefaultValue("[]")).
Param(webservice.QueryParameter("queryTime","from which UNIX time to extract metrics")).
Param(webservice.QueryParameter("duration","metrics duration, in seconds")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("1800")).
Param(webservice.QueryParameter("step","step between graph data points, in seconds.").DefaultValue("15")).
Param(webservice.QueryParameter("rateInterval","metrics rate intervals, e.g. 20s").DefaultValue("1m")).
Param(webservice.QueryParameter("direction","traffic direction: 'inbound' or 'outbound'").DefaultValue("outbound")).
Param(webservice.QueryParameter("quantiles[]","list of quantiles to fetch, fetch no quantiles when empty. eg. 0.5, 0.9, 0.99").DefaultValue("[]")).
Param(webservice.QueryParameter("byLabels[]","list of labels to use for grouping metrics(via Prometheus 'by' clause), e.g. source_workload, destination_service_name").DefaultValue("[]")).
Param(webservice.QueryParameter("requestProtocol","request protocol for the telemetry, e.g. http/tcp/grpc").DefaultValue("all protocols")).
Param(webservice.QueryParameter("reporter","istio telemetry reporter, 'source' or 'destination'").DefaultValue("source")).
Returns(http.StatusOK,"ok",MetricsResponse{}).
Writes(MetricsResponse{})).
Produces(restful.MIME_JSON)
// Get workload metrics
// Get /namespaces/{namespace}/workloads/{workload}/metrics
Doc("Get workload metrics from a specific namespace").
Param(webservice.PathParameter("namespace","name of the namespace").Required(true)).
Param(webservice.PathParameter("workload","name of the workload").Required(true)).
Param(webservice.QueryParameter("filters[]","type of metrics type, e.g. request_count, request_duration, request_error_count")).
Param(webservice.PathParameter("service","name of the service")).
Param(webservice.QueryParameter("filters[]","type of metrics type, fetch all metrics when empty, e.g. request_count, request_duration, request_error_count").DefaultValue("[]")).
Param(webservice.QueryParameter("queryTime","from which UNIX time to extract metrics")).
Param(webservice.QueryParameter("duration","metrics duration, in seconds")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("1800")).
Param(webservice.QueryParameter("step","step between graph data points, in seconds.").DefaultValue("15")).
Param(webservice.QueryParameter("rateInterval","metrics rate intervals, e.g. 20s").DefaultValue("1m")).
Param(webservice.QueryParameter("direction","traffic direction: 'inbound' or 'outbound'").DefaultValue("outbound")).
Param(webservice.QueryParameter("quantiles[]","list of quantiles to fetch, fetch no quantiles when empty. eg. 0.5, 0.9, 0.99").DefaultValue("[]")).
Param(webservice.QueryParameter("byLabels[]","list of labels to use for grouping metrics(via Prometheus 'by' clause), e.g. source_workload, destination_service_name").DefaultValue("[]")).
Param(webservice.QueryParameter("requestProtocol","request protocol for the telemetry, e.g. http/tcp/grpc").DefaultValue("all protocols")).
Param(webservice.QueryParameter("reporter","istio telemetry reporter, 'source' or 'destination'").DefaultValue("source")).
Doc("Get workload metrics from a specific namespace").
Param(webservice.PathParameter("namespace","name of the namespace").Required(true)).
Param(webservice.QueryParameter("filters[]","type of metrics type, e.g. request_count, request_duration, request_error_count")).
Param(webservice.PathParameter("service","name of the service")).
Param(webservice.QueryParameter("filters[]","type of metrics type, fetch all metrics when empty, e.g. request_count, request_duration, request_error_count").DefaultValue("[]")).
Param(webservice.QueryParameter("queryTime","from which UNIX time to extract metrics")).
Param(webservice.QueryParameter("duration","metrics duration, in seconds")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("1800")).
Param(webservice.QueryParameter("step","step between graph data points, in seconds.").DefaultValue("15")).
Param(webservice.QueryParameter("rateInterval","metrics rate intervals, e.g. 20s").DefaultValue("1m")).
Param(webservice.QueryParameter("direction","traffic direction: 'inbound' or 'outbound'").DefaultValue("outbound")).
Param(webservice.QueryParameter("quantiles[]","list of quantiles to fetch, fetch no quantiles when empty. eg. 0.5, 0.9, 0.99").DefaultValue("[]")).
Param(webservice.QueryParameter("byLabels[]","list of labels to use for grouping metrics(via Prometheus 'by' clause), e.g. source_workload, destination_service_name").DefaultValue("[]")).
Param(webservice.QueryParameter("requestProtocol","request protocol for the telemetry, e.g. http/tcp/grpc").DefaultValue("all protocols")).
Param(webservice.QueryParameter("reporter","istio telemetry reporter, 'source' or 'destination'").DefaultValue("source")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("10m")).
Param(webservice.QueryParameter("graphType","type of the generated service graph. Available graph types: [app, service, versionedApp, workload].").DefaultValue("workload")).
Param(webservice.QueryParameter("groupBy","app box grouping characteristic. Available groupings: [app, none, version].").DefaultValue("none")).
Param(webservice.QueryParameter("queryTime","from which time point in UNIX timestamp, default now")).
Param(webservice.QueryParameter("injectServiceNodes","flag for injecting the requested service node between source and destination nodes.").DefaultValue("false")).
Param(webservice.QueryParameter("duration","duration of the query period, in seconds").DefaultValue("10m")).
Param(webservice.QueryParameter("graphType","type of the generated service graph. Available graph types: [app, service, versionedApp, workload].").DefaultValue("workload")).
Param(webservice.QueryParameter("groupBy","app box grouping characteristic. Available groupings: [app, none, version].").DefaultValue("none")).
Param(webservice.QueryParameter("queryTime","from which time point in UNIX timestamp, default now")).
Param(webservice.QueryParameter("injectServiceNodes","flag for injecting the requested service node between source and destination nodes.").DefaultValue("false")).