Compartilhar via


LoadTestRunClient.GetMetrics Método

Definição

Liste os valores de métrica para uma execução de teste de carga.

public virtual Azure.Pageable<BinaryData> GetMetrics (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 GetMetrics : string * string * string * string * Azure.Core.RequestContent * string * string * Azure.RequestContext -> Azure.Pageable<BinaryData>
override this.GetMetrics : string * string * string * string * Azure.Core.RequestContent * string * string * Azure.RequestContext -> Azure.Pageable<BinaryData>
Public Overridable Function GetMetrics (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 Pageable(Of BinaryData)

Parâmetros

testRunId
String

O nome exclusivo para a execução do teste de carga deve conter apenas caracteres alfabéticos, numéricos, sublinhados ou hifens de minúsculas.

metricName
String

Nome da métrica.

metricNamespace
String

Namespace de métrica para o qual consultar definições de métrica.

timespan
String

O período de tempo da consulta. É uma cadeia de caracteres com o seguinte formato 'startDateTime_ISO/endDateTime_ISO'.

content
RequestContent

O conteúdo a ser enviado como o corpo da solicitação. Os detalhes do esquema do corpo da solicitação estão na seção Comentários abaixo.

aggregation
String

A agregação.

interval
String

O intervalo (ou seja, timegrain) da consulta. Valores permitidos: "PT5S" | "PT10S" | "PT1M" | "PT5M" | "PT1H".

context
RequestContext

O contexto de solicitação, que pode substituir os comportamentos padrão do pipeline do cliente por chamada.

Retornos

O Pageable<T> do serviço que contém uma lista de BinaryData objetos. Os detalhes do esquema do corpo de cada item na coleção estão na seção Comentários abaixo.

Exceções

testRunId, metricName, metricNamespace ou timespan é nulo.

testRunId é uma cadeia de caracteres vazia e esperava-se que não estivesse vazia.

O serviço retornou um código de status sem êxito.

Exemplos

Este exemplo mostra como chamar GetMetrics com parâmetros necessários e analisar o resultado.

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

var data = new {};

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

Este exemplo mostra como chamar GetMetrics com todos os parâmetros e conteúdo da solicitação e como analisar o resultado.

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>"
            },
        }
    },
};

foreach (var data in client.GetMetrics("<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());
}

Comentários

Abaixo está o esquema JSON para o conteúdo da solicitação e um item na resposta paginável.

Corpo da solicitação:

Esquema para 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"}
}

Corpo da resposta:

Esquema para 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 
}

Aplica-se a