Partager via


LoadTestRunClient.GetMetricsAsync Méthode

Définition

Répertoriez les valeurs de métrique d’une série de tests de charge.

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)

Paramètres

testRunId
String

Le nom unique de l’exécution de test de charge doit contenir uniquement des caractères alphabétiques, numériques, de soulignement ou de traits d’union en minuscules.

metricName
String

Nom de la mesure.

metricNamespace
String

Espace de noms de métrique pour lequel interroger les définitions de métriques.

timespan
String

Intervalle de temps de la requête. Il s’agit d’une chaîne au format « startDateTime_ISO/endDateTime_ISO ».

content
RequestContent

Contenu à envoyer en tant que corps de la demande. Les détails du schéma du corps de la demande se trouvent dans la section Remarques ci-dessous.

aggregation
String

Agrégation.

interval
String

Intervalle (c’est-à-dire timegrain) de la requête. Valeurs autorisées : « PT5S » | « PT10S » | « PT1M » | « PT5M » | « PT1H ».

context
RequestContext

Contexte de requête, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

à AsyncPageable<T> partir du service contenant une liste d’objets BinaryData . Les détails du schéma de corps pour chaque élément de la collection se trouvent dans la section Remarques ci-dessous.

Exceptions

testRunId, metricName, metricNamespace ou timespan a la valeur Null.

testRunId est une chaîne vide, et on s’attendait à ce qu’elle ne soit pas vide.

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler GetMetricsAsync avec les paramètres requis et analyser le résultat.

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());
}

Cet exemple montre comment appeler GetMetricsAsync avec tous les paramètres et demander le contenu, et comment analyser le résultat.

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());
}

Remarques

Vous trouverez ci-dessous le schéma JSON pour la charge utile de la demande et un élément dans la réponse paginable.

Corps de la demande :

Schéma pour 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"}
}

Corps de réponse :

Schéma pour 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 
}

S’applique à