你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

LoadTestRunClient.GetMetricsAsync 方法

定义

列出负载测试运行的指标值。

public virtual Azure.AsyncPageable<BinaryData> GetMetricsAsync (string testRunId, string metricName, string metricNamespace, string timespan, Azure.Core.RequestContent content = default, string aggregation = default, string interval = default, Azure.RequestContext context = default);
abstract member GetMetricsAsync : string * string * string * string * Azure.Core.RequestContent * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
override this.GetMetricsAsync : string * string * string * string * Azure.Core.RequestContent * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
Public Overridable Function GetMetricsAsync (testRunId As String, metricName As String, metricNamespace As String, timespan As String, Optional content As RequestContent = Nothing, Optional aggregation As String = Nothing, Optional interval As String = Nothing, Optional context As RequestContext = Nothing) As AsyncPageable(Of BinaryData)

参数

testRunId
String

负载测试运行的唯一名称只能包含小写字母、数字、下划线或连字符字符。

metricName
String

指标名称。

metricNamespace
String

要查询其指标定义的指标命名空间。

timespan
String

查询的时间跨度。 它是格式为“startDateTime_ISO/endDateTime_ISO”的字符串。

content
RequestContent

要作为请求正文发送的内容。 请求正文架构的详细信息,请参阅下面的“备注”部分。

aggregation
String

聚合。

interval
String

间隔 (即查询的 timegrain) 。 允许的值:“PT5S” |“PT10S” |“PT1M” |“PT5M” |“PT1H”。

context
RequestContext

请求上下文,它可以基于每个调用替代客户端管道的默认行为。

返回

AsyncPageable<T>包含对象列表的服务中的 BinaryData 。 集合中每个项目的正文架构的详细信息,请参阅下面的“备注”部分。

例外

testRunIdmetricNamemetricNamespacetimespan 为 null。

testRunId 是一个空字符串,预期为非空。

服务返回了不成功状态代码。

示例

此示例演示如何使用所需参数调用 GetMetricsAsync 并分析结果。

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new LoadTestRunClient(endpoint, credential);

var data = new {};

await foreach (var data in client.GetMetricsAsync("<testRunId>", "<metricname>", "<metricNamespace>", "<timespan>", RequestContent.Create(data)))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.ToString());
}

此示例演示如何使用所有参数和请求内容调用 GetMetricsAsync,以及如何分析结果。

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new LoadTestRunClient(endpoint, credential);

var data = new {
    filters = new[] {
        new {
            name = "<name>",
            values = new[] {
                "<String>"
            },
        }
    },
};

await foreach (var data in client.GetMetricsAsync("<testRunId>", "<metricname>", "<metricNamespace>", "<timespan>", RequestContent.Create(data), "<aggregation>", "<interval>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("data")[0].GetProperty("timestamp").ToString());
    Console.WriteLine(result.GetProperty("data")[0].GetProperty("value").ToString());
    Console.WriteLine(result.GetProperty("dimensionValues")[0].GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("dimensionValues")[0].GetProperty("value").ToString());
}

注解

下面是请求有效负载的 JSON 架构,以及可分页响应中的一项。

请求正文:

MetricRequestPayload架构:

{
  filters: [
    {
      name: string, # Optional. The dimension name
      values: [string], # Optional. The dimension values. Maximum values can be 20.
    }
  ], # Optional. Get metrics for specific dimension values. Example: Metric contains dimension like SamplerName, Error. To retrieve all the time series data where SamplerName is equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be {"SamplerName", ["HTTPRequest1", "HTTPRequest2"}
}

响应正文:

MetricsValue架构:

{
  data: [
    {
      timestamp: string, # Optional. The timestamp for the metric value in ISO 8601 format.
      value: number, # Optional. The metric value.
    }
  ], # Optional. An array of data points representing the metric values.
  dimensionValues: [
    {
      name: string, # Optional. The name of the dimension.
      value: string, # Optional. The value of the dimension.
    }
  ], # Optional. The dimension values 
}

适用于