Compartir a través de


LoadTestRunClient.GetMetrics Método

Definición

Enumere los valores de métrica de una ejecución de prueba 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

El nombre único de la ejecución de la prueba de carga debe contener solo caracteres alfabéticos, numéricos, de subrayado o guiones en minúsculas.

metricName
String

Nombre de la métrica.

metricNamespace
String

Espacio de nombres de métrica para el que se van a consultar las definiciones de métricas.

timespan
String

El intervalo de tiempo de la consulta. Es una cadena con el siguiente formato "startDateTime_ISO/endDateTime_ISO".

content
RequestContent

Contenido que se va a enviar como el cuerpo de la solicitud. Los detalles del esquema del cuerpo de la solicitud se encuentran en la sección Comentarios a continuación.

aggregation
String

Agregación.

interval
String

Intervalo (es decir, timegrain) de la consulta. Valores permitidos: "PT5S" | "PT10S" | "PT1M" | "PT5M" | "PT1H".

context
RequestContext

Contexto de solicitud, que puede invalidar los comportamientos predeterminados de la canalización de cliente por llamada.

Devoluciones

del Pageable<T> servicio que contiene una lista de BinaryData objetos. Los detalles del esquema de cuerpo de cada elemento de la colección se encuentran en la sección Comentarios siguiente.

Excepciones

testRunId, metricName, metricNamespace o timespan es un valor null.

testRunId es una cadena vacía y se esperaba que no estuviera vacía.

El servicio devolvió un código de estado no correcto.

Ejemplos

En este ejemplo se muestra cómo llamar a GetMetrics con parámetros necesarios y analizar el 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());
}

En este ejemplo se muestra cómo llamar a GetMetrics con todos los parámetros y el contenido de la solicitud, y cómo analizar el 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());
}

Comentarios

A continuación se muestra el esquema JSON de la carga de solicitud y un elemento de la respuesta paginable.

Cuerpo de la solicitud:

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

Cuerpo de la respuesta:

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 
}

Se aplica a