///<summary>GET _stats/{metric_family} ///<pre>http://elasticsearch.org/guide/reference/api/admin-indices-stats/</pre> ///</summary> ///<param name="metric_family">Limit the information returned to a specific metric</param> public Task<ConnectionStatus> IndicesStatsGetAsync(MetricFamilyOptions metric_family, Func<IndicesStatsGetQueryString, IndicesStatsGetQueryString> queryString = null) { metric_family.ThrowIfNull("metric_family"); var url = "_stats/{metric_family}".Inject(new { metric_family = Stringify(metric_family) }); NameValueCollection nv = null; if (queryString != null) { var qs = queryString(new IndicesStatsGetQueryString()); if (qs != null) nv = qs.NameValueCollection; } return this.DoRequestAsync("GET", url, data: null, queryString: nv); }
///<summary>GET /_nodes/{node_id}/stats/{metric_family} ///<pre>http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-stats/</pre> ///</summary> ///<param name="metric_family">Limit the information returned to a certain metric family</param> ///<param name="node_id">A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes</param> public Task<ConnectionStatus> ClusterNodeStatsGetAsync(MetricFamilyOptions metric_family, string node_id, Func<ClusterNodeStatsGetQueryString, ClusterNodeStatsGetQueryString> queryString = null) { metric_family.ThrowIfNull("metric_family"); node_id.ThrowIfNull("node_id"); var url = "/_nodes/{node_id}/stats/{metric_family}".Inject(new { metric_family = Stringify(metric_family), node_id = Stringify(node_id) }); NameValueCollection nv = null; if (queryString != null) { var qs = queryString(new ClusterNodeStatsGetQueryString()); if (qs != null) nv = qs.NameValueCollection; } return this.DoRequestAsync("GET", url, data: null, queryString: nv); }
///<summary>GET /{index}/_stats/{metric_family} ///<pre>http://elasticsearch.org/guide/reference/api/admin-indices-stats/</pre> ///</summary> ///<param name="index">A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices</param> ///<param name="metric_family">Limit the information returned to a specific metric</param> public ConnectionStatus IndexStatsGet(string index, MetricFamilyOptions metric_family, Func<IndicesStatsGetQueryString, IndicesStatsGetQueryString> queryString = null) { index.ThrowIfNull("index"); metric_family.ThrowIfNull("metric_family"); var url = "/{index}/_stats/{metric_family}".Inject(new { index = Stringify(index), metric_family = Stringify(metric_family) }); NameValueCollection nv = null; if (queryString != null) { var qs = queryString(new IndicesStatsGetQueryString()); if (qs != null) nv = qs.NameValueCollection; } return this.DoRequest("GET", url, data: null, queryString: nv); }